Эмне үчүн толук туннелдин маршруту аны ташыган серверди кесип салат
Туннел аркылуу өткөн демейки маршрут аны ташыган тышкы пакеттерди да кармайт. Акыркы чекитти хост маршруту менен бекитип, сервердин жоопторун андан тышкары кармаңыз.
Толук туннелди күйгүзүңүз, эми ар бир багыт VPN интерфейсине таандык, аны бүтүргөн машина да кошо. Туннелди ташыган тышкы пакеттер ошол машинага адрестелген, ошондуктан маршрут акыры өзү көз каранды болгон транспортту сарптайт. Бир кошумча так маршрут муну чечет, ал эми себебин түшүнүүгө татыктуу. Ошол себеп жок болсо, кийинки кайра куруу кемчиликти кайра алып келет.
Өз транспортун жеген маршрут
Инкапсуляция ар бир пакетти экинчи аталышка ороп салат. Тышкы аталыш жергиликтүү физикалык даректен сервердин жарыя дарегине багытталган жана кандайдыр бир туннел пайда болгонго чейин физикалык звенону кечип өтүшү керек.
Эми ошол жарыя дарек үчүн издөө туннелди тандасын. Пакетти жөнөтүү үчүн машина аны инкапсуляциялоого тийиш, бул ошол эле дарекке маршрутту талап кылат, ал туннелди кайтарат. Кардарлар муну эки жолдун бири менен чечишет. Этияттыгы демейки маршрутту орнотуудан баш тартып, ката тууралуу билдирет, ал эми анча этият эмеси ийгилик тууралуу билдирип, анан эч нерсени жылдырбайт. Унчукпас ийгиликсиздик жарым күндү жеп коёт.
Эң узун префикстин дал келиши кандайдыр бир метрикага карабастан издөөнү чечет, ошондуктан бир даректүү маршрут машинадагы ар бир демейки маршруттан озуп кетет. Оңдоонун артындагы бүт механизм ушул.
Демейкиден мурун өзгөчөлүктү орнотуңуз
Сервер үчүн бир даректүү маршрут түзүңүз, физикалык шлюзду кийинки секирүү катары алып, демейки маршрут жылганга чейин. Тартип маанилүү: кийин орнотуу — терип жатканда сынган туннел менен жашоо дегендик.
Кардарлардын көбү муну сурабастан эле жасашат. OpenVPN алыскы даректи издеп, демейки шлюзду кайра жазганга чейин аны бекитет, ал эми анын route-delay опциясы ушул ырааттуулук жарышкан платформалар үчүн бар. wg-quick таптакыр башка жолду тандайт, пакеттерди белгилеп, саясат эрежесине кайрылуу менен өзгөчөлүк кошуунун ордуна. Ар башка механизмдер, бир талап: тышкы пакет өзү жараткан туннелден кутулушу керек.
ip route add 203.0.113.10/32 via 192.168.1.1 dev eth0
ip route get 203.0.113.10
Издөөнүн чыгышы — кабыл алуу тести. Ал физикалык түзмени жана физикалык кийинки секирүүнү аташы керек. Ошол жоопто туннел түзмөсү болушу өзгөчөлүктүн жоктугун же аны басып кетүүчү нерсенин артына коюлганын билдирет.
Сервердеги күзгү образы
Ошол эле тузак аркы тарапта, тескерисинче күтөт. Серверге башка туннел аркылуу демейки маршрут бериңиз, же кардарлардын жарыя даректерин камтыган маршрутту ага түртүп жибериңиз, ошондо анын жооптору туура эмес багыт адат алышат.
Тутанып, сурам жөнөткөн кардарды элестетиңиз. Жооп ошол кардардын жарыя дарегине адрестелген, ал эми азыр туннел маршрутуна дал келет, ошондуктан ал башка интерфейстен чыгып, кардар эч качан тербеген булакты ала жүрөт. Кардар бул пакетти кабыл алып, баары бир таштай алат, анткени аны жөнөткөн сурам менен эч нерсе байланыштырбайт. Кардардын күтүү убактысынан эмес, сервердин маршруттоо чечиминен баштаңыз, анткени экөөнүн бирөө гана чыныгы тандоону көрсөтөт.
ip route get 198.51.100.44 from 10.90.0.1
ip rule show
sudo tcpdump -ni any host 198.51.100.44
Үч оңдоо бар жана алар тең эмес. Кызматты физикалык дарекке бекитүү же булакты которуу — экөө тең маршруттоо чечимин оңдоонун ордуна жашырат. Туннел пулу үчүн жооп трафигин атайын таблица аркылуу жөнөтүү себепти оңдойт, ал эми калган экөө маршруттоо долбоору тоңуп турганда гана жарактуу.
Туннел тынымсыз уурдай турган өзгөчөлүктөр
Бир аз иш туннел демейки маршрутту ээлеп турса да ачык интернетти талап кылат, жана ар бирине өзүнүн өзгөчөлүгү керек. Динамикалык DNS жаңырткычы адатта биринчи бузулат.
Ал провайдерди чечип, байланыш ачат жана өз пакеттеринин дареги секунд мурун өзгөргөн туннел аркылуу жүргөнүн табат, ошондуктан жаңыртуу ийгиликсиз болот же туура эмес даректи жарыялайт. Үч чыгуу жолу: провайдерди физикалык шлюз аркылуу хост маршруту менен бекитиңиз, жаңыртууну туннел көтөрүлгөнгө чейин иштетиңиз, же жаңырткычка туннел эч качан тийбеген саясат таблицасын бериңиз. Убакыт синхрондоо чечүүчүсүз жүктөлгөн түзмөктө ушундай эле таасирге дуушар болот, ал эми сертификат текшерүү акыркы чекиттери да ошол себептен тизмеге кирет.
Эч ким жазбаган өзгөчөлүк — кийинки кайра куруу унчукпастан таштап кетүүчү өзгөчөлүк.
Муну кайра туташкандан кийин далилдеңиз, мурун эмес
Үч багытты текшериңиз, бирөөнү эмес: акыркы чекит, туннелдин артындагы жеке дарек жана андан ары жарыя дарек. Бир ийгиликтүү издөө калган экөө тууралуу дээрлик эч нерсе айтпайт.
ip route get 203.0.113.10
traceroute -n 203.0.113.10
ip route get 10.90.0.5
ip route get 1.1.1.1
Анан байланышты кайра иштетиңиз, анткени кайра туташууда таблицасын кайра куруучу кардар кол менен терген маршрутту таштап кетет. Kill switch күйүп турса, акыркы чекитке уруксат бар-жогун текшериңиз, болбосо тармак өзгөргөндөн кийин туннел кайта албайт жана симптом үзүлүшкө окшошот. Өзгөчөлүктү shell тарыхында эмес, профилде же unit файлында сактаңыз, кайра туташуу аны өчүрүүнүн ордуна кайра жаратсын.