Туннель көтеріледі, белгіше жасыл болады, жергілікті желі жоғалады: принтерлер, NAS және кеңсе маршрутизаторы жауап беруді тоқтатады. FortiClient профиль талап еткенді істеп тұр. Шлюз әдепкі маршрутты жіберді, клиент оны орнатты, енді әр пакеттің туннельге кіретін жолы бар. Жөндеу — маршруттар кестесін өңдеу және оның артында DNS өңдеуі, ал сол өңдеулердің реті машинаның жақсырақ па, әлде нашаррақ па бітетінін шешеді.

Клиент не орнатты және LAN неге жоғалды

Клиент интерфейсінің орнына кестені оқудан бастаңыз. macOS-те netstat -rn бүкіл кестені басып шығарады, ал route -n get default қазір жеңіп тұрған интерфейс пен метриканы атайды; Linux-те жұп — ip route show және ip route get 8.8.8.8. Екеуі де бір сұраққа жауап береді: неғұрлым нақты ештеңеге сәйкес келмейтін пакетті қай жазба тасымалдайды.

Туннель құрылғысының атауы тіркелген емес. macOS-тегі IKEv2 профилі әдетте нөмірі бар utun көрсетеді, SSL VPN клиенті ppp0, ал OpenVPN tun0 көрсетеді. Метрикалары әртүрлі екі әдепкі маршрут бір мезгілде де болуы мүмкін, ал клиент жазбасы пайда болған сәтте емес, қайта қосылғаннан кейін ғана басқаруға алуы мүмкін. Сондықтан бес минут аралықпен алынған екі кесте үзіндісі әртүрлі әңгіме айтуы мүмкін.

Туннельдің әдепкі маршруты неге бірінші кетуі керек

Ядро ең ұзын сәйкес префиксті таңдайды, ал бірнеше маршрут бірдей нақты болса, ең төмен метрикалысын таңдайды. Сондықтан 0.0.0.0/0 жақсырақ метрикамен орнатқан клиент бастапқы әдепкі маршрутты жоймай-ақ әр тағайындалуды жеңеді, сондықтан физикалық маршрут әлі де кестеде және үзілісті әлі де түсіндіреді. Туннельдің әдепкі маршрутын бірінші алып тастау бұрынғы мінез-құлықты қалпына келтіреді. Содан кейін ғана туннель арқылы өтетін префикс маршруты авторы көздегенді істейді.

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

macOS пен Linux-тегі реттілік

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

sudo route delete -net default -interface utun4
sudo route add -net 0.0.0.0 -interface en0
sudo route add -net 10.20.0.0 -netmask 255.255.0.0 -interface utun4

Linux-те сол рет басқа құралды пайдаланады: әдепкі маршрут үшін LAN шлюзі және кеңсе префиксі үшін туннель құрылғысы. Ескі route командасы ескі синтаксисті әлі қабылдайды, бірақ ip route — қазіргі құжаттамаға сәйкес келетін нысан.

sudo ip route del default dev tun0
sudo ip route add default via 192.168.50.1
sudo ip route add 10.20.0.0/16 dev tun0

Маршрутқа құрылғының орнына келесі секіріс керек болса, peer-ды клиент шығысынан алыңыз. Болжау екі қатенің бірін береді, олардың мағынасы бөлек: қате шлюз бірден network unreachable береді, ал қате туннель мақсаты уақыттың бітуін береді. Команданы қайта өзгертудің алдында қайсысын алғаныңызды оқыңыз.

Префикстер, шешуші және қараңғы болып қалатын DMZ

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

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

Linux SSL клиентінде білуге тұрарлық өріске тән ақау бар: туннель қосылады, кеңсе LAN-ы жауап береді, ал бір DMZ диапазоны қараңғы болып қалады. Жетпей тұрған бөлік — сол диапазон үшін туннель шлюзі арқылы өтетін маршрут, ал шлюз машинадан машинаға өзгереді, сондықтан қатты кодталған мекенжай — келесі ноутбук осылай сынады. Оны клиент күйінен шығарып, команданы өзін-өзі құжаттайтын күйде ұстаңыз:

PEER=$(ip -4 addr show dev ppp0 | awk '/peer/ {print $4}' | cut -d/ -f1)
sudo ip route add 192.168.30.0/24 via "$PEER"

Іске қоспас бұрын екі мәнді оқыңыз. peer — нүктеден нүктеге туннелінің алыс ұшы, және дәл осы мекенжай DMZ маршрутына керек; маршрутталған туннельде баламасы — клиент хабарлайтын интерфейс немесе шлюз. Екеуі де көрінбесе, клиент сіз болжаған режимде емес.

Келесі қосылымнан кейін және мұны жергілікті түрде қашан тоқтату керек

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

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

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

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