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

Сұраныс қайда келгенінен бастаңыз

Басқа нәрсені тексермес бұрын пакеттің қызметке жеткенін растаңыз. Сервер жағындағы журнал жазбасы, қосылым санағышы немесе алыс ұшта рұқсат етілген ұстау — бәрі бір сұраққа жауап береді, ал олардың болмауы сізді жауапқа емес, туннельге қайтарады. Бұл — бағыттау мәселесін қайтару жолының мәселесінен ажырататын тексеру.

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

Жауапқа пулға дейінгі маршрут керек

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

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

Сервердегі ұстауды шлюздегі ұстаумен салыстырыңыз

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

ip route get 10.90.0.14
tcpdump -ni any host 10.90.0.14 and port 443
ip route show table all | grep 10.90.0.0
Where the reply stopsWhat it proves
Request in the server log, nothing on its outbound captureThe server picked a gateway that cannot reach the pool
Reply leaves the server but never shows up at the gatewayLoss on the LAN path, not on the tunnel
Reply reaches the gateway but not the clientReturn translation or tunnel policy, not the server route

Шлюздің өзі жасаған сұраныс клиенттік тестің нашар баламасы, өйткені ол басқа мекенжайдан келеді және басқа ережелерге тап болады. Сондықтан шлюзден сәтті ping мен клиенттен сәтсіз сұраныс бір уақытта ақиқат болуы мүмкін.

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

Пулды, префиксті және жауапты тұлғаны жазыңыз

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

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

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