Zašto VPN server iza CGNAT-a nikada ne prihvaća veze
Adresa 100.64, dinamičko DNS ime koje se razrješava drugdje i izostanak dolaznog rukovanja jedan su problem: NAT operatora. Potvrdite to, pa proslijedite odlazni promet kroz relej.
Ruter prijavljuje WAN adresu koja počinje s 100.72, dinamičko DNS ime razrješava se na drugu javnu adresu, a VPN server na tom ruteru nikada ne završava rukovanje izvana. Prosljeđivanje portova je konfigurirano, usluga radi, a test iz lokalne mreže još uvijek prolazi. U zapisniku rutera ništa ne izgleda kao greška. Ta kombinacija je NAT na razini operatora i nijedno pravilo vatrozida ne može otvoriti port na adresi koju drži davatelj usluge.
Potvrđivanje zajedničke adrese traje dvije minute i sprječava tjedan promjena konfiguracije.
Znakovi koji upućuju na NAT operatora
Usporedite WAN adresu na statusnoj stranici rutera s adresom koju prijavljuje vanjska provjera. WAN adresa unutar 100.64.0.0/10 uobičajen je znak, a privatni rasponi 10/8, 172.16/12 i 192.168/16 znače isto. Ako traceroute pokazuje isti javni skok ponovljen ili rani skok odgovara privatnom adresom, između rutera i interneta stoji još jedan prevoditelj. Neki davatelji usluga navode dodijeljenu adresu samo u korisničkom portalu, zato izvezite tu vrijednost uz traceroute.
Promjena protokola ili portova ne pomaže jer je problem dolazna dostupnost, a ne zatvoren port.
Zašto prosljeđivanje i dinamički DNS to ne mogu popraviti
Pravilo prosljeđivanja porta preslikava port na WAN sučelju rutera, ali dolazni promet nikada ne stiže do tog sučelja: davatelj ga prvo prevede i proslijedi samo ono što njegova tablica dopušta. Objavljivanje zajedničke adrese u dinamičkom DNS-u usmjerava klijente na pristupnik davatelja koji koristi mnogo pretplatnika, zato se ime razrješava, a rukovanje ipak ne uspijeva. Testovi povratne petlje uspijevaju jer ruter odgovara na vlastito pravilo iznutra, a UPnP ima istu slijepu točku.
Ni ponovno konfiguriranje klijenta neće pomoći jer se kvar događa prije nego što se pročita bilo koja postavka klijenta.
Prosljeđivanje kroz VPS s eksplicitnim rutama
Stavite javnu adresu naprijed tako da unajmite najmanji VPS koji može nositi promet, zatim natjerajte kućni ruter da se odlazno poveže s njim. Odlazni UDP iz kućne mreže prolazi kroz NAT operatora, pa se tunel uspostavlja iznutra i VPS postaje dostupna završna točka. Kućna strana postaje klijent s fiksnom adresom tunela, a ne poslužitelj.
Na VPS-u dodajte zapis direktorija za pojedinog klijenta kako bi poslužitelj znao koji partner posjeduje kućnu podmrežu i dodajte odgovarajuću rutu jezgre.
# /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"
Linija iroute govori OpenVPN-u koji klijent prima promet za kućnu podmrežu; linija route stavlja tu podmrežu u tablicu jezgre VPS-a kako bi paketi uopće ušli u tunel. Za objavljenu uslugu dodajte pravilo odredišnog NAT-a koje prosljeđuje javni port na 10.8.0.10 i omogućite net.ipv4.ip_forward.
Testirajte put izvana
Provjerite svaki skok na javnoj strani jer uspješan tunel ne dokazuje da je usluga dostupna. Stanje slušanja i snimanje paketa na VPS-u razlikuju 'ništa nije stiglo' od 'stiglo i odbačeno'.
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
Ako snimanje pokazuje pakete s telefona, ali nema odgovora, sljedeća je stanica konfiguracija poslužitelja ili vatrozid. Ako snimanje ne pokazuje ništa, klijent još razrješava ili šalje na pogrešnu adresu.
Alternative koje prvo vrijedi procijeniti
Namjenska IPv4 adresa od davatelja najkraće je rješenje i obično mala mjesečna naknada. Izvorni IPv6 uklanja prevođenje na oba kraja kada ga nose VPN, klijentska mreža i DNS zapisi. Mrežni overlay s usmjerivačem podmreže unutar kućne mreže postiže isti relej bez VPS-a, ali uz ovisnost o usluzi koordinacije.
Odaberite relej kada je zahtjev stabilan dolazni pristup i svako pravilo treba ostati pod vašom kontrolom. Odaberite adresu davatelja kada proračun dopušta i cilj je samo prestati razmišljati o tome.