A régi alapértelmezett útvonala szándékosan túléli az OpenVPN-t
Két /1-es útvonal felülmúlja az alapértelmezettet anélkül, hogy lecserélné. Ellenőrizze, melyik útvonalat veszi valóban egy cél, majd hagyja a régi átjárót a helyén.
Csatlakoztatja az alagutat, lefuttatja az ip route parancsot, és az eredeti alapértelmezett átjáró még mindig ott van. A következő gondolat, hogy az ügyfél nem vette át az útvonalat, ezért kézzel törli az alapértelmezettet, és teljesen elveszíti a kapcsolatot. Ennek a bejegyzésnek maradnia kell. A redirect-gateway def1 kapcsolóval az OpenVPN két konkrétabb útvonalat telepít, amelyek felülmúlják a szokásos alapértelmezettet ahelyett, hogy lecserélnék. A régi átjáró megmarad, és megszűnik a tesztelt forgalom továbbítása.
Mit tesz valójában a def1
A kapcsoló hozzáadja a 0.0.0.0/1 és 128.0.0.0/1 útvonalat, mindkettő az alagút felé mutat. A 0.0.0.0/1 minden olyan címet lefed, amelynek első oktettje 0 és 127 között van, a 128.0.0.0/1 pedig 128 és 255 közöttit, így minden IPv4-célhoz konkrétabb egyezés tartozik, mint a régi alapértelmezett. Az előtag hossza, nem a metrika dönti el, melyik útvonal nyer.
Az eredeti alapértelmezett helyben hagyása szándékos. Az ügyfélnek nem kell emlékeznie, mit cserélt le, és nem írja át azt az útvonalat, amely a saját kapcsolatát viszi a VPN-kiszolgálóhoz. Leválasztáskor eltávolítja a két félútvonalat, és a tábla visszaáll arra, ami volt.
Miért /1 és nem /0
Az útválasztás a leghosszabb egyező előtagot választja, nem a legalacsonyabb metrikát, így a /1 legyőzi a /0-t, bármit mond az alapértelmezett metrikája. Mindkét fél azért létezik, mert egy /1 csak a tér felét fedi le; ha csak 0.0.0.0/1 van jelen, minden 128.0.0.0-tól felfelé továbbra is a régi alapértelmezettet követi, ami azt a zavaró tünetet okozza, hogy egyes oldalak működnek, mások nem.
A régi alapértelmezett metrikájának emelése vagy csökkentése semmit sem változtat, és egy másik interfészen lévő alacsonyabb metrikájú alapértelmezett sem lopja el a forgalmat. Először az előtag hossza dönt, és csak az egyenlő előtagok esnek vissza a metrikára.
Olvasson valódi útválasztási táblát
Egy csatlakoztatott gazdagép egyszerre mutathatja mindhárom bejegyzést, az alagút viszi a feleket, az eredeti átjáró pedig még szerepel a listán. A címek példák, nem másolható konfiguráció, mert az interfésznevek, az alagút topológiája és a további útvonalak platformonként és ügyfélként változnak.
default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0A fontos a viszony: két konkrét fél egy általános alapértelmezett felett. A régi átjáró sora megmarad, mert semmi nem cserélte le.
Ellenőrizze, melyik útvonalat veszi valóban a csomag
A konkrétabb útvonalak még mindig nyerhetnek: egy útvonal privát tartományhoz, helyi alhálózathoz vagy maga a VPN-kiszolgáló címe hosszabb, mint egy /1. Az alagútnak külső útra van szüksége a kiszolgálójához, és ha ezt a kapcsolatot visszaküldené az alagútba, az azonnal eltörne. Linuxon kérdezze a kernelt ahelyett, hogy szemmel olvasná a táblát: az ip route get a kérdéses céllal kiírja a választott útvonalat, az interfészt és a forrást. Ha szabályalapú útválasztás van beállítva, vizsgálja meg a szabályokat is, mert egy szabály másik táblát választhat, mielőtt a fő táblát megnézné.
Ha csak az IPv4 egy része viselkedik hibásan, erősítse meg, hogy mindkét fél telepítve van, majd keressen a hibás célhoz illeszkedő kivételt. A régi alapértelmezett törlése nem megoldás, és eltávolítja azt az útvonalat, amelyre az ügyfélnek szüksége van az alagút tisztességes bontásához.
Mit nem fed le a def1
Két IPv4-bejegyzés semmit sem mond az IPv6-ról: az IPv6-kapcsolattal rendelkező gazdagép tovább használja a saját alapértelmezettjét, amíg valami külön nem irányítja át ezt a családot, ezért a kettős veremű hálózaton a forgalom egy része úgy tűnik, mintha megkerülné az alagutat. Más ügyfelek és hálózatkezelők másképp valósítják meg a teljes alagút útválasztását, és a tábláik nem fognak egyezni. Az itt leírt def1-viselkedés az OpenVPN dokumentált kapcsolójához tartozik, nem a gépen lévő minden VPN-hez.
A kill switch más kérdésre válaszol: mit tesz a gép, amikor az alagút kiesik. Az útvonalak prioritása eldönti, hová megy a forgalom, amíg az alagút áll; azt nem dönti el, mit tesz utána egy tűzfal. A munka sorrendje: olvassa el a táblát, erősítse meg, hogy mindkét fél létezik, futtassa az ip route get parancsot a hibás célra, ellenőrizze a szabályokat, majd nézze meg külön az IPv6-ot. Hagyja a régi alapértelmezettet ott, ahol van.