Kaip nukreipti vieną svetainę už savo WireGuard tunelio
Vienas /32 maršrutas per LAN tinklų sietuvą palieka vieną svetainę jūsų įprastame ryšyje, jei ugniasienė tai leidžia ir DNS sutaria dėl adreso.
Išskirti hosto vardą yra tai, ko tunelis negali padaryti. Tačiau maršrutas gali nukreipti vieną adresą pro tunelį ir lauk per namų tinklų sietuvą, ir to paprastai pakanka vienai svetainei. Kliūtis ta, kad viskas po maršrutu turi sutarti: ugniasienė turi išleisti paketą, DNS turi grąžinti adresą, kurį nukreipėte, o svetainė turi toliau naudoti tą adresą. Kai nors vienas iš trijų pasislenka, išimtis nustoja veikti nieko nepranešdama.
Perskaitykite paskirties adresą prieš liesdami tunelį
Įkelkite svetainę vieną kartą su įjungtu tuneliu, tada pažiūrėkite į lygiaverčio adresą, prie kurio naršyklė iš tikrųjų prisijungė. Linuxe, ss -tunp išvardija atstumą kiekvienam atviram lizdui, o dig +short tam pačiam vardui parodo, ką grąžino sprendėjas. Laikykite abu skaičius prieš akis.
Du atsakymai dažnai nesutampa, ir tas nesutarimas yra visa problema. Didelės svetainės prieš savo šaltinį pastato turinio tinklą, todėl adresas, kurį sprendėjas grąžina dabar, gali būti ne tas, kurį naršyklė naudojo prieš minutę. Nukreipkite tai, ką stebėjote lizde, o ne tai, ką išvardija senesnis vadovas. Jei atsakymai vis sukasi tarp regionų, adreso išimtis yra netinkamas įrankis tai konkrečiai svetainei.
Paleiskite paiešką antrą kartą iš kito tinklo ir užsirašykite IPv6 atsakymą kartu su IPv4. Tunelis, kuris neša abi šeimas, abiejose turi išimtį, kitaip naršyklė tyliai grįžta į IPv6 kelią, kurio niekada nelietėte. Užsirašykite adresus ir datą ten, kur vėl pažiūrėsite.
Įdėkite vieną hosto maršrutą kliente
Tarkime, sąsaja vadinasi home-wg, o LAN maršrutizatorius yra 192.168.1.1. NetworkManager paima maršrutą, kurio tinklų sietuvas yra tas maršrutizatorius ir kurio priešdėlio ilgis apima visus 32 bitus, o branduolys jam teikia pirmumą, nes laimi ilgiausias priešdėlis.
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
Tinklų sietuvas turi būti pasiekiamas be tunelio; nukreipus kitą šuolį į tunelio adresą, tikslas sugriaunamas, nes paketas vėl patektų į sąsają, kurios bandote išvengti. Kai ryšys vėl pakyla, ip route get išimčiai turėtų išspausdinti LAN tinklų sietuvą, o ta pati komanda viešajam sprendėjui vis dar turėtų išspausdinti tunelio įrenginį.
wg-quick profilyje nėra maršrutų lauko, todėl ta pati išimtis gyvena eilutėje PostUp , kuri prideda hosto maršrutą į pagrindinę lentelę su LAN sąsaja kaip įrenginiu. Po redagavimo nuleiskite ir vėl pakelkite sąsają, nes veikianti sąsaja niekada iš naujo neskaito savo failo. fwmark taisyklės, kurias įdiegia wg-quick, valdo tik jo paties inkapsuliuotus paketus, todėl įprastas naršyklės srautas vis dar eina pagrindine lentele ir randa jūsų /32.
Kill switch yra kitas dalykas, kuris tai blokuoja
Ugniasienės politika, kuri praleidžia srautą tik tunelio sąsajoje, išmes išimtį net tada, kai maršrutas yra visiškai teisingas. Skaitykite taisykles už jungiklio, o ne pasitikėkite jungikliu, nes tos, kurios įgyvendina kill switch, paprastai apribotos sąsajos vardu.
Norite siauro leidimo fizinei sąsajai ir tam vienam tikslui, esančio prieš atmetimą, kol numatytoji politika lieka nepaliesta. Visiškas kill switch pristabdymas įrodo esmę, bet ir palieka mašiną atvirą tiek, kiek pamiršite jį vėl įjungti.
Išbandykite abi kryptis atskirai. Užklausa išimties adresui turėtų pavykti, o užklausa nesusijusiai svetainei vis dar išeina per tunelį. Jei abi pavyksta, bet antroji praneša namų adresą, neteisinga yra ugniasienės taisyklių tvarka, o ne maršrutas.
DNS nusprendžia, kokį adresą naršyklė renkasi
Kai vardas išsprendžiamas tunelio viduje, tiekėjo sprendėjas gali atsakyti kitu adresu nei vietinis. Tada jūsų maršrutas taikomas adresui, su kuriuo naršyklė niekada nesusisiekia, ir puslapis įkeliamas per tunelį tarsi niekas nepasikeitė. Šis gedimas atrodo kaip sugedusi išimtis, nors maršrutizavimo lentelė teisinga.
Siųskite to vardo užklausas ir per vietinį sprendėją, arba visai praleiskite vardus ir bandykite adresą tiesiogiai. Adreso išskaidymas paliekant DNS tunelio viduje yra labiausiai paplitusi pusiau baigta šios sąrankos versija, ir ją sunkiausia pastebėti, nes svetainė veikia toliau, tik ne taip, kaip norėjote.
Ta pati išimtis maršrutizatoriuje, vieną kartą, kiekvienam įrenginiui
Kai tunelis veikia maršrutizatoriuje, hosto maršrutas priklauso maršrutizatoriaus politikos maršrutizavimo lentelei ir rodo į WAN tinklų sietuvą, o ne į LAN. Kiekvienas įrenginys už jo paveldi išimtį, o tai svarbu srautinio transliavimo dėžutei ar darbo nešiojamajam kompiuteriui, kurio tinklo nustatymų negalite pakeisti.
Palikite tunelį numatytuoju išėjimu visiems kitiems klientams, tada patikrinkite iš kliento mašinos, o ne iš maršrutizatoriaus konsolės. Įkelkite išimties svetainę ir antrą svetainę toje pačioje naršyklės sesijoje ir palyginkite išėjimo adresus; jei antroji vis dar rodo tunelį, politikos lentelė daro tai, ko prašėte.
Užsirašykite adresą, datą ir priežastį maršrutizatoriaus užrašuose. Išimtis, pastatyta aplink adresą, kuris vėliau persikelia, tampa gedimu, kurio po metų niekas negalės paaiškinti, o sprendimas visada atrodo kaip mįslė, kol kas nors suranda seną užrašą.