Ugrás a fő tartalomhoz

A mudfish-exclude használati útmutatója

információ

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/cgroup alatt csatolt cgroup v2.
  • Elérhető ip és iptables parancs, valamint iptables cgroup match támogatás.
  • sudo jogosultsá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​

  1. Indítsa el a Mudfisht, és csatlakozzon a kívánt elemmel vagy Full VPN módban.
  2. 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.
  3. 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-exclude parancs 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 --cleanup azonnal 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, --helpSúgó megjelenítése.
--setupCsak a kizárási hálózati szabályokat állítja be, majd kilép. Program nem adható meg mellette.
--cleanupTörli a kizárási hálózati szabályokat, majd kilép. Program nem adható meg mellette.
--no-setupA meglévő szabályok újrabeállítása nélkül belép a megadott cgroupba, és elindítja a programot.
--cgroup NAMEA cgroup v2 neve. Alapérték: mudfish-exclude.
--mark VALUEA csomagok tűzfaljelölése. Alapérték: 0x6d660001.
--priority VALUEAz IPv4 policy rule prioritása. Alapérték: 8252.
--table VALUEAz 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:

  1. A Full VPN ténylegesen csatlakozik-e, és normál indításkor a szerver IP-je jelenik-e meg.
  2. Zárja be a célprogram összes meglévő és háttérfolyamatát, majd indítsa újra.
  3. Használjon curl -4 parancsot vagy más IPv4-ellenőrzést, hogy ne keverje össze az IPv6-eredménnyel.
  4. 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.
  5. Ellenőrizze, hogy az ip -4 route show default table main alapé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.