Korporativni VPN unutar WireGuarda: koji sloj ide prvi?
Dva klijenta na jednom računaru rade samo kada vanjski tunel nosi vlastitu vezu unutrašnjeg klijenta, a metrike biraju ispravan interfejs za svaki prefiks.
Dva su legitimna razloga za ugnježđivanje tunela na razvojnom laptopu. Ili korporativni klijent mora izgledati kao da dolazi iz određene zemlje, ili dvije privatne mreže moraju biti dostupne istovremeno. U oba slučaja vanjski tunel mora nositi vlastitu vezu unutrašnjeg klijenta.
Pokretanje dva klijenta u bilo kojem redoslijedu to ne postiže. To postiže rutiranje.
Uporedite dva moguća redoslijeda
Odaberite vanjski sloj kao tunel do čije krajnje tačke javni internet može doći. Unutrašnji sloj je tunel čiji server odgovara samo kroz taj izlaz. Na Windowsu je praktična podjela WireGuard spolja i korporativni klijent unutra. Odlučujući faktor je kontrola.
Službeni WireGuard klijent primjenjuje kompletnu konfiguracijsku datoteku, uključujući rute i DNS. Komercijalni korporativni klijenti obično skrivaju oboje. Postavljanje skrivenog klijenta spolja ostavlja vas da nagađate o putu ispod njega.
Obrnuti redoslijed nije nemoguć. Samo je teže o njemu razmišljati, jer vanjski klijent prepisuje rute po rasporedu koji nikad ne vidite.
Neka AllowedIPs imenuje samo korporativni raspon
AllowedIPs navodi odredišta koja WireGuard usmjerava u tunel. Za ugnježđivanje su mu potrebni samo adresa unutrašnjeg servera i korporativni prefiksi. Sve ostalo ostaje na lokalnoj mreži, uključujući štampače i hipervizor. To je podijeljeni tunel po dizajnu i potpuno izbjegava problem isključenja.
Vanjskom sloju s punim tunelom potreban je 0.0.0.0/0 minus lokalni rasponi. Format ne može izraziti isključenje, pa se komplement mora izračunati i zalijepiti.
[Interface]
PrivateKey = ...
Address = 10.99.4.2/32
[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16
Kada unutrašnji klijent ne instalira vlastite rute, sami navedite korporativne prefikse. Prefiks izostavljen s tog reda je odredište koje vanjski tunel nikad ne nosi. Zastarjela kopija liste gora je od nikakve, jer još uvijek izgleda ispravno.
Redoslijed, metrike i drugi adapter
Prvo povežite vanjski tunel, zatim pokrenite korporativni klijent. Njegova veza s krajnjom tačkom tada izlazi kroz WireGuard umjesto kroz lokalni pristupnik. Dajte korporativnom interfejsu nižu metriku kako bi njegovi prefiksi pobijedili za adrese koje posjeduje.
# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1
# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40
wg show interfaces
Metrike su korak koji ljudi preskaču. Bez poretka, za preklapajući prefiks pobjeđuje ruta koja je instalirana posljednja. To se mijenja između podizanja sistema, zato problem izgleda isprekidano.
Klijenti zasnovani na OpenVPN 2.6 dodaju vlastitu zamku. Kada je adapter za rasterećenje podatkovnog kanala već zauzet, druga instanca jednostavno odbija da se pokrene. Dodavanje disable-dco u profil vraća na stariju TAP putanju i tada oba rade jedan uz drugi.
Gdje se ugniježđena putanja lomi
Prekidanje vanjskog tunela ubija unutrašnji. Ponovno povezivanje samo unutrašnjeg klijenta često ga šalje ravno na internet i tiho uklanja ugnježđivanje. Testirajte slijed od nule svaki put, počevši s oba tunela zaustavljena.
Očekujte manji iskoristivi MTU. Svaki sloj dodaje troškove, pa je početni par oko 1420 i 1400 mjesto od kojeg se može početi. Prijenos koji se zaglavi na velikim paketima dok mali zahtjevi uspijevaju uobičajen je znak. Korporativna politika je druga granica, jer klijent koji traži upravljani uređaj može ugniježđenu putanju smatrati kršenjem.
Kada su oba kraja fiksne mreže, tunel od lokacije do lokacije između pristupnika uklanja problem redoslijeda umjesto da njime upravlja. Na jednom laptopu dva tunela koegzistiraju samo kada svaki ima vlastiti interfejs i pravilo koje bira odredišta po prefiksu.