Dva VPN klijenta istovremeno: ko pobeđuje na podrazumevanoj ruti?
Dva VPN klijenta polažu pravo na podrazumevanu rutu, a pobeđuje samo jedan. Pročitajte metriku, par /1 i podelu resolvera pre nego što odaberete redosled tunela.
Pokretanje dva VPN klijenta istovremeno je rasprava o rutiranju, a ne podešavanje privatnosti. Koji god tunel poseduje specifičniju rutu, prima saobraćaj, a drugi ostaje povezan, ali besposlen. Korporativni gateway tada vidi vezu koja dolazi sa ličnog izlaza, dok korporativni klijent na vašem računaru još uvek vidi svaki adapter. Odlučiti koja je od te dve činjenice važna jeste cela vežba.
Tabela ruta bira jednog pobednika
Snimite tabelu pre i posle pokretanja korporativnog klijenta i čitajte kolonu interfejsa, a ne samo odredište. Obična podrazumevana ruta iz spoljnog tunela lako se potiskuje, jer je par /1 specifičniji od /0. Doslovni par 0.0.0.0/1 i 128.0.0.0/1 pokriva ceo IPv4 prostor u dve polovine i pobeđuje svaku pojedinačnu podrazumevanu rutu. Nakon što se instalira, spoljni tunel i dalje izgleda povezan i ne nosi ništa.
ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'Rutiranje po pravilima može potpuno nadjačati glavnu tabelu, pa čitajte i pravila i rute. Pravilo koje označeni saobraćaj šalje u drugu tabelu pobeđuje pre nego što se glavna tabela uopšte pogleda. Tako jedna aplikacija može ostati na fizičkoj vezi dok sve ostalo koristi tunel.
ip rule showWindows to rešava metrikama
Na Windowsu pobednik je ruta sa najnižom metrikom za odredište, a dva klijenta mogu oba instalirati podrazumevanu rutu sa različitim metrikama. Čitajte tabelu i konfiguraciju interfejsa zajedno, jer adapter sa nižom metrikom nije uvek onaj koji očekujete. Klijent koji postavlja i metriku interfejsa može pomeriti podrazumevanu rutu bez dodavanja ijedne rute. Adapter koji izgubi ostaje uključen i jednostavno ne prima ništa.
route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGatewayUporedite dva izlaza i imenujte interfejs koji poseduje 0.0.0.0/0. Ako ga oba klijenta polažu, metrika odlučuje, zbog čega test redosleda povezivanja može izgledati nedosledno na različitim mašinama. Ako nijedan izlaz ne pokazuje podrazumevani gateway, klijent ne radi u punom tunelu i argument lanca je bespredmetan.
Dva posmatrača, dva različita pogleda
Udaljeni gateway vidi jednu vezu koja dolazi sa spoljnog izlaza plus sve što klijent prosleđuje u svoj tunel. Lokalni klijent vidi adaptere, rute i postojanje drugog tunela, jer radi sa ovlašćenjima da ih stvori. Razdvajanje tih pogleda je poenta; tvrdnja da klijent ne može primetiti nije.
Pretpostavite da klijent može nabrojati šta god želi i planirajte za pogled gatewaya umesto toga. Dizajn koji zavisi od toga da klijent ostane slep jednu je nadogradnju daleko od kvara.
DNS i IPv6 su mesta gde lanac curi
DNS sledi ono podešavanje resolvera koje pobedi, a to nije nužno putanja kojom paketi idu. Korporativni resolver dostignut kroz korporativni tunel dosledan je s dizajnom; lokalni resolver dostignut izvan njega nije, i otkriva imena koja je tunel trebalo da sakrije. IPv6 je drugo curenje: dual-stack host nastavlja da koristi IPv6 prema odredištima koja tunel nosi samo preko IPv4. Proveravajte porodice odvojeno, jer tunel samo za IPv4 ne govori ništa o IPv6 rutama ili resolverima.
ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'Popravite resolver i IPv6 rutu namerno, umesto da nalegnete drugi tunel odozgo. Dvostruka enkapsulacija takođe košta MTU, pa je manji unutrašnji MTU prvo što treba isprobati kada se stranice zaglave nakon uspostavljanja lanca. Resolver koji brzo odgovara nije dokaz da je pravi resolver.