"Кеңсе трафигі VPN арқылы өтеді" дейтін split-tunnel жазбасы бір шешімді құжаттап, тағы үшеуін меңзеді. Пакет деңгейінде маршруттау кестесі интерфейсті мақсатты мекенжай бойынша таңдайды; атау деңгейінде шешуші серверді сұраныс бойынша таңдайды, және бұл екі таңдау тәуелсіз жасалады. Сондықтан дұрыс құжатталған префикс әлі де ішкі атауды жария мекенжайға шешетін, немесе маршрут мінсіз көрінгенде ештеңе шешпейтін машина шығара алады.

Екі таңдаушы, бір қосылу әрекеті

Қолданба files.corp.example мекенжайына қосылғанда, пакет пайда болмай тұрып екі іздеу орындалады. Шешуші сұранысты қай сервер алатынын іздеу домендері, әр байланыс үшін маршруттау домендері немесе профильдің айқын ережесі арқылы шешеді. Содан кейін маршруттау кестесі алынған мекенжайдың қайда кететінін мақсатпен ең ұзын префикс сәйкестігі арқылы шешеді.

Бұл екі шешімді ештеңе байланыстырмайды. Жеке аймақ 10.20.4.11 мекенжайымен жауап бере алады, ал маршруттау кестесі 10.20.0.0/16 диапазонын туннельге жібереді, және қосылым жұмыс істейді. Кез келгенін аударыңыз, ол екіншісіне ұқсайтын түрде сәтсіз болады: дұрыс DNS саясаты және жоқ маршрут шешілген атау мен күту уақытын береді, ал дұрыс маршрут және жария шешуші таза түрде қате жерге бағытталатын мекенжай береді.

Бөлінген көкжиекті DNS мұны одан әрі шыңдайды. Бір атау ішкі шешушіден жеке мекенжайды және интернетке қараған шешушіден жария мекенжайды қайтара алады, сондықтан тек префиксті жазатын жазба клиенттің шын мәнінде қай мекенжайды қолданатынын болжай алмайды. Шешушінің жолын жазыңыз, әйтпесе мекенжай болжам ғана.

Тек маршрут туралы жазба нені тастап кетеді

Тек маршрут туралы жазба split-tunnel-нің ең жиі ақауы үшін жарамсыз: атаулар. Пайдаланушы ішкі желі жүктелмейді деп хабарлайды, туннель қосылған және префикс бар. Билетті алған адамда қай шешуші жауап беруі керек еді деген жазба жоқ, қате іздеу жұрнағын блокталған серверден ажыратудың жолы жоқ, және салыстыру үшін базалық сызық жоқ.

Екінші қалдырып кету — ерекшеліктер тізімі. Split-tunnel дизайнын туннельден тыс қалатын нәрсе де, оған кіретін нәрсе де бірдей анықтайды, ал алып тасталған диапазондар әдетте бірінші бұзылады, өйткені неғұрлым нақты жергілікті маршрут немесе клиент жағындағы сүзгі профильге тимей-ақ ниетті асып кете алады.

Үшіншісі — туннельдің алыс жағы. Клиент маршруты пакетті тек сымға салады; шлюз әлі де оны жіберуі және қайту жолы болуы керек. strongSwan-ның жіберу нұсқаулығы шлюздегі жіберу және брандмауэр ережелері мүмкіндіктің бөлігі екенін, болжауға болатын сантехниканың бөлігі емес екенін еске салады.

Жазбаны орындалатын ететін өрістер

Әр ағынға бір жол, ал ағын — мақсат қосу атау қосу иесі. Бұлар нақты оқиғамен жанасқанда төтеп беретін өрістер:

FieldWhy it has to be written down
Destination prefix and address familyThe route is per family; an IPv4 note says nothing about a AAAA answer
Selected tunnel or direct pathNames the decision, not the symptom
Private namespace and resolverWhich domain, which server, which search suffix
Public name pathConfirms public names do not accidentally use the private resolver
Where the rule livesClient profile, server push, OS policy or management tool
Owner and review dateNamespaces change owner more often than routes change

"Қайда тұрады" жолын адамдар өткізіп жібереді. Сервер итерген префикс, клиент профилі қосқан маршрут және shell-ға терілген маршрут оларды кім өзгерте алатынымен және олар қайта қосылуға төтеп беретінімен ерекшеленеді. Бұл өріссіз келесі инженер үшеуінің қайсысын қарап отырғанын айта алмайды.

Әр ережеге бір тест, туннельге бір емес

Әр жолға екі зиянсыз тексеру керек: біреуі маршрутты, біреуі атауды жаттықтырады. Маршрут үшін туннельден өтуі тиіс нәрсені сұрап, қолжетімділікті емес жолды растаңыз, мысалы tracert -d 10.20.4.11 Windows-та немесе ip route get 10.20.4.11 Linux-та. Атау үшін жеке атауды сұрап, қай сервер жауап бергенін жазыңыз, жазбада аталған шешушіге қарсы resolvectl query files.corp.example немесе dig files.corp.example қолданып.

Теріс күтуді де қосыңыз: туннель өшкенде не болуы керек. VPN жоқ кезде блоктау қосылған Android немесе iOS құрылғысындағы алып тасталған қолданбаның мүлдем байланысы болмауы мүмкін, ал жұмыс үстелі клиенті туннель қайта қосылып жатқанда сол қолданбаны жұмыс істетуі мүмкін. Көзделген жауапты жазу «VPN қолданбамды бұзды» дегенді тексеруге болатын тұжырымға айналдырады.

Жазбаны конфигурациямен бірге сақтаңыз

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

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

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

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