Kahe VPN-kliendi korraga käitamine on marsruutimise vaidlus, mitte privaatsusseade. Milline tunnel omab täpsemat marsruuti, see saab liikluse, ja teine jääb ühendatuks, kuid tegevusetuks. Ettevõtte lüüs näeb siis ühendust, mis saabub isiklikust väljapääsust, samal ajal kui teie masinas olev ettevõtte klient näeb endiselt iga adapterit. Otsustada, milline neist kahest faktist loeb, ongi kogu harjutus.

Marsruutitabel valib ühe võitja

Salvestage tabel enne ja pärast ettevõtte kliendi käivitumist ning lugege liidese veergu, mitte ainult sihtkohta. Välimise tunnelist pärit tavaline vaikimisi marsruut on kergesti tõrjutav, sest /1 paar on spetsiifilisem kui /0. Sõnasõnaline paar 0.0.0.0/1 ja 128.0.0.0/1 katab kogu IPv4 ruumi kahes pooles ja lööb iga üksiku vaikimisi marsruudi. Pärast paigaldamist näitab välimine tunnel endiselt ühendatuna ega kanna midagi.

ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'

Poliitikapõhine marsruutimine võib põhitabeli täielikult üle kirjutada, seega lugege nii reegleid kui ka marsruute. Reegel, mis saadab märgistatud liikluse teise tabelisse, võidab enne, kui põhitabelit üldse vaadatakse. Nii saab üks rakendus jääda füüsilisele lingile, samal ajal kui kõik muu kasutab tunnelit.

ip rule show

Windows otsustab selle mõõdikutega

Windowsis on võitja madalaima sihtkoha mõõdikuga marsruut, ja kaks klienti võivad mõlemad paigaldada erinevate mõõdikutega vaikimisi marsruudi. Lugege tabelit ja liidese konfiguratsiooni koos, sest madalama mõõdikuga adapter ei ole alati see, mida ootate. Klient, kes määrab ka liidese mõõdiku, saab vaikimisi marsruuti liigutada ilma ühtegi marsruuti lisamata. Kaotanud adapter jääb püsti ja lihtsalt ei saa midagi.

route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGateway

Võrrelge kahte väljundit ja nimetage liides, millele 0.0.0.0/0 kuulub. Kui mõlemad kliendid seda nõuavad, otsustab mõõdik, mistõttu võib ühendamise järjekorra test eri masinates ebajärjekindel tunduda. Kui kumbki väljund ei näita vaikimisi lüüsi, ei tööta klient täistunnelis ja ahela argument on mõttetu.

Kaks vaatlejat, kaks erinevat vaadet

Kauglüüs näeb ühte ühendust, mis saabub välimisest väljapääsust, pluss kõike, mida klient oma tunnelisse edasi saadab. Kohalik klient näeb adaptreid, marsruute ja teise tunneli olemasolu, sest ta töötab õigustega neid luua. Nende vaadete eraldamine ongi mõte; väita, et klient ei saa märgata, ei ole.

Eeldage, et klient saab loetleda mida iganes, ja planeerige selle asemel lüüsi vaate jaoks. Disain, mis sõltub kliendi pimedaks jäämisest, on ühe uuenduse kaugusel purunemisest.

DNS ja IPv6 on kohad, kus ahel lekib

DNS järgib seda resolveri seadet, mis võidab, ja see ei ole tingimata tee, mida paketid lähevad. Ettevõtte tunnelit kaudu jõutud ettevõtte resolver on disainiga kooskõlas; väljaspool jõutud kohalik resolver ei ole, ja see paljastab nimesid, mida tunnel pidi varjama. IPv6 on teine leke: kahe virna host jätkab IPv6 kasutamist sihtkohtade suunas, mida tunnel kannab ainult IPv4 kaudu. Kontrollige perekondi eraldi, sest ainult IPv4 tunnel ei ütle midagi IPv6 marsruutide ega resolverite kohta.

ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'

Parandage resolver ja IPv6 marsruut teadlikult, selle asemel et teist tunnelit peale laduda. Topeltkapseldamine maksab ka MTU, seega väiksem sisemine MTU on esimene, mida proovida, kui lehed tõmbuvad kinni pärast ahela püstitamist. Kiiresti vastav resolver ei ole tõestus, et see on õige resolver.

Seotud artiklid