OpenVPN DHCP жаңыртуусунан кийин үзүлөт: акыркы чекиттин маршрутун сактаңыз
DHCP жаңыртуу туннелдин акыркы чекитин эскирген шлюзда калтырышы мүмкүн, ал эми жарым демейки маршруттар туннелди жутуп коёт. Метриканы эмес, ошол маршрутка ким ээ экенин оңдоңуз.
Туннел туташат, андан кийин кирүү звеносундагы ижара жаңыртуу аны өлтүрөт, ал эми журнал маршрутту эмес, убакыт бүтүүсүн күнөөлөйт. VPN конфигурациясында эч нерсе өзгөргөн жок, жана бул белги: анын сыртында бир нерсе өзгөрдү. DHCP окуясы даректи же шлюзду кайра жазды, ал эми туннелдин акыркы чекитин жеткиликтүү кармаган хост маршруту эми жок болгон кийинки секирүүгө көрсөтөт. Бул маршруттоо маселеси болоор алдында ээлик маселеси.
Симптомду жарым демейки маршруттар менен салыштырыңыз
redirect-gateway def1 менен OpenVPN демейки маршрутту алмаштыруунун ордуна 0.0.0.0/1 жана 128.0.0.0/1 орнотот. Экөө бирге бүт дарек мейкиндигин камтыйт жана 0.0.0.0/0 маршрутун префикс узундугу менен эле жеңет. Ошондуктан так дал келүүсү жок ар кандай багыт туннелге кирет.
Акыркы чекитке өзгөчөлүк керек. OpenVPN жарым демейкилер кирээр алдында баштапкы кирүү шлюзу аркылуу сервер дарегине хост маршрутун кошот, ошентип капсулаланган пакеттер чыга алат. Ошол өзгөчөлүк жок болгондо, же эми жок болгон кийинки секирүүнү кармап калганда, туннелдин өзүнүн сырткы пакеттери жарым демейкиге дал келип, туннелге кайра жөнөтүлөт. Натыйжада кийинки keepalive же кол алышууда өлгөн туташуу, журналда маршруттоо катасына окшош эч нерсе жок.
Башка нерсеге тийүүдөн мурун таблицанын формасын ырастаңыз. ip route show эки жарымды жана сервер дареги үчүн хост маршрутун тизмелеши керек; хост маршруту жок болсо, иликтөөнүн калганынын ачык баштапкы чекити бар.
Жарым демейкилер метриканы өзгөртпөстөн эмнеге жеңет
Төмөн метрика узунураак префиксти жеңбейт. /1 маршруттары жеңет, анткени ядро эң так маршрутту биринчи далдаштырат, ошондуктан демейки маршрутта метриканы көтөрүү туннелге багытталган трафиктин кайда кетишине эч нерсе өзгөртпөйт. Метрикалардын артынан куу бул диагностикадагы эң кеңири тараган туура эмес бурулуш.
Тандоону ip route get 203.0.113.10 менен текшерип, ага чыныгы сервер дарегин коюңуз. Жооп ядро чындап колдоно турган интерфейс менен кийинки секирүүнү атайт, бул таблицаны окуп, анын үстүндө ойлонуудан пайдалуураак.
Бул буйрукту туннел башталардан мурун, иштеп турганда жана ижара окуясынан кийин аткарыңыз. Бир буйруктан үч жооп, жана айырмалоо чекити көрүнөт.
Бир эмес, үч сүрөт тартыңыз
Кирүү дарегин, кирүү шлюзун, акыркы чекиттин багытын, тандалган маршрутту жана каалаган саясат эрежесин үч учурда чогултуңуз: кирүү звеносу конфигурациялангандан кийин, VPN туташкандан кийин жана ижара же оператор окуясынан кийин. Ар бир сүрөт бир ууч буйрук, жана алар бирге гана мааниге ээ. Ийгиликсиздиктен кийинки жалгыз сүрөт өтүүнү эмес, абалды жазат. Буйруктарды кичине скриптке жазыңыз, ошондо ар бир сүрөт бирдей жол менен алынат.
Сүрөттөрдү убакыт белгилери менен бир файлда сактаңыз, анткени кийин кызыктуу суроо тартип. DHCP окуясы OpenVPN өз маршрутун жаңыртканга чейин келдиби, же андан кийинби? Жооп аны ким оңдошу керектигин чечет. Туура эмес сааттын убакыт белгиси жоктуктан жаман, ошондуктан аны маршруттоо таблицасына ээ хосттон алыңыз.
Акыркы чекит даректин ордуна ат катары конфигурацияланса, аны ар бир сүрөттө да чечиңиз. Кирүү звеносундагы DNS өзгөрүү эч бир маршрутка тийбестен акыркы чекитти жылдырышы мүмкүн.
Кайсы компонент өзгөчөлүктү жаңыртарын чечиңиз
dhcpcd системасында илгичтер илгич каталогунан жана чыгуу илгичинен иштейт, ал эми менеджер режими камтуу боюнча ар интерфейс режиминен айырмаланат. Илгич эмне кылбасын, ал идемпотенттүү болушу керек, анткени жаңыртуулар топ-топ келиши мүмкүн.
Ишенимдүү ээ эки тарапты тең мурунтан билген интеграция: VPN туташуусун башкарган тармак менеджери, же кирүү звеносу көтөрүлгөндөн кийин иреттелген unit. Илгич кошкон статикалык маршрут кийинки шлюз өзгөрүүгө чейин иштейт, анан так ушундай эле ийгиликсиз болот. Эгер илгичти баары бир колдонсоңуз, бүгүн көргөн шлюзду катуу коддоонун ордуна аткаруу учурунда учурдагы шлюзду окууга уруксат бериңиз.
Ээсин конфигурациянын ичине жазып коюңуз. Кайра туташууну жөндөй турган кийинки адам өзгөчөлүк маршрутуна VPN эмес, илгич жооптуу экенин билиши керек.
Кайра туташууну гана эмес, жашоо циклин сынаңыз
dhcpcd -n eth0 менен же ижараны бошотуп, кайра алуу менен жаңыртууга мажбурлаңыз, анан акыркы чекит үчүн ip route get кайра текшериңиз. Муну эки жолу жасаңыз, анткени экинчи жүгүртүү кош маршруттарды кошкон илгичтерди кармайт. Анан кайра жүктөңүз, анткени туруктуулук тууралыктан башка касиет.
Жаңыртуудан жана кайра жүктөөдөн аман өткөн туннелдин ээси жана иштеген өзгөчөлүгү бар. Кол менен кайра иштетүүдөн гана аман өткөн туннелде экөө тең жок, жана ал сиз пландай албаган кийинки окуяда ийгиликсиз болот.