Илгич биринчи жолу иштейт, үч кайра туташуудан кийин чынжырда ошол эле эреженин үч көчүрмөсү калат. Эч нерсе катуу ишке ашкан жок; скрипт ар бир жүгүртүүдө ага айтылганды гана жасады. VPN илгичи бир нече жолу иштеши мүмкүн болгон конфигурация операциясы, ошондуктан ага ээ, каалаган абал жана иреттелген өзгөртүү керек. Ушул тартипте жүрүңүз, көчүрмөлөр токтойт.

Эреже жазганга чейин аларга ээсин бериңиз

Бир эреже жазганга чейин бул интеграция кайсы чынжырга же таблицага таандык экенин чечиңиз. Илгич түзгөн жана тазалаган өзүнчө чынжыр ээликтин эң ачык түрү, анткени тазалоо кийин ал чынжырды башка бирөөнүн саясатына тийбестен алып сала алат. Эрежелерди жалпы чынжырга кошууга аргасыз болсоңуз, аларды комментарий менен белгилеңиз, кийинки издөө так сиздикин тапсын. Ээлик демонтаждын коопсуз болушун камсыздайт, ал эми демонтаж — тынч ишке ашпаган бөлүк.

iptables -N VPN_HOOK 2>/dev/null || true
iptables -C INPUT -j VPN_HOOK 2>/dev/null || iptables -I INPUT -j VPN_HOOK
iptables -S VPN_HOOK

Бул жерде комментарий жасалга эмес. Ал сиздин эрежеңизди өчүрүү менен кокустан окшош эрежени өчүрүүнүн айырмасы, жана ал сакталган эрежелер жыйындысында калат. Комментарийди бир жолу өзгөрмөгө жазыңыз жана кошкон, текшерген же өчүргөн ар бир буйрукта ошол эле сапты колдонуңуз.

Кайра кошуунун ордуна каалаган абалды текшериңиз

Туннель көтөрүлгөндө эмне болушу керектигин жазыңыз: кайсы интерфейстер, кайсы булак жана багыт, кайсы протокол жана кайсы порт. Андан кийин ар бир эрежени текшерүү жана андан кийинки киргизүү катары туюнтуңуз, экинчи жүгүртүү эрежени таап, эч нерсе кылбасын. Эреже бар болгондо текшерүү буйругу нөл менен чыгат, жана бул скриптке керектүү так ошол сигнал. iptables шилтемеси бул жерде колдонулган текшерүү, кошуу жана киргизүү формаларын документтештирет.

iptables -C VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT ||
  iptables -A VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT

Орунга этият болуңуз. Эрежени текшерип, башына киргизүү мурун биринчи келген атайын баш тартуунун алдына уруксатты жылдырышы мүмкүн, ошондуктан экинчи жүгүртүү эч нерсе кошпосо да жүрүм-турумду өзгөртөт. Өз чынжырыңыздын ичинде аягына кошуңуз жана тартипти ошол чынжырга секирүүнүн орду менен башкарыңыз. Чынжырдын ичиндеги тартип маанилүү болсо, эреже-эреже жамап чыкпай, белгилүү тизмеден чынжырды кайра куруңуз.

Керектүү эрежени туруктуу тест катары туюнтуу мүмкүн болбосо, токтоңуз. Бул адатта каалаган абал дагы эле бүдөмүк экенин билдирет.

Турууну үмүт кылуунун ордуна өзгөртүүнү иреттеңиз

Илгичтин эки чакырыгы кабатташы мүмкүн, жана экөө тең бири кошконго чейин эреженин жоктугун көрө алат. xtables күтүү опциясы буйрукту кулпуну күтүүгө мажбурлайт, бирок эки буйрук боюнча текшерүү-андан-кошуу ырааттуулугун атомдук кылбайт. Бүткүл операцияны өз кулпуңуз менен иреттеңиз же жарыяланган партияны бир транзакция катары колдонгон менеджерди пайдаланыңыз. nftables акыркысын жасай алат, жана бул аны жеткиликтүү хосттордо артык көрүүгө бир себеп.

flock /run/vpn-hook.lock /usr/local/sbin/vpn-firewall-apply
nft -f /etc/nftables/vpn-hook.nft

Кайсы механизмди тандасаңыз да, критикалык бөлүмдү кыска кармаңыз жана аны кайра кирүүгө боло тургандай кылыңыз: жарым жолдо ишке ашпаган илгичти кайра жүгүртүү коопсуз болушу керек. Натыйжаны журналга жазыңыз, кайталанган жүгүртүү эрежелердин санынан божомолдонбой, журналда көрүнсүн. Эгер эки башка көзөмөлчү илгичти чакыра алса, адегенде ошону оңдоңуз; эч бир кулпу эки ээни оңдобойт.

Өзүңүзгө таандыкты гана демонтаждаңыз

Демонтаж алмаштыруучу туташууну ал пенсияга чыгарган туташуудан ажыратышы керек жана эч качан тыкан тазалоо албаган окуяга туруштук бериши керек. Кошуу үчүн колдонгон ошол эле идентификаторлор менен өчүрүңүз жана тазалоону жеңилдетүү үчүн жалпы чынжырды эч качан бошотпоңуз. Катуу токтогондон кийин төмөнкү илгич иштеди деп божомолдоонун ордуна кийинки баштоодо шайкештирүү өтүүсүн жүргүзүңүз.

iptables -D VPN_HOOK -i tun0 -p tcp --dport 443 -j ACCEPT
iptables -F VPN_HOOK
ip -brief link show type tun

Интерфейстин жашоо цикли да долбоорго кирет. Кайра туташуу башка аттуу түзмөк түзүшү мүмкүн, ошондуктан экинчи туннелдин атын катуу бекиткен эреже дагы эле жарактуу көрүнүп туруп эскирет. Туташуу өзү ачкан инсандыкты артык көрүңүз жана ар бир жүгүртүүдө аны кайра окуңуз. Үч окуяны өзүнчө текшериңиз: кайталанган туташуу, алмаштыруучу туташуу жана өчүрүү. Уруксат берилген трафик үчөөнөн тең көчүрмөсүз өтүшү керек, ал эми байланышсыз кызматтар тийилбеген бойдон калышы керек.

Илгичтин ээси, кошкон ар бир эреже үчүн тести, бир иреттелген жолу жана өз абалын гана алып салган демонтажы болгондо бул жүрүш бүтөт. Эки жолу коопсуз иштеген илгич бир жолу акылдуу илгичтен кымбат.

Тектеш макалалар