mudfish-exclude lietotāja rokasgrāmata
Šī programma pieejama tikai Mudfish Cloud VPN 6.5.4 vai jaunākā versijā.
mudfish-exclude ir Linux Mudfish komandrindas rīks, kas palaiž noteiktas programmas ārpus Mudfish maršruta. Tas īpaši noder Full VPN režīmā, ja pārlūka, saziņas programmas, video atskaņotāja vai lejupielādes rīka datplūsmu vēlaties sūtīt tieši pa esošo interneta pieslēgumu.
일반 프로그램 -> 미꾸라지 경로 -> 중계 서버
mudfish-exclude 앱 -> 기존 기본 경로 -> 인터넷
Sākotnējā shēma rāda: parasta programma → Mudfish maršruts → starpniekserveris; mudfish-exclude lietotne → esošais noklusējuma maršruts → internets.
Rīks nepievieno iestatījumus Mudfish panelim. Izslēdzamo programmu vienkārši palaidiet ar mudfish-exclude, nevis tās parasto palaišanas komandu.
Atbalsts: pašlaik tikai Linux un IPv4. Rīku nevar izmantot Windows, macOS vai Android; IPv6 datplūsmai netiek piemērota atsevi šķa apiešanas politika.
Nepieciešamā vide
Jāizpilda visi šie nosacījumi:
- Jābūt instalētai Mudfish Linux versijai.
- cgroup v2 jābūt piemontētam pie
/sys/fs/cgroup. - Jābūt pieejamām komandām
ip,iptablesun iptables cgroup match funkcijai. - Nepieciešamas
sudotiesības politiku maršrutēšanas un ugunsmūra noteikumu konfigurēšanai. - Linux main maršrutēšanas tabulā jābūt derīgam IPv4 noklusējuma maršrutam.
Instalētais izpildfails parasti atrodas šeit; korejiešu vietturis apzīmē Mudfish versiju:
/opt/mudfish/<미꾸라지 버전>/bin/mudfish-exclude
Pašreizējo instalācijas vietu var atrast ar:
ls /opt/mudfish/*/bin/mudfish-exclude
Ja izpildfails nav iekļauts PATH, piemēros aizstājiet mudfish-exclude ar atrasto pilno ceļu. Piemēram, versijas 6.5.4 noklusējuma ceļš ir /opt/mudfish/6.5.4/bin/mudfish-exclude.
Pamata lietošana
- Palaidiet Mudfish un izveidojiet savienojumu ar vēlamo elementu vai Full VPN režīmu.
- Ja izslēdzamā programma jau darbojas, pilnībā aizveriet to, ieskaitot sistēmas teknes un fona procesus.
- Terminālī palaidiet to no jauna šādā formātā. Korejiešu vietturi apzīmē programmu un tās opcijas.
sudo mudfish-exclude <프로그램> [프로그램 옵션...]
Piemēram, lai izslēgtu Discord no Mudfish:
sudo mudfish-exclude discord
Lai izslēgtu Firefox un atvērtu privātās pārlūkošanas logu:
sudo mudfish-exclude firefox --private-window
Ja izpildfaila ceļā ir atstarpes, ievietojiet to pēdiņās:
sudo mudfish-exclude "/path/to/My Program" --option
sudo izmanto tīkla politikas iestatīšanai. Pati programma, kas palaista ar sudo mudfish-exclude ..., ja iespējams, darbojas ar sākotnējā sudo izsaucēja UID, GID, mājas mapi un darbvirsmas sesijas vidi.
Svarīgi zināt
- Izslēgšanas politika attiecas uz jauno procesu, ko palaiž
mudfish-exclude, un tā bērnprocesiem. - Jau darbojošai programmai politiku pievienot nevar. Vienas instances programmu vispirms pilnībā aizveriet, lai tā neizmantotu esošo procesu.
- Parastajā vienreizējās palaišanas režīmā politika automātiski tiek noņemta, kad beidzas programma un visi tās bērnprocesi.
- Vienlaikus var palaist vairākas
mudfish-excludekomandas. Kopīgā politika tiek noņemta pēc pēdējās izslēgtās programmas beigām. - Izslēgtās programmas IPv4 datplūsma neizmanto Mudfish starpniekserveri, paātrināšanu vai šī maršruta publisko IP adresi.
Darbības pārbaude
Visvieglāk pārbaudīt, ja publiskā IPv4 adrese pirms Full VPN savienojuma atšķiras no Full VPN starpniekservera publiskās IPv4 adreses.
Vispirms ar aktīvu Full VPN parastā terminālī pārbaudiet adresi:
curl -4 https://myip.mudfish.net
Izpildiet to pašu komandu ar mudfish-exclude:
sudo mudfish-exclude curl -4 https://myip.mudfish.net
Pirmajam rezultātam jābūt Mudfish starpniekservera adresei, otrajam — sākotnējā interneta pieslēguma adresei. Opcija -4 ierobežo pārbaudi uz IPv4 atbilstoši rīka atbalstam.
Pārbaudei pārlūkā vispirms pilnībā aizveriet pārlūku, palaidiet to šādi un atveriet https://myip.mudfish.net:
sudo mudfish-exclude firefox
Beigšana un politikas noņemšana
Normāli beidzot darbu, atsevišķa tīrīšanas komanda nav vajadzīga. Taču politika var palikt, ja mudfish-exclude process piespiedu kārtā pārtraukts, terminālis neparedzēti aizvērts vai sistēmas darbība pārtraukta.
Vispirms aizveriet visas ar šo rīku palaistās programmas un tad izpildiet:
sudo mudfish-exclude --cleanup
Izmantojot
--cleanup, kamēr izslēgtas programmas vēl darbojas, to apiešana var nekavējoties pārstāt darboties.
Komandas opcijas
Sākotnējā sintaksē korejiešu vietturi apzīmē lietojumu, opcijas, programmu un programmas opcijas:
사용법: mudfish-exclude [옵션] 프로그램 [프로그램 옵션...]
| Opcija | Apraksts |
|---|---|
-h, --help | Parāda palīdzību. |
--setup | Tikai iestata izslēgšanas tīkla politiku un beidz darbu. Programmu norādīt nevar. |
--cleanup | Noņem izslēgšanas tīkla politiku un beidz darbu. Programmu norādīt nevar. |
--no-setup | Nemaina esošo politiku, ieiet norādītajā cgroup un palaiž programmu. |
--cgroup NAME | Norāda cgroup v2 nosaukumu. Noklusējums ir mudfish-exclude. |
--mark VALUE | Norāda paketēm izmantojamo ugunsmūra mark. Noklusējums ir 0x6d660001. |
--priority VALUE | Norāda IPv4 politikas noteikuma prioritāti. Noklusējums ir 8252. |
--table VALUE | Norāda maršrutēšanas tabulas numuru esošajam noklusējuma maršrutam. Noklusējums ir 8252. |
Lai nepārprotami beigtu opciju apstrādi, programmu var norādīt pēc --:
sudo mudfish-exclude -- firefox --private-window
Politikas atkārtota izmantošana vairākām programmām
Parastai lietošanai iesakām katru programmu palaist vienreizējā režīmā. Ja politiku vēlaties vienreiz iestatīt manuāli un izmantot vairākās komandās:
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --no-setup firefox
Pēc visu programmu aizvēršanas obligāti noņemiet politiku:
sudo mudfish-exclude --cleanup
Manuālajā režīmā automātiska noņemšana nenotiek. Dažas darbvirsmas programmas darbības laikā var pāriet uz citu systemd cgroup; tām piemērotāks ir noklusējuma vienreizējās palaišanas režīms, kas seko cgroup maiņai un automātiski noņem politiku.
Ja maināt --cgroup, --mark, --priority vai --table, vienādas vērtības jālieto ar --setup, --no-setup un --cleanup. Pielāgotās vērtības nedrīkst konfliktēt ar sistēmas esošajām ugunsmūra atzīmēm vai politiku maršrutēšanas noteikumiem.
Problēmu novēršana
mudfish-exclude: command not found
Izpildfails nav iekļauts PATH. Atrodiet instalācijas vietu un palaidiet ar pilno ceļu:
ls /opt/mudfish/*/bin/mudfish-exclude
sudo /opt/mudfish/6.5.4/bin/mudfish-exclude discord
Otrās komandas versijas numuru pielāgojiet instalētajai versijai.
network policy setup requires root
Nav tiesību iestatīt tīkla politiku. Pievienojiet komandas priekšā sudo un mēģiniet vēlreiz:
sudo mudfish-exclude discord
cgroup v2 is required at /sys/fs/cgroup
Sistēma neizmanto cgroup v2 vai tas nav piemontēts vajadzīgajā vietā. Pārbaudiet ar šo komandu; korejiešu izvadteksts nozīmē, ka cgroup v2 ir pieejams:
test -f /sys/fs/cgroup/cgroup.controllers && echo "cgroup v2 사용 가능"
Ja nekas netiek izvadīts, noskaidrojiet, kā savā distributīvā ieslēgt cgroup v2.
iptables rule add failed vai cgroup match kļūda
Pārbaudiet, vai iptables ir instalēts un kodols un iptables atbalsta cgroup match. Arī nftables distributīvos rīks tieši izmanto iptables saderības komandu, tāpēc nepieciešams darbojošs iptables saderības slānis.
failed to find the IPv4 default route
Main maršrutēšanas tabulā nav atrasts esošā interneta pieslēguma IPv4 noklusējuma maršruts. Pārbaudiet, vai šīs komandas izvadē ir default maršruts:
ip -4 route show default table main
Ja noklusējuma maršruta nav vai tas jau norāda uz cita VPN saskarni, mudfish-exclude nevar konfigurēt sākotnējo interneta ceļu.
Publiskā IP adrese pēc izslēgšanas nemainās
Secīgi pārbaudiet:
- Vai Full VPN patiešām ir savienots un parastā palaišanā redzama starpniekservera IP adrese?
- Pilnībā aizveriet programmas esošos un fona procesus un palaidiet to no jauna.
- Izmantojiet
curl -4vai citu IPv4 pārbaudi, lai nesajauktu rezultātu ar IPv6. - Vai programma nenodod komandas atsevišķam servisam vai jau darbojošam palaidējam? Izslēgšana attiecas tikai uz
mudfish-excludejaunizveidoto procesu saimi. - Vai
ip -4 route show default table mainnoklusējuma maršruts norāda uz īsto interneta saskarni?
Programma aizvērta, bet termināļa komanda nebeidzas
Izslēgšanas cgroup joprojām var darboties bērnprocess vai fona process. Aizveriet arī saistītās teknes ikonas, palaidējus un atjaunināšanas procesus. Noklusējuma režīms pirms politikas noņemšanas gaida visu bērnprocesu beigas.
Pēc neparedzētas pārtraukšanas tīkls darbojas nepareizi
Aizveriet visas ar rīku palaistās programmas un noņemiet atlikušo politiku:
sudo mudfish-exclude --cleanup
Ja problēma turpinās, aizveriet Mudfish, pārbaudiet sistēmas noklusējuma maršrutu un iptables noteikumus un pieslēdzieties no jauna.
Darbības princips
mudfish-exclude ievieto palaižamo programmu atsevišķā cgroup v2 un šīs grupas IPv4 paketēm piešķir iptables mark. Paketes ar šo atzīmi caur atsevišķu politiku maršrutēšanas tabulu tiek novirzītas uz Linux main tabulā atrasto noklusējuma maršrutu, piemērojot nepieciešamo NAT MASQUERADE.
Šis process nemaina mudrun, mudflow, mudfish vai mudwfp_proxy iestatījumus vai koplietotās atmiņas stāvokli. Izslēgšanas politika darbojas tikai operētājsistēmas cgroup, iptables un IPv4 politiku maršrutēšanas līmeņos.