Používateľská príručka mudfish-exclude
Tento program je dostupný iba v Mudfish Cloud VPN 6.5.4 alebo novšom.
mudfish-exclude je nástroj príkazového riadka pre Mudfish v Linuxe, ktorý spúšťa vybrané programy mimo smerovacej cesty Mudfish. Je užitočný najmä pri Full VPN, keď chcete prevádzku prehliadača, komunikátora, prehrávača videa alebo nástroja na sťahovanie posielať priamo cez pôvodné internetové pripojenie.
일반 프로그램 -> 미꾸라지 경로 -> 중계 서버
mudfish-exclude 앱 -> 기존 기본 경로 -> 인터넷
Schéma v pôvodnom jazyku znamená: bežný program → cesta Mudfish → uzol; aplikácia spustená cez mudfish-exclude → pôvodná predvolená cesta → internet.
Nástroj nepridáva nastavenia do prehľadu Mudfish. Program, ktorý chcete vylúčiť, jednoducho spustite cez mudfish-exclude namiesto bežného príkazu.
Rozsah podpory: aktuálne podporuje iba Linux a IPv4. Nie je dostupný vo Windows, macOS ani Androide a na prevádzku IPv6 neuplatňuje samostatné pravidlá obchádzania.
Potrebné prostredie
Musia byť splnené všetky nasledujúce podmienky.
- Mudfish pre Linux je nainštalovaný.
- cgroup v2 je pripojené v
/sys/fs/cgroup. - Dostupné sú príkazy
ip,iptablesa funkcia cgroup match v iptables. - Máte oprávnenia
sudona nastavenie smerovacích politík a pravidiel firewallu. - Hlavná smerovacia tabuľka Linuxu obsahuje funkčnú predvolenú cestu IPv4.
Spustiteľný súbor sa zvyčajne nachádza tu. Zástupný údaj <미꾸라지 버전> označuje verziu Mudfish.
/opt/mudfish/<미꾸라지 버전>/bin/mudfish-exclude
Aktuálnu inštalačnú cestu nájdete príkazom:
ls /opt/mudfish/*/bin/mudfish-exclude
Ak spustiteľný súbor nie je v PATH, v nasledujúcich príkladoch nahraďte mudfish-exclude zistenou úplnou cestou. Pre verziu 6.5.4 je predvolená cesta /opt/mudfish/6.5.4/bin/mudfish-exclude.
Základné používanie
- Spustite Mudfish a riadne pripojte požadovanú položku alebo režim Full VPN.
- Ak vylučovaný program už beží, úplne ho ukončite vrátane ikony v oblasti oznámení a procesov na pozadí.
- V termináli ho znova spustite v nasledujúcom tvare.
<프로그램>označuje program a[프로그램 옵션...]jeho voľby.
sudo mudfish-exclude <프로그램> [프로그램 옵션...]
Napríklad Discord vylúčite takto.
sudo mudfish-exclude discord
Firefox vylúčite a zároveň otvoríte súkromné okno takto.
sudo mudfish-exclude firefox --private-window
Cestu obsahujúcu medzery uzavrite do úvodzoviek.
sudo mudfish-exclude "/path/to/My Program" --option
sudo sa používa na nastavenie sieťovej politiky. Samotný program spustený cez sudo mudfish-exclude ... sa podľa možností spustí s UID, GID, domovským priečinkom a prostredím pracovnej plochy pôvodného používateľa, ktorý vyvolal sudo.
Dôležité poznámky
- Vylúčenie platí pre nový proces spustený cez
mudfish-excludea jeho potomkov. - Už spustenému programu nemožno politiku priradiť dodatočne. Najprv ho úplne ukončite, aby program s jedinou inštanciou znovu nepoužil existujúci proces.
- Pri bežnom jednorazovom spustení sa politika automaticky odstráni po ukončení programu aj všetkých jeho potomkov.
- Môžete súčasne spustiť viac príkazov
mudfish-exclude. Spoločná politika sa odstráni po ukončení posledného vylúčeného programu. - Prevádzka IPv4 vylúčeného programu nepoužíva uzly Mudfish, zrýchľovanie ani verejnú IP adresu tejto cesty.
Overenie funkčnosti
Najjednoduchšie je overenie vtedy, keď sa verejná IPv4 adresa pred pripojením Full VPN líši od verejnej IPv4 adresy uzla Full VPN.
Najprv overte adresu v bežnom termináli pri pripojenom Full VPN.
curl -4 https://myip.mudfish.net
Rovnaký príkaz spustite cez mudfish-exclude.
sudo mudfish-exclude curl -4 https://myip.mudfish.net
Prvý výsledok má byť adresa na strane uzla Mudfish, druhý adresa pôvodného internetového pripojenia. Voľba -4 obmedzuje test na IPv4 v súlade s podporou nástroja.
Pri overovaní v prehliadači ho najprv úplne ukončite, potom spustite takto a otvorte https://myip.mudfish.net.
sudo mudfish-exclude firefox
Ukončenie a odstránenie politiky
Pri riadnom ukončení nie je potrebný samostatný čistiaci príkaz. Ak však vynútene ukončíte proces mudfish-exclude, terminál sa neočakávane zatvorí alebo sa systém preruší, politika môže zostať aktívna.
Najprv ukončite všetky programy spustené týmto nástrojom a potom spustite:
sudo mudfish-exclude --cleanup
Použitie
--cleanuppočas behu vylúčených programov môže okamžite zrušiť ich obchádzanie Mudfish.
Voľby príkazu
Nasledujúci pôvodný zápis znamená: použitie mudfish-exclude [voľby] program [voľby programu...].
사용법: mudfish-exclude [옵션] 프로그램 [프로그램 옵션...]
| Voľba | Opis |
|---|---|
-h, --help | Zobrazí pomoc. |
--setup | Nastaví iba sieťovú politiku vylúčenia a skončí. Nemožno súčasne určiť program. |
--cleanup | Odstráni sieťovú politiku vylúčenia a skončí. Nemožno súčasne určiť program. |
--no-setup | Vstúpi do určeného cgroup a spustí program bez opätovného nastavenia existujúcej politiky. |
--cgroup NAME | Určí názov cgroup v2. Predvolene mudfish-exclude. |
--mark VALUE | Určí značku firewallu pre pakety. Predvolene 0x6d660001. |
--priority VALUE | Určí prioritu pravidla politiky IPv4. Predvolene 8252. |
--table VALUE | Určí číslo smerovacej tabuľky s pôvodnou predvolenou cestou. Predvolene 8252. |
Na jednoznačné ukončenie spracovania volieb môžete program uviesť za --.
sudo mudfish-exclude -- firefox --private-window
Opätovné použitie politiky pre viac programov
Bežným používateľom odporúčame jednorazové spúšťanie jednotlivých programov. Ak potrebujete politiku nastaviť ručne raz a potom ju opakovane používať vo viacerých príkazoch, postupujte takto.
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --no-setup firefox
Po ukončení všetkých programov musíte politiku odstrániť.
sudo mudfish-exclude --cleanup
Ručný spôsob nevykonáva automatické odstránenie. Niektoré desktopové programy sa navyše počas behu môžu presunúť do iného cgroup v systemd. Pre ne je vhodnejší predvolený jednorazový spôsob, ktorý sleduje presuny cgroup a automaticky upratuje.
Ak zmeníte --cgroup, --mark, --priority alebo --table, musíte pri --setup, --no-setup aj --cleanup používať rovnaké hodnoty. Vlastné hodnoty nesmú kolidovať s existujúcimi značkami firewallu ani pravidlami smerovacích politík systému.
Riešenie problémov
mudfish-exclude: command not found
Spustiteľný súbor nie je v PATH. Nájdite jeho umiestnenie a spustite ho úplnou cestou.
ls /opt/mudfish/*/bin/mudfish-exclude
sudo /opt/mudfish/6.5.4/bin/mudfish-exclude discord
Číslo verzie v druhom príkaze upravte podľa nainštalovanej verzie.
network policy setup requires root
Nemáte oprávnenie nastaviť sieťovú politiku. Pridajte pred príkaz sudo a spustite ho znova.
sudo mudfish-exclude discord
cgroup v2 is required at /sys/fs/cgroup
Systém nepoužíva cgroup v2 alebo ho nemá pripojené na požadovanom mieste. Overte to nasledujúcim príkazom; jeho kórejský výstup znamená „cgroup v2 je dostupné“.
test -f /sys/fs/cgroup/cgroup.controllers && echo "cgroup v2 사용 가능"
Ak sa nič nevypíše, overte postup zapnutia cgroup v2 vo svojej distribúcii.
iptables rule add failed alebo chyba cgroup match
Overte inštaláciu iptables a podporu cgroup match v jadre aj iptables. Aj v distribúciách založených na nftables nástroj priamo používa kompatibilný príkaz iptables, preto potrebuje funkčnú vrstvu kompatibility iptables.
failed to find the IPv4 default route
V hlavnej smerovacej tabuľke sa nenašla predvolená cesta IPv4 pôvodného internetového pripojenia. Overte, že výstup nasledujúceho príkazu obsahuje cestu default.
ip -4 route show default table main
Ak predvolená cesta chýba alebo už smeruje na rozhranie inej VPN, mudfish-exclude nedokáže nastaviť pôvodnú internetovú cestu.
Verejná IP adresa sa nemení ani po vylúčení
Postupne overte nasledujúce.
- Full VPN je skutočne pripojené a pri bežnom spustení sa zobrazuje IP adresa uzla.
- Ukončite všetky existujúce procesy cieľového programu vrátane procesov na pozadí a spustite ho znova.
- Použite
curl -4alebo iné overenie IPv4, aby ste si výsledok nepomýlili s IPv6. - Overte, či program neodovzdáva príkazy samostatnej službe alebo už spustenému spúšťaču. Politika vylúčenia platí iba pre nový strom procesov vytvorený
mudfish-exclude. - Overte, že predvolená cesta z
ip -4 route show default table mainukazuje na skutočné internetové rozhranie.
Program je zatvorený, ale príkaz v termináli neskončil
Vo vylúčenom cgroup môže stále bežať potomok alebo proces na pozadí. Ukončite aj príslušné ikony v oblasti oznámení, spúšťače a aktualizačné procesy. Predvolený spôsob čaká na ukončenie všetkých potomkov a až potom odstráni politiku.