Routeren rapporterer en WAN-adresse, der begynder med 100.72, det dynamiske DNS-navn opløses til en anden offentlig adresse, og VPN-serveren på den router fuldfører aldrig et håndtryk udefra. Portforwarding er konfigureret, tjenesten kører, og en test fra LAN'et virker stadig. Intet i routerloggen ligner en fejl. Kombinationen er carrier-grade NAT, og ingen firewallregel kan åbne en port på en adresse, som udbyderen holder.

At bekræfte den delte adresse tager to minutter og forhindrer en uge med konfigurationsændringer.

Tegnene, der peger på carrier-NAT

Sammenlign WAN-adressen på routerens statusside med den adresse, en ekstern opslag rapporterer. En WAN-adresse inden for 100.64.0.0/10 er det sædvanlige tegn, og de private områder 10/8, 172.16/12 og 192.168/16 betyder det samme. Hvis traceroute viser samme offentlige hop gentaget, eller et tidligt hop svarer med en privat adresse, sidder der en anden oversætter mellem routeren og internettet. Nogle udbydere viser kun den tildelte adresse i kundeportalen, så eksportér den værdi sammen med traceroute.

At skifte protokol eller port hjælper ikke, fordi problemet er indgående tilgængelighed og ikke en lukket port.

Hvorfor forwarding og dynamisk DNS ikke kan løse det

En portforward-regel mapper en port på routerens WAN-grænseflade, men indgående trafik når aldrig den grænseflade: udbyderen oversætter den først og videresender kun det, dens egen tabel tillader. Når den delte adresse offentliggøres i dynamisk DNS, peger klienterne på en udbydergateway, som mange abonnenter bruger, og derfor opløses navnet, mens håndtrykket stadig fejler. Hairpin-tests lykkes, fordi routeren svarer på sin egen regel indefra, og UPnP har præcis samme blinde vinkel.

Det hjælper heller ikke at omkonfigurere klienten, da fejlen sker, før nogen klientindstilling læses.

Videresend gennem en VPS med eksplicitte ruter

Sæt en offentlig adresse foran ved at leje den mindste VPS, der kan bære trafikken, og lad derefter hjemmerouteren ringe ud til den. Udgående UDP fra hjemmenettet passerer carrier-NAT, så tunnelen oprettes indefra, og VPS'en bliver det tilgængelige endepunkt. Hjemmesiden bliver en klient med en fast tunneadresse, ikke en server.

På VPS'en skal du tilføje en klientspecifik mappeindgang, så serveren ved, hvilken peer der ejer hjemmesubnettet, og tilføje en tilsvarende kernelrute.

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

Linjen iroute fortæller OpenVPN, hvilken klient der modtager trafik for hjemmesubnettet; linjen route sætter det subnets i VPS'ens kerneltabel, så pakker overhovedet kommer ind i tunnelen. Til en offentliggjort tjeneste skal du tilføje en destination-NAT-regel, der videresender den offentlige port til 10.8.0.10, og aktivere net.ipv4.ip_forward.

Test stien udefra

Bekræft hvert hop på den offentlige side, fordi en vellykket tunnel ikke beviser, at tjenesten er tilgængelig. Lyttetilstand og pakkefangst på VPS'en skelner 'intet ankom' fra 'ankom og blev droppet'.

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

Hvis fangsten viser pakker fra telefonen, men intet svar, er serverkonfigurationen eller firewallen næste stop. Hvis fangsten intet viser, opløser klienten stadig eller sender til den forkerte adresse.

Alternativer, der er værd at prissætte først

En dedikeret IPv4-adresse fra udbyderen er den korteste løsning og koster normalt et lille månedligt gebyr. Indbygget IPv6 fjerner oversættelse i begge ender, når VPN'en, klientnettet og DNS-posterne alle bærer det. Et mesh-overlay med en subnetrouter inde i hjemmenettet opnår samme videresendelse uden en VPS, men på bekostning af afhængighed af en koordineringstjeneste.

Vælg videresendelsen, når kravet er stabil indgående adgang, og hver regel skal blive under din kontrol. Vælg udbyderadressen, når budgettet tillader det, og målet blot er at holde op med at tænke på det.

Relaterede artikler