Kako usmjeriti jednu web-stranicu izvan svog WireGuard tunela
Jedna /32 ruta kroz LAN pristupnik zadržava jednu stranicu na vašoj uobičajenoj vezi, pod uslovom da je vatrozid propušta i da se DNS slaže oko adrese.
Isključiti ime hosta nešto je što tunel ne može. Ruta, pak, može jednu adresu usmjeriti pored tunela i van kroz kućni pristupnik, i to je obično dovoljno za jednu stranicu. Kvaka je u tome što se sve nizvodno od rute mora slagati: vatrozid mora propustiti paket, DNS mora vratiti adresu koju ste usmjerili, a stranica mora nastaviti koristiti tu adresu. Kad se bilo koje od tih troje pomakne, izuzetak prestaje raditi a da se ne najavi.
Pročitajte odredišnu adresu prije nego što dirnete tunel
Učitajte stranicu jednom s podignutim tunelom, pa pogledajte adresu ravnopravnog računara na koju se preglednik zapravo povezao. Na Linuxu, ss -tunp prikazuje udaljenu adresu za svaki otvoreni socket, a dig +short na istom imenu pokazuje šta je resolver vratio. Držite oba broja pred sobom.
Dva odgovora se često ne slažu, a ta nesloga i jest cijeli problem. Velike stranice stavljaju mrežu sadržaja ispred svog izvora, pa adresa koju resolver sada vraća možda nije ona koju je preglednik koristio prije minute. Usmjeravajte ono što ste vidjeli na socketu, a ne ono što navodi stariji vodič. Ako se odgovori stalno vrte po regijama, izuzetak za adresu je pogrešan alat za tu konkretnu stranicu.
Pokrenite pretragu drugi put s druge mreže i zapišite odgovor za IPv6 zajedno s onim za IPv4. Tunel koji nosi obje porodice treba izuzetak u obje, inače preglednik tiho pada natrag na IPv6 putanju koju nikad niste dotakli. Stavite adrese i datum negdje gdje ćete ponovo pogledati.
Postavite jednu rutu hosta na klijentu
Pretpostavite da se interfejs zove home-wg i da LAN ruter stoji na 192.168.1.1. NetworkManager prihvata rutu čiji je pristupnik taj ruter i čija dužina prefiksa pokriva puna 32 bita, a kernel je preferira jer najduži prefiks pobjeđuje.
nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20
Pristupnik mora biti dostupan bez tunela; usmjeravanje sljedećeg skoka na adresu tunela promašuje svrhu, jer bi paket ponovo ušao u interfejs koji pokušavate izbjeći. Nakon što se veza vrati, ip route get za izuzetak treba ispisati LAN pristupnik, a ista naredba za javni resolver treba i dalje ispisivati uređaj tunela.
wg-quick profil nema polje ruta, pa isti izuzetak živi u liniji PostUp koja dodaje rutu hosta u glavnu tablicu s LAN interfejsom kao svojim uređajem. Spustite i podignite interfejs nakon uređivanja, jer pokrenuti interfejs nikad ne ponovo čita svoju datoteku. fwmark pravila koja wg-quick instalira usmjeravaju samo njegove vlastite enkapsulirane pakete, pa običan promet preglednika i dalje slijedi glavnu tablicu i nalazi vaš /32.
Kill switch je sljedeća stvar koja to blokira
Vatrozidna politika koja propušta promet samo na interfejsu tunela odbacit će izuzetak čak i kad je ruta potpuno ispravna. Čitajte pravila iza prekidača umjesto da vjerujete prekidaču, jer su ona koja provode kill switch obično ograničena na ime interfejsa.
Ono što želite je uska dozvola za fizički interfejs i to jedno odredište, smještena prije odbacivanja, dok zadana politika ostaje netaknuta. Potpuno pauziranje kill switcha dokazuje poentu, ali i ostavlja mašinu izloženom sve dok se ne sjetite da ga ponovo uključite.
Testirajte dva smjera odvojeno. Zahtjev na adresu izuzetka treba uspjeti, dok zahtjev na nepovezanu stranicu i dalje izlazi kroz tunel. Ako oba uspiju ali drugi prijavi kućnu adresu, pogrešan je redoslijed vatrozidnih pravila, a ne ruta.
DNS odlučuje koju adresu preglednik poziva
Kad se ime razriješi unutar tunela, provajderov resolver može odgovoriti drugom adresom nego lokalni. Vaša ruta se tada primjenjuje na adresu koju preglednik nikad ne kontaktira, a stranica se učitava kroz tunel kao da se ništa nije promijenilo. Taj kvar izgleda kao pokvaren izuzetak iako je tablica usmjeravanja ispravna.
Pošaljite upite tog imena i kroz lokalni resolver, ili potpuno preskočite imena i testirajte adresu direktno. Razdvajanje adrese dok DNS ostaje unutar tunela najčešća je napola dovršena verzija ovog postavljanja, i najteže ju je primijetiti, jer stranica nastavlja raditi, samo ne onako kako ste namjeravali.
Isti izuzetak na ruteru, jednom, za svaki uređaj
Kad tunel radi na ruteru, ruta hosta pripada ruterovoj tablici političkog usmjeravanja i pokazuje na WAN pristupnik umjesto na LAN. Svaki uređaj iza njega nasljeđuje izuzetak, što je važno za streaming kutiju ili radni laptop čije mrežne postavke ne možete mijenjati.
Ostavite tunel kao zadani izlaz za svakog drugog klijenta, pa provjerite s klijentske mašine, a ne iz ruterove konzole. Učitajte stranicu izuzetka i drugu stranicu u istoj sesiji preglednika i uporedite izlazne adrese; ako druga i dalje pokazuje tunel, tablica politika radi ono što ste tražili.
Zapišite adresu, datum i razlog u ruterove bilješke. Izuzetak izgrađen oko adrese koja se kasnije preseli postaje kvar koji niko ne može objasniti za godinu, a popravka uvijek izgleda kao misterija dok neko ne nađe staru bilješku.