Туннеліңіз көтеріледі, жеке ішкі желі жауап береді, ал біреу профильден шлюз жолын жойғанына қарамастан қарапайым шолу әлі де VPN ішінде жоғалады. Бұл тіркесім қате директиваны өңдегеннің ізін көрсетеді. Жойылған нәрсе клиентке өзі орнататын маршруттар үшін келесі секіріс беріп тұрды; ал трафикті ұстауды жалғастырған нәрсе басқа жерден келіп, сервер итеріп жіберген. Қамту мен келесі секіріс бөлек жұмыстар, және олардың тек біреуі ғана қоғамдық межелердің туннельді пайдаланатынын шешеді.

Сіз жойған жол келесі секіріс еді, саясат қосқышы емес

Клиент орнататын әрбір маршрутқа сілтеу үшін шлюз мекенжайы қажет, ал маршрут өзі ешқандай мекенжай атамаса, шлюз директивасы сол мекенжайдың көзі болады. Оны жойсаңыз, ол маршруттардың ілінетін жері болмайды, сондықтан олар не орнатылмайды, не ешқайда апармайтын жолға түседі. Жеке ішкі желі дәл осындай маршрут тасыған нәрсе еді.

Сол уақытта аман қалған мінез-құлықтың авторы басқа: итерілген блоктағы қайта бағыттау опциясы, ол өз жалаушаларына сәйкес қарапайым шығыс трафигін туннельге жылжытады. Шлюзді жою оны өшірмейді де, әлсіретпейді де. Нәтиже екі күйдің ең нашар: қоғамдық трафик әлі де ұсталып, туннельді ақтаған жеке меже енді қолжетімсіз. Сондықтан сол рухта жасалған екінші өңдеу де ештеңе өзгертпейді.

Төрт тұтқа, төрт түрлі жұмыс

Бұл талқылауда төрт директива бір-бірінің орнына келтіріледі, ал олардың тек біреуі қамтуды басқарады, яғни қай межелердің туннель арқылы өтетінін шешеді. Екіншісі маршруттар пайдаланатын келесі секірісті белгілейді, үшіншісі бір префиксті орнатады, ал төртіншісі сервер итеріп жібергеннің бәрін, оның ішінде орналастыруға қажет жеке маршруттарды да лақтырып тастайды. Кесте оларды атауы бойынша емес, әкімші нені өзгертпек болғаны бойынша реттейді, өйткені шатасуды тудыратын дәл атаулар. Оларды төрт бөлек шешім ретінде қарастырып, шынымен қайтарғыңыз келетінін таңдаңыз.

Іс жүзінде төртеуі де жиі бір итерілген блокта, жол сайын келеді, бұл оларды бір параметрдің бөліктері сияқты көрсетеді. Олай емес, және OpenVPN анықтамасы дәл сол себепті оларды бөлек механизмдер деп құжаттайды. Қай шешімді қайтарып жатқаныңызды анықтау — жұмыс, ал өңдеу — бір жол.

What you are trying to changeDirective that decides itWhat it leaves alone
Which destinations use the tunnelredirect-gatewayPer-prefix routes and resolver choice
The next hop a pushed route points atroute-gatewayCoverage of public destinations
One reachable prefixrouteEvery other destination, default path included
All pushed routing and DNS at onceroute-nopullNothing, which is the problem

Итерілген жолды сүзіңіз, келесі секірісті сақтаңыз

Егер қарсылық білдіріп отырған қамту итерілген опция ретінде келсе, тар жауап — сол опцияны аты бойынша елемей, итерілген блоктың қалғанын тиіспеген күйде қалдыру. Сүзгі ретінде жазылса, ол төмендегі жолға ұқсайды және орны әсер еткен клиенттің профилінде, сервер конфигурациясында емес.

pull-filter ignore "redirect-gateway"

Тарлық — мәселенің мәні. Сүзгі мәтіндік префиксті салыстыратындықтан, қысқа үлгі келесі секіріс директивасына да сәйкес келеді, бұл жеке маршруттар тәуелді ақпаратты дәл сол арқылы жұлып алып, бастапқы қатені жаңа киіммен қайталайды. Сүзгі тек итерілген опцияларға әсер етеді, сондықтан жергілікті жазылған немесе желі менеджері таңған балама жолды ешқашан ұстамайды. Одан кейін қайта қосылыңыз, өйткені тірі сессия сервер итеріп жібергенді қайта бағаламайды.

Кестені емес, іздеуді оқыңыз

Профильді қайта жүктегеннен кейін ядродан екі меженің шын мәнінде қайда баратынын сұраңыз: біреуі жеке префикстің ішінде, екіншісі қоғамдық интернетте. Негізгі кестенің толық шығарылымын оқу қиынырақ және қате оқу жеңілірек, өйткені маршрут бар болып, бәрібір нақтырақ сәйкестікке жоғалтуы мүмкін. Саясатқа негізделген маршруттауда ереже, кесте және бастау мекенжайы да тексеріске кіреді.

ip route get 10.40.7.25
ip route get 203.0.113.77
ip rule show

def1 нұсқасын білу керек, өйткені ол ескі әдепкі жазбаны көрінетін күйде қалдырады, ал жартылай әдепкілер жұбы іздеуден жеңіп шығады. Сондықтан шығыстағы 0.0.0.0/0 жолы өздігінен ештеңе дәлелдемейді. Іздеу тізім тек жауап берген болып көрінетін сұраққа жауап береді.

DNS, IPv6 және жеке маршрут әлі де жұмыс істеуі керек

Бір IPv4 қайта бағыттауынан бас тарту шешуші туралы ештеңе айтпайды, сондықтан итерілген DNS опциясы маршруттар дұрыс көрініп тұрғанда да сұраныстарды туннельге жіберуді жалғастыра алады. IPv6 әдепкісі IPv4 тексерісі тиіспеген мекенжайлар тобы үшін де солай істей алады. Екеуі де болжамның орнына анық шешім қажет етеді. Содан кейін жеке қызметтің әлі жауап беретінін растаңыз, өйткені жеке маршрутынан айырылған бөлінген туннель бөлінген туннель емес, ол сынған.

Бір кеңірек құрал ескертуге лайық: route-nopull әр итерілген маршрутты және әр итерілген DNS опциясын лақтырып тастайды, бұл толық туннельді сөзсіз тоқтатып, орналастыру тәуелді жеке маршруттарды да сөзсіз бұзады, сондықтан бұл бір опцияға бағытталған атау сүзгісінен әлдеқайда үлкен балға. Кез келген өзгерістен кейін жеке межені, қоғамдық межені және шешушіні тексеріп, аяқталған қол алысуды тек қол алысуға дәлел деп санаңыз.

Қатысты мақалалар