Tuneļi, kas paceļas, kamēr SSH uz servera publisko adresi pārstāj darboties, izskatās kā serveris, kas noraida savienojumu. Windows vidē ticamākais iemesls ir lokāls: pilna tuneļa AllowedIPs ar /0 ieslēdz ierobežojošus ugunsmūra noteikumus, kas atļauj paties tuneļa transportu un ļoti maz ko citu. Šifrēti paketes, kas sasniedz šo adresi, neko nepasaka par to, vai atsevišķs TCP savienojums uz to pašu adresi drīkst iziet.

Atdaliet galapunkta publisko adresi no tā iekšējās tuneļa adreses, pirms aiztiekat peers sarakstu. Gandrīz katrs mēģinājums to salabot, rediģējot AllowedIPs, padara politiku vājāku, nevis maršrutu pareizu.

Maršrutēšanas atļauja un ugunsmūra atļauja ir atšķirīgas

Maršruts izlemj, kur pakete tiktu nosūtīta, un ugunsmūra noteikums izlemj, vai to vispār drīkst sūtīt. Tāpēc maršruta pievienošana galapunkta publiskajai IP rada ceļu, ko filtrs joprojām var bloķēt, un tieši šo apjukumu rada šis simptoms. Windows vidē filtrs ir implementācijas daļa, nevis papildinājums, tāpēc neviens maršruta ieraksts to nemaina. Šie divi lēmumi ir atsevišķi arī citur, lai gan noklusējuma vērtības atšķiras.

Tāpēc traceroute uz galapunktu var izdoties, kamēr SSH mēģinājums neizdodas. Pirmo pārvadā pakalpojums, kuram pieder izņēmums, otro — ne.

Ko /0 dara Windows vidē

Kad vienam peers atļautās adreses aptver visu IPv4 telpu, WireGuard for Windows piemēro ierobežojošu ugunsmūra pozīciju, kas bloķē trafiku, kurš citādi izietu ārpus tuneļa. Paties tuneļa pakalpojuma transports ir atļauts, jo VPN citādi nevarētu darboties. Cita lietotne uz to pašu publisko adresi šādu atļauju nesaņem, jo izņēmums pieder transportam, nevis adresei. Windows tīkla piezīmes apraksta šo uzvedību un attiecīgo vadīklu redaktorā.

Šie noteikumi ir mehānisms aiz frāzes kill switch. Tie tiek aktivizēti pēc konfigurācijas formas, nevis pēc izvēles rūtiņas ar šo nosaukumu.

Izņēmumi maina aizsardzības modeli

/0 aizstāšana ar diviem pusnoklusējuma prefiksiem ir dokumentētais veids, kā saglabāt plašu maršrutēšanu bez ierobežojošās semantikas, un tas ir cits aizsardzības modelis, nevis īsāks pieraksts. Galapunkta adreses atņemšana no atļautajiem prefiksiem ir otrs izplatītais risinājums, kas pagarina sarakstu un arī maina, kuri noteikumi aktivizējas. Neviens nav lokāls labojums ar lokālu ietekmi. Katrs pārvieto robežu katram mašīnas plūsmam, ne tikai tam savienojumam, ko labojāt.

Kur tiešs publiskais SSH patiešām ir vajadzīgs, profila īpašniekam jāizstrādā gan ārējais maršruts, gan tā ugunsmūra atļauja, un jāizlemj, kas notiek ar nesaistītu trafiku, kad tunelis nokrīt. Atsevišķa IPv4 un IPv6 pārbaude arī tam pieder, jo noteikumi tiek izteikti pa saimēm. Plašs apvedceļš, kas pievienots vienas pārvaldības sesijas glābšanai, parasti atklāj vairāk nekā sesiju.

Pārbaudiet izvēlēto pārvaldības ceļu

Vispirms izlemjiet, vai pārvaldībai jāiet tuneļa iekšpusē vai ārpusē, tad pārbaudiet tieši šo izvēli, nevis abas uzreiz. Tālāk dotās komandas pārbauda klienta adreses, peers stāvokli un savienojumu ar katru mērķi. Izpildiet tās no Windows klienta, kamēr tunelis ir pacelts.

ipconfig | findstr /i "WireGuard IPv4"
wg show
ssh -v [email protected]
Test-NetConnection 203.0.113.9 -Port 22

Veiksmīgs SSH uz iekšējo adresi pierāda, ka tunelis pārvadā pārvaldības trafiku un ka servera paša ugunsmūris pieņem to no peers diapazona. Neveiksme abos mērķos ir servera puses vai atslēgas problēma, nevis Windows maršrutēšanas. Ja iekšējā adrese darbojas, bet ārējā ne, lokālā ugunsmūra pozīcija dara tieši to, kam tā tika veidota. Izlasiet trīs rezultātus šajā secībā, pirms rediģējat profilu.

Pierakstiet pārvaldības ceļu, izmantoto adresi un uzvedību, kad tunelis ir nolaists. Tieši šī piezīme attur nākamo cilvēku paplašināt apvedceļu, lai ietaupītu piecas minūtes.

Saistītie raksti