SSH către IP-ul public al serverului WireGuard eșuează pe Windows
O rută și o regulă de firewall sunt două decizii separate. Pe Windows, un peer cu /0 activează reguli restrictive, iar transportul propriu al tunelului este excepția.
Tunelurile care urcă în timp ce SSH către adresa publică a serverului încetează să funcționeze par un server care refuză conexiunea. Pe Windows cauza mai probabilă este locală: un AllowedIPs de tunel complet cu /0 activează reguli restrictive de firewall care permit transportul propriu al tunelului și foarte puțin altceva. Pachetele criptate care ajung la acea adresă nu spun nimic despre dacă o conexiune TCP separată către aceeași adresă poate ieși.
Separă adresa publică a punctului final de adresa sa internă de tunel înainte de a atinge lista de peeri. Aproape fiecare încercare de a repara asta editând AllowedIPs face politica mai slabă în loc să facă ruta corectă.
Permisiunea de rutare și permisiunea de firewall sunt diferite
O rută decide unde ar fi trimis un pachet, iar o regulă de firewall decide dacă poate fi trimis deloc. De aceea adăugarea unei rute pentru IP-ul public al punctului final produce o cale pe care filtrul o poate bloca în continuare, și exact această confuzie o creează acest simptom. Pe Windows filtrul face parte din implementare, nu este un supliment, așa că nicio intrare de rută nu îl schimbă. Cele două decizii sunt separate și în alte părți, deși valorile implicite diferă.
De aceea un traceroute către punctul final poate reuși în timp ce o încercare SSH eșuează. Prima este purtată de serviciul care deține excepția, a doua nu.
Ce face /0 pe Windows
Cu un singur peer ale cărui adrese permise acoperă întregul spațiu IPv4, WireGuard for Windows aplică o poziție restrictivă de firewall care blochează traficul ce altfel ar ieși în afara tunelului. Transportul propriu al serviciului de tunel este permis, pentru că VPN-ul nu ar putea funcționa altfel. O altă aplicație către aceeași adresă publică nu primește o astfel de permisiune, fiindcă excepția aparține transportului, nu adresei. Note de rețea Windows descriu acest comportament și controlul asociat din editor.
Acele reguli sunt mecanismul din spatele expresiei kill switch. Ele sunt activate de forma configurației, nu de o casetă cu acel nume.
Excepțiile schimbă modelul de protecție
Înlocuirea /0 cu două prefixe semi-implicite este modalitatea documentată de a păstra rutarea largă fără semantica restrictivă, și este un model de protecție diferit, nu o scriere mai scurtă. Scăderea adresei punctului final din prefixele permise este cealaltă soluție comună, care lungește lista și schimbă și ce reguli se activează. Niciuna nu este o modificare locală cu efect local. Fiecare mută limita pentru fiecare flux de pe mașină, nu doar pentru conexiunea pe care o reparai.
Acolo unde SSH public direct este cu adevărat necesar, proprietarul profilului trebuie să proiecteze atât ruta exterioară, cât și permisiunea de firewall a acesteia, și să decidă ce se întâmplă cu traficul nelegat când tunelul cade. Revizuirea separată a IPv4 și IPv6 face parte din asta, fiindcă regulile sunt exprimate pe familii. O ocolire largă adăugată pentru a salva o singură sesiune de administrare expune de obicei mai mult decât sesiunea.
Testează calea de administrare pe care ai ales-o
Decide mai întâi dacă administrarea trebuie să călătorească în interiorul tunelului sau în afara lui, apoi testează acea alegere, nu ambele deodată. Comenzile de mai jos verifică adresele clientului, starea peerului și o conexiune către fiecare țintă. Rulează-le de pe clientul Windows cât timp tunelul este ridicat.
ipconfig | findstr /i "WireGuard IPv4"
wg show
ssh -v [email protected]
Test-NetConnection 203.0.113.9 -Port 22
Un SSH reușit către adresa internă dovedește că tunelul transportă trafic de administrare și că firewallul serverului îl acceptă din intervalul de peeri. Un eșec pe ambele ținte este o problemă de partea serverului sau de cheie, nu de rutare Windows. Dacă adresa internă funcționează și cea externă nu, poziția locală a firewallului face exact ceea ce a fost proiectată să facă. Citește cele trei rezultate în această ordine înainte de a edita un profil.
Notează calea de administrare, adresa folosită și comportamentul când tunelul este oprit. Acea notă este ce împiedică următoarea persoană să lărgească ocolirea pentru a economisi cinci minute.