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

Маршрут жолын баған сайын оқыңыз

Әр жазба дестинация мен оның префикс ұзындығынан басталып, сосын тіркелген сөздікте модификаторлар қосады: via, dev, proto, scope, src және metric. 198.51.100.0/24 dev tun0 proto kernel scope link src 198.51.100.2 тәрізді жол тығыз, бірақ толық анықталған. Онда ештеңе жетіспейді және ешқандай маршруттаушы мекенжайы болжанбайды.

Қызықты бөлігі — via жоқтығы. Келесі секіріс болмаса, ядро дестинацияны аталған интерфейсте тікелей шешеді, бұл туннель үшін кадрды туннель құрылғысына беріп, инкапсуляцияның одан әрі өз мойнына алуына жол беру дегенді білдіреді. proto kernel жазбаның мекенжай тағайындалғанда автоматты түрде орнатылғанын жазады, әкімші тергенін емес. scope link дестинацияға сол байланыста маршруттаушыдан өтпей-ақ жетуге болатынын айтады, ал src ядро сәйкес трафик үшін қайнар көз ретінде қалайтын мекенжайды атайды.

Енді әдепкі маршрутты дәл солай оқыңыз: default via 192.0.2.254 dev eth0 proto static metric 100. Мұнда via бар, өйткені пакетке шынымен келесі секіріс қажет, және бұл секірістің өзі eth0 арқылы қолжетімді болуы керек. Бұл екі жол бір-бірінің нұсқасы емес; олар трафиктің қайда кететіні туралы әртүрлі сұрақтарға жауап береді.

Бір-бірімен шатастырылатын екі маршрут пішіні

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

Piece of the lineWhat it settlesWhat it says nothing about
The destination and maskWhich packets are eligible to matchWhere those packets leave the host
via plus its addressWhich next hop receives them, and therefore that a router is involvedWhether that router is reachable or sane
devWhich interface carries the encapsulated or raw packetWhether the interface is up or has a carrier
proto and scopeWho installed the entry and how far the destination is considered to beWhether a firewall later drops the traffic

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

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

Ядродан қай жолды іс жүзінде қолданатынын сұраңыз

Кестені оқу іздеуді орындаумен бірдей емес, өйткені ядро жауап бермес бұрын саясат ережелерімен, бірнеше кестемен және кэштелген жазбалармен кеңеседі. Нақты іздеуді орындайтын етістік — ip route get, және ол осы қасиеттері бар пакет баратын маршрутты басып шығарады.

ip route get 203.0.113.37 from 198.51.100.2 iif tun0

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

Егер жауап таң қалдырса, бірдеңені өзгертуден бұрын ережелерді басып шығарыңыз: ip -4 rule show оларды басымдық тәртібімен тізімдейді, ал өз кестесін немесе белгіленген пакеттерге ереже орнататын VPN клиенті негізгі кестеде мүлде көрінбейді. Барлық кестелерді тізімдеу осы олқылықты жабады.

ip -4 route show table all | grep -E 'tun|default'

Әдепкі маршрутты алмастырмас бұрын төменгі қабатты тексеріңіз

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

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

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

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