Server VPN casnic inaccesibil: parcurge lanțul NAT
Routerul, traducătorul furnizorului și ascultătorul de pe server sunt trei granițe separate. Mergi spre exterior de la pagina de administrare înainte de a rescrie aceeași regulă de redirecționare.
Serverul răspunde în LAN, regula de redirecționare a portului pare corectă, iar un client extern tot nu se poate conecta. Parcurgerea unei granițe pe rând spre exterior este mai rapidă decât a patra editare a regulii, pentru că fiecare graniță își lasă propria dovadă: pagina WAN a routerului, traducerea furnizorului și ascultătorul de pe gazdă. Începe de la pagina de administrare deja deschisă și termină cu un test dintr-o rețea pe care nu o controlezi. Notează fiecare rezultat pe parcurs, pentru că succesiunea este diagnosticul, iar un număr ținut minte nu este dovadă. Dacă ai nevoie doar de un tunel de ieșire, traducerea nu este problema ta: se blochează numai traficul de intrare nesolicitat.
Începe de la pagina WAN a routerului
Autentifică-te pe router și citește pagina de stare, nu lista de redirecționări de porturi. Notează adresa WAN, interfața căreia îi aparține și dacă tipul conexiunii este DHCP, PPPoE sau altceva furnizat de operator. Apoi compară acea adresă cu ce raportează un serviciu extern, folosind un telefon pe date mobile pentru ca observația să nu se întoarcă prin același router. Cele două numere răspund la întrebări diferite, iar compararea lor este tot scopul acestui pas.
O adresă WAN diferită de adresa publică observată înseamnă că există cel puțin un traducător deasupra routerului. Nu este încă o defecțiune, pentru că mulți furnizori traduc prin proiectare și serviciul funcționează în continuare. Dacă cele două coincid, adresa aparține probabil routerului, iar problema s-a mutat în interiorul rețelei tale. În orice caz, notează perechea cu data, pentru că furnizorii realocă adrese, iar comparația cu notițele de luna trecută nu are valoare.
Urcă un salt mai sus
Rulează un traceroute chiar de pe router și citește primele salturi. Adrese publice repetate, un prim salt care răspunde cu o adresă privată sau o adresă din intervalul partajat 100.64.0.0/10 indică toate un traducător mai sus. RFC 6598 definește acel interval exact pentru acest tip de implementare, de aceea vederea lui în câmpul WAN este un semnal puternic și nu o curiozitate. Doi traducători pe traseu fac urma mai puțin evidentă, așa că citește tiparul, nu o singură linie.
Unii furnizori afișează adresa alocată doar în portalul clientului, așa că uită-te acolo înainte de a concluziona că routerul minte. O adresă din portal care corespunde observației tale externe în timp ce routerul raportează altceva este cea mai clară dovadă a unui traducător mai sus. Păstrează ambele pagini în jurnalul de modificări, pentru că discuția despre cine deține care graniță merge mult mai repede cu două imagini datate.
Confirmă ascultătorul și redirecționarea
Un test în LAN dovedește că serviciul funcționează local și nu dovedește nimic despre accesibilitatea din exterior. Multe routere răspund propriei reguli de redirecționare din interior, așa că un test de buclă reușește în timp ce calea externă este încă închisă. Confirmă că daemonul este legat de adresa și portul pe care le presupui, apoi testează din exterior. Tot ce urmează este doar pentru citire.
ss -lunp | grep -E '1194|51820'
ip -4 addr show | grep -E 'inet '
curl -s --max-time 5 ifconfig.me
traceroute -n -m 5 1.1.1.1
Dacă testul extern arată că niciun pachet nu ajunge la router, pierderea a avut loc mai sus și nicio regulă locală nu o va repara. Dacă pachetele ajung și nimic nu răspunde, următoarea graniță este ascultătorul sau paravanul de pe gazdă. O captură de pachete pe gazdă hotărăște pe care dintre cele două îl privești și durează mai puțin decât încă o rundă de ghicit reguli. Păstrează ascultătorul și transportul lui neschimbate în timp ce compari, altfel următorul test răspunde la altă întrebare.
Schimbă topologia, nu aceeași regulă
Când traducătorul aparține furnizorului, soluția este o altă cale, nu încă o redirecționare. Un VPS mic cu adresă publică, legat printr-un tunel de ieșire din partea casei, pune un capăt accesibil în fața serviciului. O adresă publică oferită de furnizor este mai simplă acolo unde există și de obicei mai ieftină decât întreținerea unei mașini. IPv6 elimină complet traducerea, cu condiția ca rețeaua clientului, înregistrările DNS și politica paravanului să o susțină.
DNS dinamic actualizează doar un nume; nu creează accesibilitate, iar direcționarea lui către o adresă partajată trimite clienții la o poartă a furnizorului pe care o folosesc și alți abonați. Acea defecțiune arată exact ca un server mort, de aceea contează însemnarea pașilor anteriori. Notează la ce adresă s-a rezolvat numele când testul a eșuat și păstrează răspunsul împreună cu rezultatul testului.
Rescrie planul în jurul graniței pe care o controlezi: ascultătorul, tunelul și rutele. Păstrează vechea redirecționare doar cât timp mai descrie ceva adevărat, pentru că o regulă care nu mai corespunde topologiei este mai rea decât nicio regulă. Notează ce strat bloca de fapt și ce dovadă a arătat asta. Altfel următoarea persoană care deschide pagina de administrare va repeta fiecare pas al acestui parcurs de la început.