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 үчүн кайра багыттаса, кирүү контексти жана кайтар жол дал келиши керек. Алар дал келбесе, бүтүндөй машина үчүн текшерүүнү бошотуунун ордуна маршруттун таандыгын оңдоңуз.

Тектеш макалалар