A mudfish-exclude használati útmutatója
A program csak Mudfish Cloud VPN 6.5.4 vagy újabb verzióval használható.
A mudfish-exclude Linuxon egyes programokat a Mudfish útvonalából kizárva indít el. Különösen Full VPN mellett hasznos, ha a böngésző, üzenetküldő, videólejátszó vagy letöltő forgalmát közvetlenül az eredeti internetkapcsolaton szeretné továbbítani.
Az eredeti ábra első sora a normál program → Mudfish-útvonal → közvetítőszerver útvonalat, második sora a kizárt alkalmazás → eredeti alapértelmezett útvonal → internet útvonalat jelöli:
일반 프로그램 -> 미꾸라지 경로 -> 중계 서버
mudfish-exclude 앱 -> 기존 기본 경로 -> 인터넷
Az eszköz nem ad hozzá beállítást az irányítópulthoz. A kizárni kívánt programot a szokásos parancsa helyett mudfish-exclude használatával indítsa.
Támogatás: jelenleg csak Linux és IPv4. Windows, macOS és Android alatt nem használható, IPv6-forgalomra pedig nem alkalmaz külön megkerülési szabályt.
Követelmények
Minden alábbi feltétel szükséges:
- Telepített Linuxos Mudfish.
- A
/sys/fs/cgroupalatt csatolt cgroup v2. - Elérhető
ipésiptablesparancs, valamint iptables cgroup match támogatás. sudojogosultság a szabályalapú útválasztás és tűzfalszabályok beállításához.- Érvényes IPv4 alapértelmezett útvonal a Linux main útválasztási táblájában.
A végrehajtható fájl szokásos helye az alábbi; a koreai helyőrző a Mudfish verzióját jelöli:
/opt/mudfish/<미꾸라지 버전>/bin/mudfish-exclude
A telepített útvonal keresése:
ls /opt/mudfish/*/bin/mudfish-exclude
Ha a fájl nincs a PATH változóban, a példákban szereplő mudfish-exclude helyett használja a teljes útvonalat. A 6.5.4 alapértelmezett helye például /opt/mudfish/6.5.4/bin/mudfish-exclude.
Alapvető használat
- Indítsa el a Mudfisht, és csatlakozzon a kívánt elemmel vagy Full VPN módban.
- Ha a kizárni kívánt program már fut, teljesen zárja be, a tálcán és háttérben futó folyamatokkal együtt.
- A terminálban indítsa újra az alábbi formában. A koreai helyőrzők a programot és annak kapcsolóit jelölik.
sudo mudfish-exclude <프로그램> [프로그램 옵션...]
Discord kizárása:
sudo mudfish-exclude discord
Firefox kizárása és privát ablak nyitása:
sudo mudfish-exclude firefox --private-window
Ha az elérési út szóközt tartalmaz, tegye idézőjelek közé:
sudo mudfish-exclude "/path/to/My Program" --option
A sudo a hálózati szabályok beállításához szükséges. Maga az indított program lehetőség szerint a sudo-t meghívó eredeti felhasználó UID-jével, GID-jével, saját könyvtárával és asztali munkameneti környezetével fut.
Fontos tudnivalók
- A kizárás az újonnan indított folyamatra és gyermekfolyamataira érvényes.
- Már futó programra utólag nem alkalmazható. Az egyetlen példányban futó alkalmazást előbb teljesen zárja be, hogy ne használja újra a meglévő folyamatot.
- A szokásos egyszeri indításkor a szabályok a program és összes gyermekfolyamata leállása után automatikusan törlődnek.
- Több
mudfish-excludeparancs futhat egyszerre. A közös szabályok az utolsó kizárt program leállása után törlődnek. - A kizárt program IPv4-forgalma nem használja a közvetítőszervert, a gyorsítást vagy annak nyilvános IP-címét.
A működés ellenőrzése
A legegyszerűbb akkor ellenőrizni, ha az eredeti internetkapcsolat és a Full VPN szerver nyilvános IPv4-címe eltér.
Csatlakoztatott Full VPN mellett normál terminálban ellenőrizze a címet:
curl -4 https://myip.mudfish.net
Majd futtassa ugyanezt kizárva:
sudo mudfish-exclude curl -4 https://myip.mudfish.net
Az első eredménynek a közvetítőszerver, a másodiknak az eredeti internetkapcsolat címét kell mutatnia. A -4 az eszköz támogatásának megfelelően csak IPv4-et vizsgál.
Böngészős ellenőrzéshez teljesen zárja be a böngészőt, indítsa az alábbi módon, majd nyissa meg a https://myip.mudfish.net oldalt:
sudo mudfish-exclude firefox
Kilépés és szabálytörlés
Normál kilépéskor nem kell külön törlési parancs. A mudfish-exclude kényszerített leállítása, a terminál rendellenes bezárása vagy rendszerleállás után azonban maradhatnak szabályok.
Először zárjon be minden ezzel indított programot, majd futtassa:
sudo mudfish-exclude --cleanup
Ha még fut kizárt program, a
--cleanupazonnal megszüntetheti annak megkerülését.
Kapcsolók
Az eredeti használati sorban az első helyőrző a kapcsolókat, a következők a programot és annak kapcsolóit jelentik:
사용법: mudfish-exclude [옵션] 프로그램 [프로그램 옵션...]
| Kapcsoló | Leírás |
|---|---|
-h, --help | Súgó megjelenítése. |
--setup | Csak a kizárási hálózati szabályokat állítja be, majd kilép. Program nem adható meg mellette. |
--cleanup | Törli a kizárási hálózati szabályokat, majd kilép. Program nem adható meg mellette. |
--no-setup | A meglévő szabályok újrabeállítása nélkül belép a megadott cgroupba, és elindítja a programot. |
--cgroup NAME | A cgroup v2 neve. Alapérték: mudfish-exclude. |
--mark VALUE | A csomagok tűzfaljelölése. Alapérték: 0x6d660001. |
--priority VALUE | Az IPv4 policy rule prioritása. Alapérték: 8252. |
--table VALUE | Az eredeti alapértelmezett útvonalat tartalmazó útválasztási tábla száma. Alapérték: 8252. |
A kapcsolók feldolgozásának egyértelmű lezárásához -- után adhatja meg a programot:
sudo mudfish-exclude -- firefox --private-window
Szabályok újrahasználata több programmal
Általános használatra a programonkénti egyszeri indítás ajánlott. Ha kézzel, egyszer szeretné beállítani a szabályokat több parancshoz:
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --no-setup firefox
Minden program bezárása után feltétlenül törölje a szabályokat:
sudo mudfish-exclude --cleanup
A kézi módszer nem végez automatikus takarítást. Egyes asztali programok futás közben más systemd-cgroupba költözhetnek; ezekhez megfelelőbb az alapértelmezett egyszeri indítás, amely követi a cgroupváltást és automatikusan takarít.
A --cgroup, --mark, --priority vagy --table módosítása esetén a --setup, --no-setup és --cleanup parancsoknál azonos értékeket kell használni. Ezek nem ütközhetnek a rendszer meglévő tűzfaljelöléseivel vagy szabályalapú útválasztásával.
Hibaelhárítás
mudfish-exclude: command not found
A végrehajtható fájl nincs a PATH változóban. Keresse meg, majd teljes útvonallal indítsa:
ls /opt/mudfish/*/bin/mudfish-exclude
sudo /opt/mudfish/6.5.4/bin/mudfish-exclude discord
A második parancs verzióját igazítsa a telepített verzióhoz.
network policy setup requires root
Nincs jogosultság a hálózati szabályok beállításához. Indítsa újra sudo előtaggal:
sudo mudfish-exclude discord
cgroup v2 is required at /sys/fs/cgroup
A rendszer nem használ cgroup v2-t, vagy nem ezen a helyen csatolja. Ellenőrzés az alábbi paranccsal; a kiírt koreai szöveg jelentése „cgroup v2 elérhető”:
test -f /sys/fs/cgroup/cgroup.controllers && echo "cgroup v2 사용 가능"
Ha nincs kimenet, nézze meg, hogyan engedélyezhető a cgroup v2 a disztribúciójában.
iptables rule add failed vagy cgroup match hiba
Ellenőrizze az iptables telepítését, valamint a kernel és iptables cgroup match támogatását. Az eszköz nftables-alapú disztribúción is közvetlenül az iptables kompatibilitási parancsot használja, ezért működő kompatibilitási réteg szükséges.
failed to find the IPv4 default route
A main útválasztási táblában nem található az eredeti kapcsolat IPv4 alapértelmezett útvonala. Ellenőrizze a default útvonalat:
ip -4 route show default table main
Ha hiányzik vagy másik VPN-interfészre mutat, a mudfish-exclude nem tudja kialakítani az eredeti internetes útvonalat.
Kizárás után sem változik a nyilvános IP
Ellenőrizze sorban:
- A Full VPN ténylegesen csatlakozik-e, és normál indításkor a szerver IP-je jelenik-e meg.
- Zárja be a célprogram összes meglévő és háttérfolyamatát, majd indítsa újra.
- Használjon
curl -4parancsot vagy más IPv4-ellenőrzést, hogy ne keverje össze az IPv6-eredménnyel. - Ellenőrizze, hogy a program külön szolgáltatásnak vagy már futó indítónak adja-e át a munkát. A kizárás csak a
mudfish-excludeáltal újonnan létrehozott folyamatfára érvényes. - Ellenőrizze, hogy az
ip -4 route show default table mainalapértelmezett útvonala a tényleges internetes interfészre mutat-e.
A program bezárult, de a terminálparancs nem fejeződik be
Gyermek- vagy háttérfolyamat még futhat a kizárt cgroupban. Zárja be a kapcsolódó tálcaalkalmazást, indítót és frissítési folyamatot is. Az alapértelmezett mód minden gyermekfolyamat végét megvárja a szabályok törlése előtt.
Rendellenes leállás után hálózati probléma van
Zárjon be minden ezzel indított programot, majd törölje a megmaradt szabályokat:
sudo mudfish-exclude --cleanup
Ha a probléma fennmarad, állítsa le a Mudfisht, ellenőrizze a rendszer alapértelmezett útvonalát és iptables-szabályait, majd csatlakozzon újra.
Működési elv
A mudfish-exclude külön cgroup v2-be helyezi a programot, és iptables-jelölést ad az ott keletkező IPv4-csomagoknak. A megjelölt csomagok külön szabályalapú útv álasztási táblán át a Linux main táblájában talált alapértelmezett útvonalra kerülnek, a szükséges NAT MASQUERADE alkalmazásával.
A folyamat nem módosítja a mudrun, mudflow, mudfish vagy mudwfp_proxy beállításait, illetve megosztott memóriáját. A kizárás csak az operációs rendszer cgroup-, iptables- és IPv4 policy routing rétegében működik.