Тунэль можа паведамляць пра падключэнне, хоць да яго нічога не даходзіць, і гэтыя два факты жывуць у розных месцах. Першае — табліца маршрутаў, якая ўсё яшчэ можа адпраўляць пакеты на прыладу, якой ніхто не валодае. Другое — рэзальвер, які ўсё яшчэ можа ўказваць сервер на інтэрфейсе, якога ўжо няма. Сеткавая змена не пашкодзіла профіль, яна зрабіла стан, які належаў папярэдняму злучэнню, сіротам, і выпраўленне залежыць ад таго, на што менавіта з двух вы глядзіце.

Спачатку спытайце ядро, якую прыладу яно выбера

Спіс маршрутаў паказвае, што існуе; пошук маршруту паказвае, што адбудзецца. Спытайце пра публічны адрас і прачытайце імя прылады ў адказе, бо менавіта гэтае поле вырашае, ці трапіць пакет кудысьці карыснае. Калі адказ называе тунэльную прыладу, ядро перадасць ёй пакеты, нават калі за гэтым інтэрфейсам ужо не працуе кліенцкі працэс. Калі адказ называе фізічны адаптар, а кліент сцвярджае, што падключаны, тунэль падняты і проста не з'яўляецца выбраным шляхам.

Другі выпадак звычайны пасля таго, як кабель замяніў бяздротавую сетку, і ён выглядае як зламаны VPN.

ip route show default
ip route get 203.0.113.9

Цяпер прачытайце запісы па змаўчанні, бо маршрут, дададзены папярэднім базавым злучэннем, можа перажыць змену інтэрфейса і стаяць перад новым. Маршрут па змаўчанні праз выключаную прыладу горш за адсутнасць маршруту па змаўчанні, бо ядро ўсё роўна аддае яму перавагу. Звярніце ўвагу на метрыку побач з кожным запісам: гэты парадак тлумачыць перавагу хутчэй, чым імёны інтэрфейсаў.

Потым чытайце рэзальвер па інтэрфейсах, а не па файле

Развязанне імёнаў нясе ўласны стан і ўласную састарэласць. Рэзальвер, які пералічвае DNS-серверы па інтэрфейсах, захоўвае серверы тунэльнага інтэрфейса, які выключаны, але ўсё яшчэ зарэгістраваны, і кожны запыт потым чакае сервер, які не адкажа. Сімптом — сетка, якая здаецца мёртвай, тады як табліца маршрутаў выглядае бездакорна.

Глядзіце на стан па інтэрфейсах, а не на файл, бо ў многіх дыстрыбутывах гэты файл — сімвалічная спасылка ў рэзальвер, і яго праўка або нічога не робіць, або хутка перазапісваецца. Паглядзіце, які інтэрфейс валодае якімі серверамі і якім домаменам пошуку, а потым спытайце, ці тунэльны інтэрфейс увогуле яшчэ павінен быць зарэгістраваны. Калі не павінен, выключыце злучэнне, якому ён належыць, замест таго каб правіць згенераваны стан рукамі. Імя, якое развязваецца, тады як пошук маршруту адпраўляе пакеты ў іншае месца, — гэта трэцяя і асобная неспраўнасць.

resolvectl status
resolvectl query app.internal.example

Калі адрасы развязваюцца, а злучэнні не працуюць, рэзальвер у парадку, а маршрут не. Калі адрасы не развязваюцца зусім, пачынаць трэба тут.

Як састарэлы маршрут перажывае змену

Кліент не валодае сеткай адзін. На хосце з NetworkManager профіль VPN актывуецца паверх базавага злучэння, і параметры злучэння дазваляюць гэтай базе назваць VPN, які павінен за ёй ісці. Калі база змяняецца, бо іншы профіль робіцца лепшым, тунэль пераходзіць на новую базу або застаецца без яе.

Профіль VPN сам сябе не падымае, таму звязка важыць значна больш, чым уласная налада аўтападключэння профілю.

Прачытайце спіс актыўных і пазначце, якая база паднята, перш чым кранаць тунэль. Калі база ў спісе, а тунэлю няма, маршрут адсутнічае, а не састарэлы, і выпраўленне — актывацыя. Калі актывацыя тунэлю скардзіцца, што няма крынічнага злучэння, база, з якой ён быў звязаны, знікла, таму спачатку падыміце яе або палагодзьце звязку, а не паўтарайце спробу з тунэлем. Паўторная спроба з профілем, у якога няма бацькі, кожны раз дае тую самую памылку, і гэта карысны сігнал, а не перашкода.

nmcli device status
nmcli connection show --active
nmcli connection up office-vpn

Адрозніце састарэлы стан ад адсутнага бацькі

Тры станы тлумачаць амаль кожную справаздачу, і кожнаму патрэбна сваё выпраўленне. Маршрут па змаўчанні праз прыладу, якая яшчэ існуе, але больш не нясе тунэль, — гэта састарэлы стан; яго здымаюць выдаленнем запісу або перазапускам адказнага профілю. Тунэльная прылада, чый кліенцкі працэс знік, — гэта збой ачысткі, таму ўвагі заслугоўвае шлях адключэння, а не табліца маршрутаў. Поўная адсутнасць тунэльнай прылады азначае, што няма бацькі або звязкі, і табліца маршрутаў тут ні пры чым.

Перазагрузка хавае, які з трох станаў у вас быў, і менавіта таму яна здаецца выпраўленнем.

Пасля выпраўлення спытайце ў ядра адзін публічны і адзін унутраны адрас, а потым запытайце ўнутранае імя. Калі адрас працуе, а імя не, вы знайшлі праблему вобласці домаена ў рэзальверы, а не праблему маршрутызацыі. Запішыце, які стан вы знайшлі, бо наступная сеткавая змена адновіць той, які вы пакінулі ў спакоі.

Падобныя артыкулы