SSH WireGuardi serveri avalikku IP-sse ei tööta Windowsis
Marsruut ja tulemüürireegel on kaks eraldi otsust. Windowsis lülitab /0-ga peer sisse piiravad reeglid ja erandiks on tunneli enda transport.
Tunnelid, mis tõusevad samal ajal kui SSH serveri avalikku aadressi lakkab töötamast, näivad nagu server, mis ühendust tagasi lükkab. Windowsis on tõenäolisem põhjus kohalik: täistunneli AllowedIPs väärtusega /0 lülitab sisse piiravad tulemüürireeglid, mis lubavad tunneli enda transporti ja väga vähe muud. Sellele aadressile jõudvad krüpteeritud paketid ei ütle midagi selle kohta, kas eraldi TCP-ühendus samale aadressile tohib välja minna.
Eralda lõpp-punkti avalik aadress selle sisemisest tunneli aadressist enne, kui peeride nimekirja puutud. Peaaegu iga katse seda AllowedIPs-i muutmisega parandada teeb poliitika nõrgemaks, mitte marsruudi õigeks.
Marsruutimisluba ja tulemüüriluba on erinevad
Marsruut otsustab, kuhu pakett saadetaks, ja tulemüürireegel otsustab, kas seda tohib üldse saata. Seetõttu loob lõpp-punkti avaliku IP jaoks marsruudi lisamine tee, mille filter võib ikkagi blokeerida, ja täpselt selle segaduse see sümptom tekitab. Windowsis on filter rakenduse osa, mitte lisand, seega ei muuda seda ükski marsruudikirje. Need kaks otsust on mujal samuti eraldiseisvad, kuigi vaikeväärtused erinevad.
Seetõttu võib traceroute lõpp-punktini õnnestuda, samal ajal kui SSH-katse ebaõnnestub. Esimest kannab teenus, kellele erand kuulub, teist mitte.
Mida /0 Windowsis teeb
Kui ühel peeril katavad lubatud aadressid kogu IPv4 ruumi, rakendab WireGuard for Windows piiravat tulemüürihoiakut, mis blokeerib liikluse, mis muidu väljapoole tunnelit läheks. Tunneli teenuse enda transport on lubatud, sest muidu ei saaks VPN toimida. Teine rakendus samale avalikule aadressile sellist luba ei saa, kuna erand kuulub transpordile, mitte aadressile. Windowsi võrgumärkmed kirjeldavad seda käitumist ja vastavat juhtelementi redaktoris.
Need reeglid on mehhanism väljendi kill switch taga. Need aktiveeritakse konfiguratsiooni kuju, mitte seda nime kandva märkeruudu abil.
Erandid muudavad kaitse mudelit
/0 asendamine kahe poolvaikimisi prefiksiga on dokumenteeritud viis hoida laia marsruutimist ilma piirava semantikata, ja see on teistsugune kaitse mudel, mitte lühem kirjaviis. Lõpp-punkti aadressi lahutamine lubatud prefiksitest on teine levinud lahendus, mis pikendab nimekirja ja muudab ka seda, millised reeglid aktiveeruvad. Kumbki ei ole kohaliku mõjuga kohalik muudatus. Igaüks nihutab piiri masina iga voolu jaoks, mitte ainult ühenduse jaoks, mida parandasite.
Kui otsene avalik SSH on tõesti vajalik, peab profiili omanik kavandama nii välise marsruudi kui ka selle tulemüüriloa ning otsustama, mis juhtub mitteseotud liiklusega, kui tunnel langeb. IPv4 ja IPv6 eraldi ülevaatamine kuulub selle juurde, kuna reeglid väljendatakse perekonniti. Ühe haldussessiooni päästmiseks lisatud lai möödaviik paljastab tavaliselt rohkem kui see sessioon.
Testi valitud haldusteed
Otsusta esmalt, kas haldus peaks liikuma tunneli sees või sellest väljas, ja testi siis just seda valikut, mitte mõlemat korraga. Allolevad käsud kontrollivad kliendi aadresse, peeri olekut ja ühendust iga sihtmärgiga. Käivita need Windowsi kliendist, kui tunnel on üleval.
ipconfig | findstr /i "WireGuard IPv4"
wg show
ssh -v [email protected]
Test-NetConnection 203.0.113.9 -Port 22
Edukas SSH sisemisele aadressile tõestab, et tunnel kannab haldusliiklust ja serveri enda tulemüür võtab selle peeride vahemikust vastu. Ebaõnnestumine mõlemas sihtmärgis on serveripoolne või võtmeprobleem, mitte Windowsi marsruutimise probleem. Kui sisemine aadress töötab ja välimine mitte, kohalik tulemüürihoiak teeb täpselt seda, milleks see loodi. Loe kolme tulemust selles järjekorras enne profiili muutmist.
Pane kirja haldustee, kasutatud aadress ja käitumine, kui tunnel on maas. Just see märge takistab järgmisel inimesel möödaviiku laiendada, et viit minutit säästa.