Router zgłasza adres WAN zaczynający się od 100.72, dynamiczna nazwa DNS rozwiązuje się na inny adres publiczny, a serwer VPN na tym routerze nigdy nie kończy uścisku dłoni z zewnątrz. Przekierowanie portów jest skonfigurowane, usługa działa, a test z sieci LAN nadal przechodzi. W dzienniku routera nic nie wygląda na błąd. Ta kombinacja to NAT klasy operatorskiej i żadna reguła zapory nie może otworzyć portu na adresie, który trzyma ISP.

Potwierdzenie współdzielonego adresu zajmuje dwie minuty i zapobiega tygodniowi zmian konfiguracji.

Oznaki wskazujące na NAT operatora

Porównaj adres WAN na stronie statusu routera z adresem zgłaszanym przez zewnętrzne zapytanie. Adres WAN w zakresie 100.64.0.0/10 to zwykła oznaka, a prywatne zakresy 10/8, 172.16/12 i 192.168/16 znaczą to samo. Jeśli traceroute pokazuje ten sam publiczny skok wielokrotnie albo wczesny skok odpowiada adresem prywatnym, między routerem a internetem stoi jeszcze jeden translator. Niektórzy ISP podają przydzielony adres tylko w portalu klienta, więc wyeksportuj tę wartość razem z traceroute.

Zmiana protokołów lub portów nie pomaga, bo problemem jest osiągalność ruchu przychodzącego, a nie zamknięty port.

Dlaczego przekierowanie i dynamiczny DNS tego nie naprawią

Reguła przekierowania portu mapuje port na interfejsie WAN routera, ale ruch przychodzący nigdy nie dociera do tego interfejsu: ISP najpierw go tłumaczy i przekazuje tylko to, na co pozwala jego własna tablica. Publikowanie współdzielonego adresu w dynamicznym DNS kieruje klientów na bramę ISP używaną przez wielu abonentów, dlatego nazwa się rozwiązuje, a uścisk dłoni nadal zawodzi. Testy hairpin przechodzą, bo router odpowiada na własną regułę od środka, a UPnP ma dokładnie ten sam martwy punkt.

Ponowna konfiguracja klienta też nie pomoże, ponieważ awaria następuje, zanim odczytane zostanie jakiekolwiek ustawienie klienta.

Przekazywanie przez VPS z jawnymi trasami

Postaw z przodu publiczny adres: wynajmij najmniejszy VPS, który udźwignie ruch, a następnie spraw, by router domowy połączył się z nim wychodząco. UDP wychodzące z sieci domowej przechodzi przez NAT operatora, więc tunel powstaje od środka, a VPS staje się osiągalnym punktem końcowym. Strona domowa staje się klientem ze stałym adresem tunelu, a nie serwerem.

Na VPS dodaj wpis katalogowy właściwy dla klienta, aby serwer wiedział, który peer posiada podsieć domową, i dodaj odpowiednią trasę jądra.

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

Linia iroute mówi OpenVPN, który klient odbiera ruch dla podsieci domowej; linia route umieszcza tę podsieć w tablicy jądra VPS, aby pakiety w ogóle weszły do tunelu. Dla opublikowanej usługi dodaj regułę NAT docelowego, która przekierowuje publiczny port na 10.8.0.10, i włącz net.ipv4.ip_forward.

Przetestuj ścieżkę z zewnątrz

Sprawdź każdy skok po stronie publicznej, bo udany tunel nie dowodzi osiągalności usługi. Stan nasłuchu i przechwytywanie pakietów na VPS oddzielają „nic nie dotarło” od „dotarło i zostało odrzucone”.

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

Jeśli przechwytywanie pokazuje pakiety z telefonu, ale nie ma odpowiedzi, następnym przystankiem jest konfiguracja serwera lub zapora. Jeśli przechwytywanie nic nie pokazuje, klient nadal rozwiązuje nazwę lub wysyła na zły adres.

Alternatywy warte wycenienia w pierwszej kolejności

Dedykowany adres IPv4 od ISP to najkrótsze rozwiązanie i zwykle niewielka opłata miesięczna. Natywny IPv6 usuwa tłumaczenie na obu końcach, gdy VPN, sieć klienta i rekordy DNS go obsługują. Nakładka mesh z routerem podsieci w sieci domowej daje ten sam przekaźnik bez VPS, ale kosztem zależności od usługi koordynacyjnej.

Wybierz przekaźnik, gdy wymogiem jest stabilny dostęp przychodzący i każda reguła ma pozostać pod twoją kontrolą. Wybierz adres ISP, gdy budżet pozwala, a celem jest po prostu przestać o tym myśleć.

Powiązane artykuły