Nødstopp eller LAN-tilgang? To svar for WireGuard
Windows-klienten blokkerer trafikk utenfor tunnelen når profilen angir 0.0.0.0/0. Bestem hvilken egenskap du trenger, og uttrykk standardverdien deretter.
Håndtrykket fullføres, nettlesing fungerer, og skriveren, NAS-en og de lokale SSH-vertene forsvinner. På Windows-klienten er dette vanligvis ikke en rutingfeil i det hele tatt: en peer hvis tillatte prefikser inneholder den bokstavelige standardverdien aktiverer Blokker trafikk utenfor tunnelen, og det alternativet er implementert som brannmurregler som slipper pakker som går ut via et hvilket som helst annet grensesnitt. Rutetabellen viser fortsatt det lokale subnettet som direkte tilkobling, og derfor føles symptomet som en løgn. Tre betingelser avgjør hva som bør gjøres, og bare én av dem handler om ruting.
To feil bærer samme symptom
Den første feilen er klientens fail-closed-modus, og kjennetegnet er at alt utenfor tunnelen stopper mens selve tunnelen fungerer perfekt. Den andre er et reelt tilgjengelighetsproblem: en manglende rute, en manglende oppføring på serveren for et subnett bak klienten, eller to nettverk med samme adresseområde. Begge gir en maskin som kan bla og ikke kan skrive ut, og rettelsene deres er motsatte, så diagnosen må komme før konfigurasjonen.
Den avgjørende observasjonen er om det lokale subnettet fortsatt finnes i rutetabellen mens trafikk dit forkastes.
Tre betingelser avgjør svaret
For det første, trenger denne maskinen fail-closed? Hvis svaret er ja, må en tunnel som faller stoppe trafikken i stedet for å la den falle tilbake på det fysiske grensesnittet, og det kravet veier tyngre enn lokal bekvemmelighet. For det andre, må lokale enheter forbli tilgjengelige mens tunnelen er oppe? Utskrift, nettverkslagring og lokale administrasjonskonsoller er de vanlige grunnene, og de er legitime krav, ikke unntak man skal be om unnskyldning for. For det tredje, uttrykker profilen standardverdien som et bokstavelig 0.0.0.0/0? Nettopp den detaljen utløser klientens regler, og den kan redigeres.
Svar på de tre skriftlig før du rører en profil, fordi hvert svar peker på en annen konfigurasjon.
Velg fail-closed og gi opp LAN
Hvis lekkasje betyr mer enn lokal tilgjengelighet, behold den bokstavelige standardverdien og la Blokker trafikk utenfor tunnelen stå på. Det er en sammenhengende holdning: maskinen behandles som en enhet som enten er inne i tunnelen eller frakoblet, og lokale tjenester nås fra en annen enhet eller gjennom tunnelen hvis serveren ruter dem. Kostnaden er reell og bør stå i driftsnotatene i stedet for å bli oppdaget av personen som må skrive ut.
Dette er det riktige valget for maskiner som gjør arbeid som ikke skal dukke opp på et kafénettverk når tunnelen faller. Det er en dårlig standardverdi for en hjemmelaptop som også trenger skanneren.
Velg LAN-tilgang og uttrykk standardverdien annerledes
Hvis lokale enheter må forbli tilgjengelige, uttrykk samme dekning uten det bokstavelige standardprefikset. To halvprefikser dekker hver IPv4-adresse, det tilsvarende paret dekker IPv6, og klienten setter ikke lenger inn de blokkerende reglene fordi strengen den leter etter mangler.
[Peer]
AllowedIPs = 0.0.0.0/1
AllowedIPs = 128.0.0.0/1
AllowedIPs = ::/1
AllowedIPs = 8000::/1
Endpoint = vpn.example.net:51820
Å fjerne den avkrysningen får klienten til å skrive de samme to parene inn i profilen, så å sammenligne den genererte filen med blokken ovenfor er en rask måte å bekrefte mekanismen på i stedet for å gjette seg til den. To konsekvenser følger. Dekningen er identisk, så ingenting annet ved tunnelen endres. Beskyttelsen er ikke identisk: når reglene er borte, lar en tunnel som faller maskinen bruke det fysiske grensesnittet sitt, og det var nettopp det fail-closed hindret.
Sjekk de to andre mistenkte uansett
Når brannmurspørsmålet er avklart, bekreft at det lokale subnettet faktisk rutes og at den andre enden vet om alt bak denne klienten. En server som må nå et LAN bak en klient trenger det prefikset i klientens tillatte liste på huben; utelater du det, kan huben ikke velge en peer for disse adressene, og ingen klientkonfigurasjon lager en.
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultOutboundAction
route print 0.0.0.0
Nettverkskategorien betyr mer enn folk forventer: en nyopprettet tunneladapter som klassifiseres som offentlig endrer hvilke regler som gjelder for den, og resultatet kan se ut som en brannmurstenging i den andre enden. Rutetutskriften viser om det i det hele tatt finnes en standardverdi, noe som skiller et policyproblem fra en manglende rute.
Test så tre ting i én økt: internettet, én lokal vert etter adresse og én vert gjennom tunnelen. Håndtrykket beviser bare at nøklene stemmer, så det er de tre testene som viser policyen. Hvis den lokale verten fortsatt nekter med alternativet fjernet, er de gjenstående mistenkte ruten, den tillatte listen i den andre enden og det doble subnettet, i den rekkefølgen.