Az IPv6 abban a pillanatban abbahagyja a forgalom átengedését, amikor OpenVPN újraindul, az IPv4 pedig tovább működik. A tunel interfésze újra létrejött, és valami más, ami az IPv6-állapotát kezelte, elvesztette vagy a címet, vagy az útvonalat, amely elérhetővé teszi a prefixet. Három különálló állapotdarab érintett, és mindegyiknek más a tulajdonosa: a szolgáltató delegált prefixe és annak élettartama, a VPN-ügyfeleknek kiosztott címek, és a felső útvonal, amely visszaküldi azt az ügyfélprefixet a szerverhez. Azonosítsa mindegyik tulajdonosát, mielőtt bármelyik daemonhoz nyúlna, mert a rossz újraindítása egy napra elrejti a problémát, és a következő csatlakozáskor visszahozza.

Három IPv6-állapotdarab, három tulajdonos

StateTypical ownerWhat breaks when it is wrong
Delegated prefix and lifetimeUpstream router or provider via DHCPv6-PDClients keep addresses that the upstream no longer routes
Client addresses inside the tunnelOpenVPN server config or a delegation daemonNo global address, or an address outside the routed prefix
Return route for the client prefixUpstream router, or the server's own routing tableOutbound works, replies never arrive

Egy globális hatókörű cím a tunelen belül önmagában nem elég. A felső routereknek továbbra is vissza kell küldeniük azt a prefixet a VPN-szerver felé, és nem fogják megtenni csak azért, mert a szervernek véletlenül van egy cím abból.

Ezért kockázatos egy nyilvános /64-et tunelpoolba másolni. A szerverhez irányított prefix nem ugyanaz, mint amit a felső oldal on-linkként kezel, és a szomszédkeresés nem tölti ki ezt a rést.

Olvassa ki a szerver állapotát, mielőtt bármit módosít

Rögzítse az állapotot kétszer, egyszer amikor az IPv6 működik, és egyszer az újraindítás után, majd hasonlítsa össze. A csak olvasható nézetek elegendőek, és semmibe sem kerülnek egy karbantartási ablak alatt:

ip -6 addr show
ip -6 route show table all
ip -6 rule show
sysctl net.ipv6.conf.all.forwarding

Keressen három konkrét eltérést: egy eltűnt útvonalat, egy címet, amely elavult vagy érvénytelen élettartamra váltott, és egy prefixet, amely az újradelegálás után megváltozott, miközben a VPN-konfiguráció még a régit hirdeti.

Ha a cím eltűnt, de a prefix változatlan, akkor az azt kiosztó daemon felhagyott az interfész kezelésével. Ha a prefix változott, de a címek nem, akkor az ügyfélkonfiguráció elavult. A két hiba böngészőből azonosnak látszik, és semmi közös nincs bennük.

Döntse el, hogy a dhcpcd kezelje-e a tunelt

A dhcpcd képes interfészeket felfedezni, és egy DHCPv6-prefix részeit továbbdelegálni az alsóbb interfészeknek, a konfigurációja pedig név szerint megadhatja a delegálási célokat. Kifejezett cél nélkül a dokumentált viselkedése más interfészeket is érinthet, és így lesz a tunelnek olyan címe, amelyet senki sem tervezett.

Két feltételnek kellene arra terelnie, hogy az OpenVPN tulajdonába adja a tunel statikus címzését: a szerver fix címeket tol a konfigurációjában, és a tunel neve újracsatlakozáskor megváltozik. Ha mindkettő fennáll, zárja ki a tunelt szándékosan a delegáló daemonból, egy megjegyzéssel, amely megmondja, miért.

Ha viszont a tunelre delegálás szándékos, valósítsa meg a prefixváltozás kezelését. Ez azt jelenti, hogy reagálni kell, amikor a delegált prefix vagy annak élettartama megváltozik, frissíteni kell a szerver által hirdetett ügyfélprefixet, és újra hozzá kell adni az útvonalat. Az interfész kizárása abban a tervben eltávolítja az egyetlen komponenst, amely ismeri az új prefixet.

A dhcpcd újraindítása úgy tűnhet, hogy rendbe hozza a dolgokat, mert újra létrehozza az állapotot, de olyan interfészek konfigurációját is megújítja vagy visszavonja, amelyekre nem gondolt. Az ilyen helyreállítás nem teszi kötelezővé minden VPN-újraindítás után. Azokat a számlálókat is nullázza, amelyeket bizonyítékként használt. Részesítse előnyben a ténylegesen módosított interfész célzott újratöltését.

Az IPv6-ot az IPv4 NAT-tól külön ellenőrizze

Erősítse meg, hogy a továbbítás engedélyezett, és a felső útvonal a tényleges ügyfélprefixre mutat, majd hozzon létre egy új, engedélyezett IPv6-kapcsolatot. Ellenőrizze magának az ügyfélnek az IPv6-os útvonaltábláját is, mert egy nyilvános címet mutató ügyfél nem bizonyítja, hogy a kérése a tunelt használta.

Az IPv4-maszkolás más problémát old meg: a visszautat privát forrásokhoz. Egy visszavont IPv6-prefixért semmit sem tesz, és hozzáadása nem hozza vissza az IPv6-ot.

Zárja le a tulajdonjogi nyilvántartással: melyik komponens delegálja a prefixet, melyik osztja ki az ügyfélcímeket, melyik tartja a visszautat, és mi történik mindegyikkel újracsatlakozáskor. Négy sor egy runbookban megkíméli a következő embert attól, hogy három daemont újraindítson, hogy megtalálja azt, amelyik számított.

Kapcsolódó cikkek