mudfish-exclude пайдаланушы нұсқаулығы
Бұл бағдарлама тек Mudfish Cloud VPN 6.5.4 немесе одан жаңа нұсқаларында ғана қолжетімді.
mudfish-exclude — Linux-ке арналған Mudfish жүйесінде белгілі бір бағдарламаларды ғана Mudfish маршрутынан шығарып тастап іске қосатын командалық жол құралы. Әсіресе Full VPN режимін пайдалану кезінде браузер, мессенджер, бейне ойнатқыш, жүктеп алу құралдары сияқты бағдарламалардың трафигін бастапқы негізгі интернет желісі арқылы тікелей жібергіңіз келгенде қолданылады.
Қалыпты бағдарламалар -> Mudfish бағыты -> Релелік сервер
mudfish-exclude қолданбасы -> Бастапқы әдепкі бағыт -> Интернет
Бұл құрал Mudfish басқару тақтасына жаңа баптаулар қоспайды. Шығарып тастағыңыз келетін бағдарламаны әдеттегі іске қосу пәрменінің орнына mudfish-exclude арқылы бастасаңыз жеткілікті.
Қолдау ауқымы: Қазіргі уақытта тек Linux және IPv4 қолдау көрсетіледі. Windows, macOS, Android жүйелерінде қолданылмайды және IPv6 трафигіне айналып өтудің бөлек саясаты қолданылмайды.
Қажетті орта
Келесі шарттардың барлығы орындалуы керек:
- Linux-ке арналған Mudfish орнатылған болуы керек.
- cgroup v2
/sys/fs/cgroupішіне қосылған (mounted) болуы тиіс. ipжәнеiptablesпәрмендері мен iptables құралының cgroup match функциясы қолжетімді болуы қажет.- Маршруттау саясаты мен желіаралық қалқан (firewall) ережелерін баптау үшін
sudoқұқығы болуы керек. - Linux жүйесінің main маршруттау кестесінде дұрыс жұмыс істейтін IPv4 әдепкі бағыты болуы тиіс.
Орнатылған атқарылатын файл әдетте келесі орында орналасады:
/opt/mudfish/<Mudfish нұсқасы>/bin/mudfish-exclude
Ағымдағы орнату жолын келесі пәрмен арқылы табуға болады:
ls /opt/mudfish/*/bin/mudfish-exclude
Егер бұл файл PATH ішіне тіркелмеген болса, төмендегі мысалдардағы mudfish-exclude пәрменін жоғарыда анықталған толық жолмен алмастырыңыз. Мысалы, 6.5.4 нұсқасы үшін әдепкі орнату жолы — /opt/mudfish/6.5.4/bin/mudfish-exclude.
Негізгі пайдалану тәсілі
- Mudfish-ті іске қосып, қажетті элементті немесе Full VPN режимін дұрыс қосыңыз.
- Егер шығарып тасталатын бағдарлама іске қосылып тұрса, оны жүйелік науадан (tray) немесе фондық процестерден толық жабыңыз.
- Терминалда келесі форматпен бағдарламаны қайта іске қосыңыз:
sudo mudfish-exclude <бағдарлама> [бағдарлама опциялары...]
Мысалы, Discord қолданбасын Mudfish маршрутынан шығарып тастау үшін келесідей іске қосыңыз:
sudo mudfish-exclude discord
Firefox-ты шығарып тастап, жеке шолу терезесін (private window) ашу үшін келесіні орындаңыз:
sudo mudfish-exclude firefox --private-window
Егер атқарылатын файл жолында бос орындар (пробелдер) болса, оларды тырнақшаға алыңыз:
sudo mudfish-exclude "/path/to/My Program" --option
sudo желілік саясатты орнату үшін қажет. sudo mudfish-exclude ... арқылы іске қосылған бағдарламаның өзі мүмкіндігінше sudo шақырған бастапқы пайдаланушының UID, GID, үй каталогы және жұмыс үстелі сеансы ортасымен орындалады.
Ескеретін жайттар
- Шығарып тастау саясаты тек
mudfish-excludeарқылы жаңадан іске қосылған процеске және оның туынды (бала) процестеріне қолданылады. - Бұрыннан жұмыс істеп тұрған бағдарламаға саясатты кейіннен тіркеуге болмайды. Бір даналы (single-instance) бағдарламалар бұрынғы процесті қайта пайдаланбауы үшін алдымен оларды толығымен жабу қажет.
- Қалыпты бір реттік іске қосу режимінде бағдарлама мен оның барлық туынды процестері аяқталған кезде саясат автоматты түрде тазаланады.
- Бір уақытта бірнеше
mudfish-excludeпәрменін орындауға болады. Ортақ саясат ең соңғы шығарылған бағдарлама жабылғаннан кейін тазаланады. - Шығарылған бағдарламаның IPv4 трафигі Mudfish релелік серверлерін, жеделдету мүмкіндіктерін және сол бағыттың жалпыға ортақ IP мекенжайын пайдаланбайды.
Дұрыс жұмысын тексеру
Full VPN қосылғанға дейінгі жалпыға ортақ IPv4 мекенжайы мен Full VPN релелік серверінің жалпыға ортақ IPv4 мекенжайы бір-бірінен өзгеше болған кезде тексеру ең оңай болады.
Алдымен Full VPN қосылған кәдімгі терминалда мекенжайды тексеріңіз:
curl -4 https://myip.mudfish.net
Дәл осы пәрменді mudfish-exclude арқылы орындаңыз:
sudo mudfish-exclude curl -4 https://myip.mudfish.net
Бірінші нәтиже Mudfish релелік серверінің мекенжайын, ал екінші нәтиже бастапқы интернет провайдеріңіздің мекенжайын көрсетуі тиіс. -4 опциясы бұл құралдың қолдау ауқымына сәйкес тек IPv4 арқылы тексеру үшін қажет.
Браузер арқылы тексеру үшін оны толығымен жауып, келесідей іске қосыңыз және https://myip.mudfish.net мекенжайына кіріңіз:
sudo mudfish-exclude firefox
Жұмысты аяқтау және саясатты тазалау
Қалыпты аяқталған кезде бөлек тазалау пәрмені қажет емес. Алайда, егер mudfish-exclude процесі мәжбүрлеп тоқтатылса, терминал апатты түрде жабылса немесе жүйе жұмысы кенет үзілсе, саясат жүйеде қалып қоюы мүмкін.
Алдымен осы құралмен іске қосылған барлық бағдарламаларды жабыңыз, содан кейін келесі пәрменді орындаңыз:
sudo mudfish-exclude --cleanup
Жұмыс істеп тұрған шығарылған бағдарламалар болған кезде
--cleanupопциясын қолдансаңыз, олардың айналып өтуі дереу тоқтатылуы мүмкін.
Пәрмен опциялары
Пайдаланылуы: mudfish-exclude [опциялар] бағдарлама [бағдарлама опциялары...]
| Опция | Сипаттамасы |
|---|---|
-h, --help | Анықтаманы шығарады. |
--setup | Тек шығарып тастау желілік саясатын орнатып, шығады. Бағдарламамен бірге көрсетуге болмайды. |
--cleanup | Шығарып тастау желілік саясатын жойып, шығады. Бағдарламамен бірге көрсетуге болмайды. |
--no-setup | Бұрынғы саясатты қайта орнатпай, көрсетілген cgroup ішіне кіріп, бағдарламаны іске қосады. |
--cgroup АТАУЫ | Қолданылатын cgroup v2 атауын көрсетеді. Әдепкі мәні — mudfish-exclude. |
--mark МӘНІ | Пакеттер үшін қолданылатын желіаралық қалқан белгісін (mark) көрсетеді. Әдепкі мәні — 0x6d660001. |
--priority МӘНІ | IPv4 policy rule басымдылығын көрсетеді. Әдепкі мәні — 8252. |
--table МӘНІ | Бастапқы әдепкі бағыт сақталатын маршруттау кестесінің нөмірін көрсетеді. Әдепкі мәні — 8252. |
Опцияларды талдауды нақты аяқтау үшін бағдарламаны -- белгісінен кейін жазуға болады:
sudo mudfish-exclude -- firefox --private-window
Бірнеше бағдарламада саясатты қайта пайдалану
Қарапайым пайдаланушылар үшін әр бағдарламаны бір реттік іске қосу әдісі ұсынылады. Егер саясатты бір рет қолмен орнатып, бірнеше пәрменде қайта пайдалану қажет болса, келесі ретпен орындауға болады:
sudo mudfish-exclude --setup
sudo mudfish-exclude --no-setup discord
sudo mudfish-exclude --no-setup firefox
Барлық бағдарламаларды жапқаннан кейін міндетті түрде саясатты тазалаңыз:
sudo mudfish-exclude --cleanup
Қолмен басқару тәсілі автоматты тазалауды орындамайды. Сонымен қатар, кейбір жұмыс үстелі бағдарламалары орындалу кезінде systemd жүйесінің басқа cgroup топтарына ауысуы мүмкін, сондықтан мұндай бағдарламалар үшін cgroup қозғалысын бақылайтын және автоматты тазалайтын әдепкі бір реттік іске қосу режимі тиімдірек.
Егер --cgroup, --mark, --priority, --table мәндерін өзгертсеңіз, олардың барлығын --setup, --no-setup, --cleanup пәрмендерінде бірдей қолдану керек. Пайдаланушы таңдаған мәндер жүйенің бұрынғы firewall белгілерімен немесе policy routing ережелерімен қайшы келмеуі тиіс.
Ақаулықтарды жою
mudfish-exclude: command not found
Атқарылатын файл PATH айнымалысына қосылмаған. Келесі пәрменмен орнату орнын тауып, толық жолмен іске қосыңыз:
ls /opt/mudfish/*/bin/mudfish-exclude
sudo /opt/mudfish/6.5.4/bin/mudfish-exclude discord
Екінші пәрмендегі нұсқа нөмірін орнатылған нұсқаға сай өзгерту қажет.
network policy setup requires root
Желілік саясатты баптауға рұқсат жоқ. Пәрменнің алдына sudo қосып, қайта іске қосыңыз:
sudo mudfish-exclude discord
cgroup v2 is required at /sys/fs/cgroup
Ағымдағы жүйе cgroup v2 қолданбайды немесе ол аталған орынға тіркелмеген. Келесі пәрмен арқылы тексеруге болады:
test -f /sys/fs/cgroup/cgroup.controllers && echo "cgroup v2 қолжетімді"
Егер ешнәрсе шықпаса, дистрибутивіңізде cgroup v2-ні қалай қосу керектігін тексеру қажет.
iptables rule add failed немесе cgroup match қатесі
iptables құралының орнатылғанын, сондай-ақ ядро мен iptables cgroup match опциясын қолдайтынын тексеріңіз. nftables негізіндегі дистрибутивтерде де бұл құрал тікелей iptables үйлесімділік пәрмендерін пайдаланатындықтан, дұрыс жұмыс істейтін iptables үйлесімділік деңгейі қажет.
failed to find the IPv4 default route
main маршруттау кестесінен бастапқы интернет байланысының IPv4 әдепкі бағыты табылмады. Келесі пәрмен нәтижесінде default бағытының бар-жоғын тексеріңіз:
ip -4 route show default table main
Егер әдепкі бағыт болмаса немесе ол басқа VPN интерфейсіне бағытталған болса, mudfish-exclude құралы бастапқы интернет бағытын құра алмайды.
Шығарып тастаса да, жалпыға ортақ IP өзгермейді
Келесі қадамдарды ретімен тексеріңіз:
- Full VPN режимінің нақты қосылғанын және қалыпты іске қосу кезінде релелік сервердің IP мекенжайы көрсетілетінін тексеріңіз.
- Мақсатты бағдарламаның бұрынғы процестері мен барлық фондық процестерін толығымен жауып, қайта іске қосыңыз.
- IPv6 нәтижелерімен шатастырмас үшін
curl -4немесе IPv4 тексеру әдістерін қолданыңыз. - Мақсатты бағдарламаның пәрмендерді бөлек қызметке немесе бұрыннан жұмыс істеп тұрған лаунчерге беретін құрылымы бар-жоғын тексеріңіз. Шығарып тастау саясаты тек
mudfish-excludeжаңадан құрған процестер иерархиясына ғана қолданылады. ip -4 route show default table mainішіндегі әдепкі бағыт нақты интернет интерфейсіне бағытталғанына көз жеткізіңіз.
Бағдарлама жабылса да, терминал пәрмені аяқталмай тұр
Туынды немесе фондық процестер шығарылған cgroup ішінде әлі де орындалып жатуы мүмкін. Оған қатысты жүйелік науа (tray) белгішелерін, лаунчерді, жаңарту процестерін толығымен жабыңыз. Әдепкі іске қосу режимі барлық туынды процестер аяқталғанша күтіп, содан кейін ғана саясатты тазалайды.
Апатты жабылғаннан кейін желі дұрыс істемейді
Осы құралмен іске қосылған бағдарламаларды толық жауып, қалған саясаттарды тазалаңыз:
sudo mudfish-exclude --cleanup
Егер осыдан кейін де ақаулық жалғаса берсе, Mudfish-ті жауып, жүйенің әдепкі бағыты мен iptables ережелерін тексергеннен кейін қайта қосылыңыз.
Жұмыс істеу қағидасы
mudfish-exclude іске қосылатын бағдарламаны жеке cgroup v2 тобына орналастырады және осы cgroup-та пайда болған IPv4 пакеттеріне iptables mark белгісін тағайындайды. Бұл белгісі бар пакеттер бөлек policy routing кестесі арқылы Linux-тің main маршруттау кестесінен табылған әдепкі бағытқа жіберіледі және қажетті NAT MASQUERADE қолданылады.
Бұл процесс mudrun, mudflow, mudfish, mudwfp_proxy баптауларын немесе ортақ жады (shared memory) күйін өзгертпейді. Шығарып тастау саясаты тек операциялық жүйенің cgroup, iptables және IPv4 policy routing деңгейлерінде ғана әрекет етеді.