Tunelis gali pranešti esantis prisijungęs, nors niekas jo nepasiekia, ir šie du faktai gyvena skirtingose vietose. Vienas – maršrutų lentelė, kuri vis dar gali siųsti paketus įrenginiui, kurio niekas nevaldo. Kitas – rezolveris, kuris vis dar gali rodyti serverį sąsajoje, kurios nebėra. Tinklo pokytis nesugadino profilio, jis paliko ankstesniam ryšiui priklausiusią būseną našlaičią, ir taisymas priklauso nuo to, į kurią iš dviejų jūs iš tikrųjų žiūrite.

Pirmiausia paklauskite branduolio, kokį įrenginį jis naudotų

Maršrutų sąrašas rodo, kas egzistuoja; maršruto užklausa rodo, kas nutiktų. Paklauskite apie viešą adresą ir perskaitykite atsakyme įrenginio pavadinimą, nes šis vienas laukas lemia, ar paketas pasieks ką nors naudingo. Kai atsakyme nurodomas tunelio įrenginys, branduolys perduos jam paketus, net jei už tos sąsajos nebeveikia joks kliento procesas. Kai atsakyme nurodomas fizinis adapteris, o klientas tvirtina esąs prisijungęs, tunelis yra pakeltas ir tiesiog nėra pasirinktas kelias.

Antrasis atvejis įprastas po to, kai kabelis pakeičia belaidį ryšį, ir jis pasireiškia kaip sugedęs VPN.

ip route show default
ip route get 203.0.113.9

Toliau skaitykite numatytuosius įrašus, nes ankstesnio bazinio ryšio pridėtas maršrutas gali pergyventi sąsajos pasikeitimą ir stovėti prieš naująjį. Numatytasis maršrutas per įrenginį, kuris neveikia, yra blogiau nei jokio numatytojo maršruto, nes branduolys vis tiek jam teikia pirmenybę. Atkreipkite dėmesį į metriką šalia kiekvieno įrašo, nes ta tvarka paaiškina pirmenybę greičiau nei sąsajų pavadinimai.

Tada skaitykite rezolverį pagal sąsają, o ne pagal failą

Vardų skiriamoji geba neša savo būseną ir savo pasenimą. Rezolveris, rodantis DNS serverius pagal sąsają, išlaiko tunelio sąsajos serverius, kuri neveikia, bet vis dar registruota, ir kiekviena užklausa tada laukia serverio, kuris neatsakys. Simptomas – tinklas, kuris atrodo negyvas, nors maršrutų lentelė atrodo tobula.

Tikrinkite būseną pagal sąsają, o ne failą, nes daugelyje distribucijų tas failas yra simbolinė nuoroda į rezolverį, o jo redagavimas arba nieko nedaro, arba greitai perrašomas. Pažiūrėkite, kuri sąsaja valdo kuriuos serverius ir kurį paieškos domeną, tada paklauskite, ar tunelio sąsaja apskritai dar turėtų būti registruota. Jei ne, išjunkite ją valdantį ryšį, o ne redaguokite sugeneruotą būseną ranka. Vardas, kuris išsprendžiamas, nors maršruto užklausa siunčia paketus kitur, yra trečia ir atskira klaida.

resolvectl status
resolvectl query app.internal.example

Jei adresai išsprendžiami, o ryšiai nepavyksta, rezolveris tvarkingas, o maršrutas ne. Jei adresai visai neišsprendžiami, tai tinkama vieta pradėti.

Kaip pasenęs maršrutas išgyvena pokytį

Klientas nevaldo tinklo vienas. NetworkManager kompiuteryje VPN profilis aktyvuojamas ant bazinio ryšio, o ryšio nustatymai leidžia tam baziniam ryšiui įvardyti VPN, kuris turėtų jį sekti. Kai bazinis ryšys pasikeičia, nes pirmenybę gauna kitas profilis, tunelis persikelia į naują bazinį ryšį arba lieka be jokio.

VPN profilis savęs nepakelia, todėl susiejimas reiškia daug daugiau nei paties profilio automatinio prisijungimo nuostata.

Perskaitykite aktyvų sąrašą ir atkreipkite dėmesį, kuris bazinis ryšys pakeltas, prieš liesdami tunelį. Jei bazinis ryšys sąraše yra, o tunelio nėra, maršruto trūksta, o ne jis pasenęs, ir taisymas yra aktyvavimas. Jei aktyvuojant tunelį skundžiamasi, kad nėra šaltinio ryšio, bazinis ryšys, su kuriuo jis buvo susietas, dingo, tad pirmiausia pakelkite jį arba sutaisykite susiejimą, o ne bandykite tunelį dar kartą. Bandymas pakartoti profilį, kurio tėvo nėra, kiekvieną kartą duoda tą pačią klaidą, o tai naudingas signalas, o ne nemalonumas.

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

Atskirkite pasenusią būseną nuo trūkstamo tėvo

Trys būsenos paaiškina beveik kiekvieną pranešimą, ir kiekviena reikalauja kito taisymo. Numatytasis maršrutas per įrenginį, kuris dar egzistuoja, bet nebeneša tunelio, yra pasenusi būsena, pašalinama ištrinant įrašą arba perkraunant už jį atsakingą profilį. Tunelio įrenginys, kurio kliento procesas dingo, yra valymo klaida, tad dėmesio vertas atjungimo kelias, o ne maršrutų lentelė. Visai nėra tunelio įrenginio – reiškia, kad trūksta tėvo ar susiejimo ir maršrutų lentelė niekada nebuvo įtraukta.

Perkrovimas nuslepia, kurią iš trijų turėjote, ir būtent todėl jis atrodo kaip taisymas.

Po taisymo paklauskite branduolio vieno viešo ir vieno vidinio adreso, tada paklauskite vidinio vardo. Kai adresas veikia, o vardas ne, radote domeno apimties problemą rezolveryje, o ne maršrutavimo problemą. Užsirašykite, kokią būseną radote, nes kitas tinklo pokytis atkurs tą, kurią palikote ramybėje.

Susiję straipsniai