Linux'то VPN түрткөн маршруттарды статикалык маршруттардан кантип айырмалоо керек
Туннел менен чогуу пайда болгон префикс үч ээсинен келиши мүмкүн. Таблицаны салыштырыңыз, метриканы текшериңиз, анан аны кайра-кайра орноткон ээсин оңдоңуз.
Туннел көтөрүлгөндө ноутбукта префикс пайда болот, ошондуктан аны VPN орноткондой сезилет. Балким ошондой, бирок ушундай эле натыйжа туташуу учурунда иштеген клиенттик скрипттен, ички тармакты тизмелеген туташуу профилинен же башынан эле бар болуп, интерфейс пайда болгондо гана иштей баштаган статикалык маршруттан да келиши мүмкүн. Туура эмес ээни тандоо маршруттун ар бир тазалоодон кийин кайтып келерин билдирет, ал эми кийинки адам ошол эле оңдоону кайталайт. Төмөнкү тартип бир нерсени өзгөртүүдөн мурун ушул үчөөнү ажыратат.
1-кадам: префикстерди орноткон механизмди атаңыз
Ар кандай протоколдор жеткиликтүүлүктү ар кандай жол менен камсыз кылат, алардын баарын жарыялоо деп атоо айырманы жашырат. OpenVPN сервери башкаруу каналы аркылуу маршрут директивасын түртөт жана pull фильтри тоскон жок болсо, клиент аны орнотот. WireGuard конфигурациясы уруксат берилген префикстерди жергиликтүү тизмелейт, клиент аларды криптоачкыч маршруттоо үчүн да, өзү кошкон маршруттар үчүн да колдонот. IPsec туннели өнөктөш менен трафик тандагычтарды макулдашат, ал эми ядро ошол тандагычтардан маршруттарды орнотот.
Кандайдыр бир таблицаны окуудан мурун туннелиңиз алардын кайсынысын колдонорун аныктаңыз. Туташуу учурунда түртүлгөн маршрут маршруттоо протоколунун жарыясы эмес жана префикстин алыскы учтун артында жеткиликтүү экенине убада бербейт. Оңдоо кайда таандык экенин аныктагандыктан, механизмди префикстин жанына жазып коюңуз.
2-кадам: таблицаны бир туташуу бою салыштырыңыз
Туннел төмөн кезде негизги таблицаны сактаңыз, аны көтөрүңүз, кайра сактаңыз жана эки жазууну салыштырыңыз. Пайда болгон нерсенин баары туташуунун жашоо циклинен, ал эми калганы жергиликтүү конфигурациядан.
Аны ip route show table main > /tmp/route-down.txt аркылуу жазып алыңыз, туташыңыз жана кайра жазып алыңыз. Сайт IPv6 колдонсо, ip -6 route үчүн да ушундай кылыңыз, анткени ал жерде жок префикс маршруттоого тиешеси жоктой көрүнгөн бузулууларды жаратат.
3-кадам: метриканы окуңуз, жөн гана бар экенин эмес
Бир префикс үчүн эки жазуу катар болушу мүмкүн, ал эми ядро төмөнүрөөк метриканы тандайт. Метрикасы 50 статикалык маршрут экөө тең көрүнүп турса да, 100дөгү түртүлгөн маршруттан басымдуу боло берет, ошондуктан «маршрут бар» жана «трафик аны колдонот» деген эки башка бектик.
ip route get 10.20.5.7 аркылуу ядродон түз сураңыз жана ал билдирген интерфейсти окуңуз. Таблицада туннелдин маршруту турса да трафик физикалык адаптерден чыкса, муну VPN клиенти эмес, метрика же префикстин узундугу түшүндүрөт. Туннелдин артында экенин билген хост жана андай эмес экенин билген хост үчүн издөөнү кайталаңыз, ал эми айырма бөлүнүүнүн ниетке ылайык иштешин көрсөтөт.
4-кадам: туннелден узак жашаган жазууларды табыңыз
Статикалык маршруттар дизайн боюнча ажыроодон аман калат, эскирген жазуулар да ошондон келет. Эми жок интерфейске шилтеме кылган туруктуу маршрут ички тармакты үнсүз жутуп кетиши мүмкүн, ал эми кайра колдонулган интерфейс атына шилтеме кылган маршрут кайра жүктөөдөн кийин жеке трафикти туура эмес эшиктен чыгарышы мүмкүн.
Туруктуу тарабын таратууңуз колдонгон жерден текшериңиз: systemd-networkd бирдиги, NetworkManager профили же клиенттин up папкасындагы скрипт болушу мүмкүн. Жандуу таблицаны ip route del аркылуу оңдоо кийинки туташууга чейин гана турат. Бул өчүрүүнү оңдоо эмес, божомолду текшерүү деп караңыз.
Алыскы уч туура эмес камтуу берсе, баарын фильтрлөөнүн ордуна операторго жеткириңиз. Бардык түртүлгөн жөндөөлөрдү таштоо профиль көз каранды болгон DNS жана бөлүнгөн туннель саясатын да таштайт.
5-кадам: клиентти күнөөлөөдөн мурун кайтуу жолун ырастаңыз
Сайт аралык туташуу же туннелдин артындагы ички тармак үчүн алыскы тарапка клиент дарегиңизге кайтуучу маршрут жана шлюзде күйгүзүлгөн өткөрүү керек. Бир багыттуу жол клиенттин маршруттоо катасына так окшош, бирок кол алышуу да, чыгуучу пакет да ийгиликтүү болот.
Кайтарма жолду фильтрлөө Linux шлюздерине экинчи тузак кошот. Маршрут күткөндөн башка интерфейске келген жооп катуу режимде ташталат, ал эми эки провайдер аркылуу асимметриялык жолдор муну ишенимдүү пайда кылат. Фильтрлөө себеппи же жокпу, клиентте эмес, шлюздеги таштоо эсептегичтери айтат.
6-кадам: ping эмес, ресурсту сынаңыз
Тандалган маршрут туура болгондон кийин чыныгы ресурсту ачып, кайтуучу трафикти ырастаңыз. ping жообу жолду бир багытта далилдейт жана кызмат тууралуу эч нерсе айтпайт, ал эми кэштеленген туташууда жооп берген кызмат андан да азыраак далилдейт.
Андан кийин кайра туташкандан кийин бүт текшерүүнү кайталаңыз. Тартиптин баалуулугу — кийинки туташуу эмне кылаарын алдын ала айтат, ошондуктан салыштыруу да, метрика да тикетке кирет.