Egy alagút jelentheti azt, hogy csatlakozva van, miközben semmi nem ér el hozzá, és ez a két tény különböző helyeken lakik. Az egyik az útvonaltábla, amely még mindig küldhet csomagokat egy olyan eszközre, amely senki tulajdonában nincs. A másik a feloldó, amely még mindig felsorolhat egy kiszolgálót egy olyan kapcsolaton, amely eltűnt. A hálózati változás nem rongálta meg a profilt, árvaságra juttatta az előző kapcsolathoz tartozó állapotot, és a javítás attól függ, hogy melyiket nézed éppen.

Először kérdezd meg a kernelt, melyik eszközt használná

Egy útvonallista azt mutatja, mi létezik; egy útvonalkeresés azt mutatja, mi történne. Kérdezz rá egy nyilvános címre, és olvasd ki a válaszból az eszköz nevét, mert ez az egyetlen mező dönti el, hogy a csomag eljut-e valahova hasznos helyre. Amikor a válasz alagúteszközt nevez meg, a kernel annak adja a csomagokat akkor is, ha az adott interfész mögött már nem fut kliensfolyamat. Amikor a válasz a fizikai adaptert nevezi meg, miközben a kliens azt állítja, hogy csatlakozva van, az alagút áll, és csupán nem ez a választott útvonal.

A második eset a szokásos, miután kábel váltja fel a vezeték nélkülit, és törött VPN-ként jelenik meg.

ip route show default
ip route get 203.0.113.9

Ezután olvasd el az alapértelmezett bejegyzéseket, mert az előző alapkapcsolat által hozzáadott útvonal túlélheti a kapcsolatváltást, és az új elé kerülhet. Egy leállt eszközön át vezető alapértelmezett útvonal rosszabb, mint a semmilyen, mert a kernel továbbra is azt részesíti előnyben. Figyeld meg a metrikát minden bejegyzés mellett, mert ez a sorrend gyorsabban megmagyarázza a preferenciát, mint az interfészek nevei.

Aztán kapcsolatonként olvasd a feloldót, ne fájlonként

A névfeloldás saját állapotot és saját avulást hordoz. Egy kapcsolatonként DNS-kiszolgálókat felsoroló feloldó megtartja egy leállt, de még regisztrált alagútkapcsolat kiszolgálóit, és minden lekérdezés ezután egy olyan kiszolgálóra vár, amely nem fog válaszolni. A tünet egy halottnak tűnő hálózat, miközben az útvonaltábla tökéletesnek látszik.

A kapcsolatonkénti állapotot vizsgáld, ne a fájlt, mert sok disztribúción a fájl egy szimbolikus hivatkozás a feloldóba, és szerkesztése vagy semmit nem tesz, vagy gyorsan felülíródik. Nézd meg, melyik kapcsolat mely kiszolgálókat és mely keresési tartományt birtokolja, majd kérdezd meg, hogy az alagútkapcsolatnak egyáltalán még regisztrálva kellene-e lennie. Ha nem, kapcsold ki a tulajdonos kapcsolatot ahelyett, hogy kézzel szerkesztenéd a generált állapotot. Egy név, amely feloldódik, miközben az útvonalkeresés máshova küldi a csomagokat, egy harmadik és külön hiba.

resolvectl status
resolvectl query app.internal.example

Ha a címek feloldódnak és a kapcsolatok meghiúsulnak, a feloldó rendben van, az útvonal nem. Ha a címek egyáltalán nem oldódnak fel, itt érdemes elkezdeni.

Hogyan éli túl egy elavult útvonal a változást

A kliens nem birtokolja egyedül a hálózatot. NetworkManager-gazdán a VPN-profil egy alapkapcsolat fölött aktiválódik, és a kapcsolatbeállítások engedik, hogy az alap megnevezze a követendő VPN-t. Amikor az alap megváltozik, mert egy másik profil válik előnyben részesítetté, az alagút követi az új alapra, vagy alap nélkül marad.

A VPN-profil nem hozza fel magát, ezért a párosítás sokkal fontosabb, mint a profil saját automatikus csatlakozási beállítása.

Olvasd el az aktív listát, és jegyezd meg, melyik alap áll, mielőtt hozzányúlsz az alagúthoz. Ha az alap szerepel a listán, az alagút nem, akkor az útvonal hiányzik, nem elavult, és a javítás az aktiválás. Ha az alagút aktiválása azt panaszolja, hogy nincs forráskapcsolat, akkor az alap, amellyel párosítva volt, eltűnt, ezért előbb azt hozd fel, vagy javítsd a párosítást, ahelyett hogy újra próbálnád az alagutat. Egy hiányzó szülőjű profil újrapróbálása minden alkalommal ugyanazt a hibát adja, ami hasznos jelzés és nem bosszúság.

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

Különböztesd meg az elavult állapotot a hiányzó szülőtől

Három állapot magyarázza szinte az összes jelentést, és mindegyik más javítást kíván. Egy alapértelmezett útvonal olyan eszközön át, amely még létezik, de már nem hordozza az alagutat, elavult állapot, amelyet a bejegyzés törlésével vagy a felelős profil újraindításával tisztítanak. Az az alagúteszköz, amelynek kliensfolyamata eltűnt, tisztítási hiba, ezért a leválasztási útvonal érdemel figyelmet, nem az útvonaltábla. Ha egyáltalán nincs alagúteszköz, akkor a szülő vagy a párosítás hiányzik, és az útvonaltábla soha nem volt érintett.

Az újraindítás elrejti, hogy melyik három közül volt nálad, és éppen ezért tűnik javításnak.

A javítás után kérj a kerneltől egy nyilvános és egy belső címet, majd kérdezz rá egy belső névre. Amikor a cím működik és a név nem, a feloldóban találtál tartományhatókör-problémát, nem útvonal-problémát. Jegyezd fel, melyik állapotot találtad, mert a következő hálózati változás azt fogja újratermelni, amelyiket békén hagytad.

Kapcsolódó cikkek