Routern rapporterar en WAN-adress som börjar med 100.72, det dynamiska DNS-namnet löses upp till en annan offentlig adress, och VPN-servern på den routern slutför aldrig en handskakning utifrån. Portvidarebefordran är konfigurerad, tjänsten körs och ett test från LAN fungerar fortfarande. Inget i routerloggen ser ut som ett fel. Kombinationen är operatörsgradig NAT, och ingen brandväggsregel kan öppna en port på en adress som ISP:n håller.

Att bekräfta den delade adressen tar två minuter och förhindrar en vecka av konfigurationsändringar.

Tecknen som pekar mot operatörens NAT

Jämför WAN-adressen på routerns statussida med adressen som en extern sökning rapporterar. En WAN-adress inom 100.64.0.0/10 är det vanliga tecknet, och de privata intervallen 10/8, 172.16/12 och 192.168/16 betyder samma sak. Om traceroute visar samma offentliga hopp upprepat, eller ett tidigt hopp svarar med en privat adress, sitter det en annan översättare mellan routern och internet. Vissa ISP:er listar bara den tilldelade adressen i kundportalen, så exportera det värdet tillsammans med traceroute.

Att byta protokoll eller port hjälper inte, eftersom problemet är inkommande nåbarhet och inte en stängd port.

Varför vidarebefordran och dynamisk DNS inte kan åtgärda det

En portvidarebefordringsregel mappar en port på routerns WAN-gränssnitt, men inkommande trafik når aldrig det gränssnittet: ISP:n översätter den först och vidarebefordrar bara det som dess egen tabell tillåter. Att publicera den delade adressen i dynamisk DNS pekar klienterna mot en ISP-gateway som många abonnenter använder, och därför löses namnet upp medan handskakningen ändå misslyckas. Hairpin-tester lyckas eftersom routern svarar på sin egen regel inifrån, och UPnP har exakt samma blinda fläck.

Det hjälper inte heller att konfigurera om klienten, eftersom felet inträffar innan någon klientinställning läses.

Vidarebefordra genom en VPS med explicita rutter

Sätt en offentlig adress framför genom att hyra den minsta VPS som kan bära trafiken, och låt sedan hemroutern ringa ut till den. Utgående UDP från hemnätet passerar operatörens NAT, så tunneln etableras inifrån och VPS:en blir den nåbara slutpunkten. Hemsidan blir en klient med fast tunneladress, inte en server.

På VPS:en lägger du till en klientspecifik katalogpost så att servern vet vilken peer som äger hemundernätet, och lägger till en matchande kärnrutt.

# /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"

Raden iroute talar om för OpenVPN vilken klient som tar emot trafik för hemundernätet; raden route lägger det undernätet i VPS:ens kärntabell så att paket överhuvudtaget kommer in i tunneln. För en publicerad tjänst lägger du till en destinations-NAT-regel som vidarebefordrar den offentliga porten till 10.8.0.10 och aktiverar net.ipv4.ip_forward.

Testa vägen utifrån

Verifiera varje hopp på den offentliga sidan, eftersom en lyckad tunnel inte bevisar att tjänsten är nåbar. Lyssningsstatus och paketinsamling på VPS:en skiljer 'inget kom' från 'kom och kastades'.

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

Om insamlingen visar paket från telefonen men inget svar, är serverkonfigurationen eller brandväggen nästa stopp. Om insamlingen inte visar något löser klienten fortfarande upp eller skickar till fel adress.

Alternativ värda att prissätta först

En dedikerad IPv4-adress från ISP:n är den kortaste lösningen och kostar vanligtvis en liten månadsavgift. Inbyggd IPv6 tar bort översättningen i båda ändar när VPN:en, klientnätet och DNS-posterna alla bär den. Ett mesh-overlay med en undernätsrouter i hemnätet uppnår samma vidarebefordran utan en VPS, men till priset av beroende av en koordineringstjänst.

Välj vidarebefordran när kravet är stabil inkommande åtkomst och varje regel ska stanna under din kontroll. Välj ISP-adressen när budgeten tillåter och målet helt enkelt är att sluta tänka på det.

Relaterade artiklar