PPP интерфейсіндегі бір жол VPN машинасындағы маршруттау дауының көп бөлігін шешеді: ішкі мекенжай және оның қасында басылған peer. Бұл жұпты кішкентай ішкі желі ретінде оқысаңыз, жоқ шлюзді іздейсіз. Оны бір байланыстың екі ұшы ретінде оқысаңыз, келесі секіріс айқын болады. Мұндағы салыстыру осы екі оқудың арасында, өйткені кейін салынған әрбір кесте таңдағаныңызды мұра етеді. Сыртқы VPN соңғы нүктесі туралы екеуі де ештеңе шешпейді.

Бір интерфейс жолын екі түрлі оқу

Интерфейс inet 10.64.3.9 peer 10.64.3.1/32 деп хабарлайтын сессияны алыңыз. Ішкі желі ретінде оқу 10.64.3.9-ды /32 аралындағы жалғыз хост ретінде қарастырып, содан кейін оның сыртындағыға жету үшін маршрутизатор іздейді. Байланыстағы жалғыз басқа мекенжай peer болғандықтан, бұл оқу ақыр соңында 10.64.3.9-дың өзін шлюз ретінде ұсынады, бұл тұйық шеңбер.

Соңғы нүкте ретінде оқу — құжатталған оқу. Нүкте-нүкте интерфейсінде peer сол бір байланыстың алыс ұшын атайды, сондықтан 10.64.3.1 жарамды келесі секіріс, ал 10.64.3.9 әрқашан тек бастау мекенжайы.

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

Сессия нені әлдеқашан орнатты

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

ip -4 addr show dev ppp0
ip route show dev ppp0
ip route show table main | head -n 5

10.64.3.1 dev ppp0 proto kernel scope link src 10.64.3.9 сияқты құрылғы маршруты шлюзді көтермейді, өйткені интерфейстің өзі жол. Peer-ді via арқылы атайтын маршрут — өмір сүру уақыты басқа басқа объект, және ол сессия құлағанда жоғалады. Екі форманың кез келгенін тұрақты кестеге оның қалай қайта орнатылатынын тексермей көшіру — жұмыс істеген туннельдің қайта қосылғаннан кейін маршрутын жоғалтуының әдеттегі себебі.

Екі тізімді есте сақтауға сенудің орнына салыстырыңыз. Егер peer маршруты main ішінде болса, ал қосымша кестеңіз бос болса, мекенжай жолы сізге ешқашан айтпаған нәрсені білдіңіз.

Ереже мен кесте — бөлек шешімдер

Кестені таңдау және оны толтыру — тәуелсіз қадамдар, және салыстыру осында маңызды, өйткені екеуі қателерді жою кезінде жиі шатастырылады. Белгіленген трафикті 100-кестеге жіберетін ереже, егер 100-кестеде сәйкес маршрут болмаса, ештеңе істемейді, ал жақсы толтырылған кестеге ешбір ереже сілтемесе, ол қолжетімсіз.

Әдепкі маршруттың жартысы әдепкі маршрут емес. Бір 0.0.0.0/1 IPv4 кеңістігінің төменгі жартысын қамтиды, сондықтан барлығын ұстауды көздеген саясатқа сәйкес 128.0.0.0/1 немесе шынайы default керек. Жұмыс істеп тұрған конфигурацияны оқып, екі жартының бірін көшіру — адамдардың тек кейбір межелі орындарда сынатын маршруттау ілмегіне тап болу жолы.

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

Іздеуге қосымшаңыз қоятын сұрақты қойыңыз

ip route get жолды шешеді; ip route show сақталған жазбаларды шығарады, және екеуінің ешқайсысы қате болмаса да, олар келіспеуі мүмкін. Дереккөз контекстін көрсетіңіз, өйткені дереккөзге негізделген ережелер іздеу дереккөзді алып жүргенде ғана сәйкеседі.

ip route get 198.51.100.23 from 10.64.3.9
ip route get 198.51.100.23 from 10.64.3.9 iif ppp0
ip -4 rule show

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

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

Салыстыру қай жерде аударылады

Хост трафигі мен қайта бағытталған трафик тек түрлі іздеулер жасамайды; қайтар жолда олар түрлі сүзгілерге тап болады. Linux кері жолды тексеруді барлық интерфейстер мен қабылдаушы интерфейс параметрлерінің қатаңырағы бойынша қолданады, сондықтан бір интерфейстің мәнін өзгерту көрінетін әсер бермеуі мүмкін. Белгіге негізделген маршруттау src_valid_mark қатынасын қосады, онда дереккөз жарамды деп есептелуі үшін белгі сәйкесуі керек.

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

sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.ppp0.rp_filter
sysctl net.ipv4.conf.all.src_valid_mark

Екі схеманың арасында дәлелге сүйеніп таңдаңыз: егер қосымша PPP мекенжайына байланса, дереккөз ережесі мен peer маршруты бар кесте жеткілікті. Егер машина өзінің артындағы LAN үшін қайта бағыттаса, кіріс контексті мен қайтар жолдың да сәйкесуі керек. Олар сәйкеспесе, бүкіл машина үшін тексеруді босаңсытудың орнына маршруттың тиесілігін түзетіңіз.

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