Miért nem fogad soha kapcsolatot egy CGNAT mögötti VPN-kiszolgáló
Egy 100.64-es cím, egy máshol feloldódó dinamikus DNS-név és a hiányzó bejövő kézfogás egyetlen probléma: a szolgáltató NAT-ja. Erősítse meg, majd továbbítsa a kimenő forgalmat.
A router 100.72-vel kezdődő WAN-címet jelent, a dinamikus DNS-név egy másik nyilvános címre oldódik fel, és a routeren futó VPN-kiszolgáló soha nem fejezi be a kézfogást kívülről. A porttovábbítás be van állítva, a szolgáltatás fut, és a LAN-ból végzett teszt továbbra is működik. A router naplójában semmi sem tűnik hibának. Ez a kombináció szolgáltatói szintű NAT, és egyetlen tűzfalszabály sem nyithat portot egy olyan címen, amelyet az ISP tart.
A megosztott cím megerősítése két percet vesz igénybe, és megelőz egy hét konfigurációmódosítást.
A szolgáltatói NAT-ra utaló jelek
Hasonlítsa össze a router állapotoldalán látható WAN-címet azzal a címmel, amelyet egy külső lekérdezés jelent. A 100.64.0.0/10 tartományba eső WAN-cím a szokásos jel, a 10/8, 172.16/12 és 192.168/16 privát tartományok ugyanezt jelentik. Ha a traceroute ugyanazt a nyilvános ugrást ismétli, vagy egy korai ugrás privát címmel válaszol, még egy fordító ül a router és az internet között. Egyes ISP-k csak az ügyfélportálon listázzák a kiosztott címet, ezért exportálja ezt az értéket a traceroute mellett.
A protokollok vagy portok cseréje nem segít, mert a probléma a bejövő elérhetőség, nem egy zárt port.
Miért nem tudja megoldani a továbbítás és a dinamikus DNS
A porttovábbítási szabály a router WAN-interfészén lévő portot képezi le, de a bejövő forgalom soha nem ér el ehhez az interfészhez: az ISP először lefordítja, és csak azt továbbítja, amit a saját táblája enged. A megosztott cím dinamikus DNS-ben való közzététele olyan ISP-átjáróra irányítja az ügyfeleket, amelyet sok előfizető használ, ezért oldódik fel a név, és a kézfogás mégis meghiúsul. A hairpin-tesztek azért sikerülnek, mert a router belülről válaszol a saját szabályára, és az UPnP-nak pontosan ugyanez a vakfoltja.
Az ügyfél újrakonfigurálása sem segít, mert a hiba még azelőtt bekövetkezik, hogy bármilyen ügyfélbeállítást olvasnának.
Továbbítás VPS-en keresztül, explicit útvonalakkal
Tegyen egy nyilvános címet előre úgy, hogy bérli ki a legkisebb VPS-t, amely el tudja vinni a forgalmat, majd késztesse az otthoni routert kimenő kapcsolatra vele. Az otthoni hálózatból induló UDP átjut a szolgáltatói NAT-on, így az alagút belülről épül fel, és a VPS lesz az elérhető végpont. Az otthoni oldal fix alagútcímű ügyféllé válik, nem kiszolgálóvá.
A VPS-en adjon hozzá ügyfélspecifikus könyvtárbejegyzést, hogy a kiszolgáló tudja, melyik partner birtokolja az otthoni alhálózatot, és adjon hozzá illeszkedő kernelútvonalat.
# /etc/openvpn/server/ccd/home-site.conf ifconfig-push 10.8.0.10 255.255.255.0 iroute 192.168.50.0 255.255.255.0 # server.conf client-config-dir /etc/openvpn/server/ccd route 192.168.50.0 255.255.255.0 push "route 10.8.0.0 255.255.255.0"
A iroute sor megmondja az OpenVPN-nek, melyik ügyfél kapja az otthoni alhálózat forgalmát; a route sor be teszi ezt az alhálózatot a VPS kerneltáblájába, hogy a csomagok egyáltalán belépjenek az alagútba. Közzétett szolgáltatás esetén adjon hozzá cél-NAT-szabályt, amely a nyilvános portot 10.8.0.10-re továbbítja, és engedélyezze a net.ipv4.ip_forward beállítást.
Tesztelje az útvonalat kívülről
Ellenőrizze minden ugrást a nyilvános oldalon, mert egy sikeres alagút nem bizonyítja, hogy a szolgáltatás elérhető. A VPS-en a figyelési állapot és a csomagrögzítés megkülönbözteti a 'semmi nem érkezett' és a 'megérkezett és eldobták' esetét.
ss -lunp | grep 1194 tcpdump -ni any udp port 1194 nft list ruleset | grep -A4 dnat # from a phone on mobile data, not the home Wi-Fi nc -vz -u 203.0.113.10 1194
Ha a rögzítés a telefonról érkező csomagokat mutat, de választ nem, a következő állomás a kiszolgáló konfigurációja vagy a tűzfal. Ha a rögzítés semmit sem mutat, az ügyfél még mindig felold vagy rossz címre küld.
Elsőként árazandó alternatívák
Az ISP-től kapott dedikált IPv4-cím a legrövidebb megoldás, és általában kis havidíj. A natív IPv6 mindkét végén megszünteti a fordítást, ha a VPN, az ügyfélhálózat és a DNS-rekordok mindegyike támogatja. Az otthoni hálózaton belüli alhálózati routerrel működő mesh-réteg ugyanezt a továbbítást éri el VPS nélkül, egy koordinációs szolgáltatástól való függés árán.
Akkor válassza a továbbítást, ha a követelmény stabil bejövő hozzáférés, és minden szabálynak az Ön ellenőrzése alatt kell maradnia. Akkor válassza az ISP-címet, ha a költségkeret engedi, és a cél egyszerűen az, hogy ne kelljen többet gondolkodni rajta.