Korisnički vodič za mudfish-exclude
Ovaj je program dostupan samo u Mudfish Cloud VPN-u 6.5.4 ili novijem.
mudfish-exclude alat je naredbenog retka za Linux kojim određeni program pokrećete izvan rute Mudfisha. Posebno je koristan u načinu Full VPN kada želite da promet preglednika, programa za poruke, videoplayera ili alata za preuzimanje ide izravno postojećom internetskom vezom.
Sljedeći izvorni prikaz pokazuje da obični program prolazi rutom Mudfisha do posredničkog poslužitelja, dok aplikacija pokrenuta putem mudfish-exclude prolazi postojećom zadanom rutom do interneta.
일반 프로그램 -> 미꾸라지 경로 -> 중계 서버
mudfish-exclude 앱 -> 기존 기본 경로 -> 인터넷
Alat ne dodaje postavke na nadzornu ploču Mudfisha. Umjesto uobičajene naredbe pokrenite željeni program putem mudfish-exclude.
Podržano okruženje: trenutačno su podržani samo Linux i IPv4. Alat nije dostupan za Windows, macOS ni Android, a na IPv6 promet ne primjenjuje zasebno pravilo zaobilaženja.
Potrebno okruženje
Moraju biti ispunjeni svi sljedeći uvjeti.
- Mudfish za Linux mora biti instaliran.
- cgroup v2 mora biti montiran na
/sys/fs/cgroup. - Moraju biti dostupne naredbe
ipiiptableste funkcija cgroup match u iptablesu. - Morate imati ovlasti
sudoza postavljanje usmjeravanja prema pravilima i pravila vatrozida. - Linuxova tablica usmjeravanja main mora sadržavati ispravnu zadanu IPv4 rutu.
Izvršna datoteka obično se nalazi na sljedećoj putanji. Korejski tekst u zagradama označava verziju Mudfisha.
/opt/mudfish/<미꾸라지 버전>/bin/mudfish-exclude
Trenutačnu instalacijsku putanju pronađite naredbom:
ls /opt/mudfish/*/bin/mudfish-exclude
Ako izvršna datoteka nije u PATH, zamijenite mudfish-exclude u primjerima punom pronađenom putanjom. Primjerice, zadana putanja verzije 6.5.4 je /opt/mudfish/6.5.4/bin/mudfish-exclude.
Osnovna upotreba
- Pokrenite Mudfish i normalno povežite željenu stavku ili način Full VPN.
- Ako je program koji želite izuzeti već pokrenut, potpuno ga zatvorite, uključujući procese u području obavijesti ili pozadini.
- Ponovno ga pokrenite iz terminala u sljedećem obliku. Korejski zamjenski izrazi označavaju program i njegove opcije.
sudo mudfish-exclude <프로그램> [프로그램 옵션...]
Primjerice, za izuzimanje Discorda:
sudo mudfish-exclude discord
Za izuzimanje Firefoxa i otvaranje privatnog prozora:
sudo mudfish-exclude firefox --private-window
Ako putanja izvršne datoteke sadrži razmake, stavite je u navodnike.
sudo mudfish-exclude "/path/to/My Program" --option
sudo se upotrebljava za postavljanje mrežnih pravila. Sam program pokrenut putem sudo mudfish-exclude ... izvršava se, kada je moguće, s UID-om, GID-om, osobnim direktorijem i okruženjem radne površine izvornog korisnika koji je pozvao sudo.
Važne napomene
- Pravilo izuzimanja primjenjuje se na proces koji je novopokrenut putem
mudfish-excludei njegove podređene procese. - Pravilo ne možete naknadno pridružiti već pokrenutom programu. Program koji dopušta samo jednu instancu najprije potpuno zatvorite kako ne bi ponovno upotrijebio postojeći proces.
- Pri uobičajenom pojedinačnom pokretanju pravilo se automatski uklanja kada završe program i svi njegovi podređeni procesi.
- Možete istodobno pokrenuti više naredbi
mudfish-exclude. Zajednička pravila uklanjaju se nakon završetka posljednjeg izuzetog programa. - IPv4 promet izuzetog programa ne upotrebljava posrednički poslužitelj Mudfisha, ubrzavanje ni javnu IP adresu te rute.
Provjera ispravnog rada
Najlakše je provjeriti kada se javna IPv4 adresa prije Full VPN veze razlikuje od javne IPv4 adrese posredničkog poslužitelja Full VPN-a.
Najprije provjerite adresu u običnom terminalu dok je Full VPN povezan.
curl -4 https://myip.mudfish.net
Pokrenite istu naredbu putem mudfish-exclude.
sudo mudfish-exclude curl -4 https://myip.mudfish.net
Prvi rezultat treba biti adresa posredničkog poslužitelja Mudfisha, a drugi adresa izvorne internetske veze. Opcija -4 ograničava provjeru na IPv4 u skladu s podrškom alata.
Za provjeru preglednikom potpuno ga zatvorite, pokrenite ovako i otvorite https://myip.mudfish.net.
sudo mudfish-exclude firefox
Zatvaranje i uklanjanje pravila
Pri normalnom zatvaranju zasebna naredba za čišćenje nije potrebna. Međutim, pravila mogu ostati ako je proces mudfish-exclude prisilno zaustavljen, terminal neočekivano zatvoren ili sustav prekinuo rad.
Najprije zatvorite sve programe pokrenute ovim alatom, a zatim izvršite:
sudo mudfish-exclude --cleanup
Ako upotrijebite
--cleanupdok izuzeti program još radi, njegovo zaobilaženje može odmah prestati.
Opcije naredbe
Izvorni prikaz upotrebe u nastavku navodi opcije alata, program i opcije programa.
사용법: mudfish-exclude [옵션] 프로그램 [프로그램 옵션...]
| Opcija | Opis |
|---|---|
-h, --help | Ispisuje pomoć. |
--setup | Postavlja samo mrežna pravila izuzimanja i završava. Ne smijete istodobno navesti program. |
--cleanup | Uklanja mrežna pravila izuzimanja i završava. Ne smijete istodobno navesti program. |
--no-setup | Ulazi u zadani cgroup i pokreće program bez ponovnog postavljanja postojećih pravila. |
--cgroup NAME | Naziv cgroupa v2 koji će se upotrebljavati. Zadano je mudfish-exclude. |
--mark VALUE | Oznaka vatrozida za pakete. Zadano je 0x6d660001. |
--priority VALUE | Prioritet IPv4 pravila usmjeravanja. Zadano je 8252. |
--table VALUE | Broj tablice usmjeravanja koja sadrži izvornu zadanu rutu. Zadano je 8252. |
Za izričit završetak obrade opcija možete navesti program nakon --.
sudo mudfish-exclude -- firefox --private-window
Ponovna upotreba pravila za više programa
Običnim korisnicima preporučujemo pojedinačno pokretanje za svaki program. Ako morate ručno jednom postaviti pravila i ponovno ih upotrebljavati u više naredbi, postupite ovako.
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --no-setup firefox
Nakon zatvaranja svih programa obavezno uklonite pravila.
sudo mudfish-exclude --cleanup
Ručno postavljanje ne obavlja automatsko čišćenje. Neki programi za radnu površinu tijekom rada mogu prijeći u drugi systemd cgroup, pa je za njih prikladnije zadano pojedinačno pokretanje koje prati premještanje cgroupa i automatski čisti pravila.
Ako promijenite --cgroup, --mark, --priority ili --table, iste vrijednosti morate upotrijebiti uz --setup, --no-setup i --cleanup. Prilagođene vrijednosti ne smiju biti u sukobu s postojećim oznakama vatrozida ili pravilima usmjeravanja sustava.
Rješavanje problema
mudfish-exclude: command not found
Izvršna datoteka nije u PATH. Pronađite instalacijsku putanju sljedećom naredbom pa pokrenite program punom putanjom.
ls /opt/mudfish/*/bin/mudfish-exclude
sudo /opt/mudfish/6.5.4/bin/mudfish-exclude discord
Broj verzije u drugoj naredbi prilagodite instaliranoj verziji.
network policy setup requires root
Nemate ovlasti za postavljanje mrežnih pravila. Dodajte sudo ispred naredbe i pokrenite je ponovno.
sudo mudfish-exclude discord
cgroup v2 is required at /sys/fs/cgroup
Sustav ne upotrebljava cgroup v2 ili ga nije montirao na tom mjestu. Provjerite sljedećom naredbom. Izvorna izlazna poruka na korejskom znači da je cgroup v2 dostupan.
test -f /sys/fs/cgroup/cgroup.controllers && echo "cgroup v2 사용 가능"
Ako nema ispisa, provjerite kako omogućiti cgroup v2 u svojoj distribuciji.
iptables rule add failed ili pogreška cgroup match
Provjerite je li iptables instaliran i podržavaju li jezgra i iptables cgroup match. Alat izravno upotrebljava kompatibilnu naredbu iptables i na distribucijama temeljenima na nftablesu, pa je potreban ispravan sloj kompatibilnosti iptablesa.
failed to find the IPv4 default route
U tablici usmjeravanja main nije pronađena zadana IPv4 ruta izvorne internetske veze. Provjerite postoji li ruta default u izlazu naredbe:
ip -4 route show default table main
Ako zadana ruta ne postoji ili već upućuje na drugo VPN sučelje, mudfish-exclude ne može konfigurirati izvornu internetsku putanju.
Javna IP adresa ne mijenja se unatoč izuzimanju
Redom provjerite sljedeće.
- Provjerite je li Full VPN doista povezan i prikazuje li se pri običnom pokretanju IP adresa posredničkog poslužitelja.
- Zatvorite sve postojeće i pozadinske procese ciljnog programa pa ga ponovno pokrenite.
- Upotrijebite
curl -4ili drugi način provjere IPv4 adrese kako rezultat ne biste zamijenili s IPv6 rezultatom. - Provjerite predaje li ciljni program naredbe zasebnoj usluzi ili već pokrenutom pokretaču. Pravilo izuzimanja primjenjuje se samo na stablo procesa koje je novo stvorio
mudfish-exclude. - Provjerite upućuje li zadana ruta naredbe
ip -4 route show default table mainna stvarno internetsko sučelje.
Terminalna naredba ne završava nakon zatvaranja programa
Podređeni ili pozadinski proces možda još radi u izuzetom cgroupu. Zatvorite i povezane ikone u području obavijesti, pokretače i procese ažuriranja. Zadani način rada čeka završetak svih podređenih procesa pa tek zatim uklanja pravila.
Mreža ne radi pravilno nakon neočekivanog završetka
Zatvorite sve programe pokrenute ovim alatom i uklonite preostala pravila.
sudo mudfish-exclude --cleanup
Ako problem potraje, zatvorite Mudfish, provjerite zadanu rutu sustava i pravila iptablesa pa se ponovno povežite.
Način rada
mudfish-exclude smješta pokrenuti program u zaseban cgroup v2 i dodjeljuje iptables oznaku njegovim IPv4 paketima. Paketi s tom oznakom putem zasebne tablice usmjeravanja prema pravilima odlaze zadanom rutom pronađenom u Linuxovoj tablici main, uz primjenu potrebnog NAT MASQUERADE-a.
Postupak ne mijenja postavke ni stanje zajedničke memorije programa mudrun, mudflow, mudfish ili mudwfp_proxy. Pravila izuzimanja rade samo na razinama cgroupa, iptablesa i IPv4 usmjeravanja prema pravilima operacijskog sustava.