Kaksi VPN-asiakasta yhtä aikaa: kumpi voittaa oletusreitin?
Kaksi VPN-asiakasta vaatii oletusreitin, ja vain yksi voittaa. Lue metriikka, /1-pari ja resolverin jako ennen tunnelijärjestyksen valintaa.
Kahden VPN-asiakkaan ajaminen yhtä aikaa on reitityskysymys, ei tietosuoja-asetus. Se tunneli, joka omistaa tarkemman reitin, saa liikenteen, ja toinen pysyy yhdistettynä mutta toimettomana. Yrityksen yhdyskäytävä näkee silloin yhteyden, joka saapuu henkilökohtaisesta ulostulosta, kun taas koneesi yritysasiakas näkee edelleen jokaisen sovittimen. Sen päättäminen, kumpi näistä kahdesta tosiasiasta merkitsee, on koko harjoitus.
Reititystaulu valitsee yhden voittajan
Tallenna taulu ennen yritysasiakkaan käynnistymistä ja sen jälkeen, ja lue liitännän sarake eikä vain kohde. Ulomman tunnelin tavallinen oletusreitti on helppo syrjäyttää, koska /1-pari on tarkempi kuin /0. Kirjaimellinen pari 0.0.0.0/1 ja 128.0.0.0/1 kattaa koko IPv4-avaruuden kahdessa puolikkaassa ja voittaa minkä tahansa yksittäisen oletusreitin. Asennuksen jälkeen ulompi tunneli näyttää edelleen yhdistetyltä eikä kuljeta mitään.
ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'Käytäntöperusteinen reititys voi ohittaa päätaulun kokonaan, joten lue sekä säännöt että reitit. Sääntö, joka lähettää merkityn liikenteen toiseen tauluun, voittaa ennen kuin päätaulua edes tarkastellaan. Näin yksi sovellus voi pysyä fyysisellä linkillä, kun kaikki muu käyttää tunnelia.
ip rule showWindows ratkaisee sen metriikoilla
Windowsissa voittaja on reitti, jolla on alhaisin metriikka kohteelle, ja kaksi asiakasta voi molemmat asentaa oletusreitin eri metriikoilla. Lue taulu ja liitännän kokoonpano yhdessä, koska alemman metriikan sovitin ei aina ole se, mitä odotat. Asiakas, joka asettaa myös liitännän metriikan, voi siirtää oletusreittiä lisäämättä yhtään reittiä. Häviävä sovitin pysyy päällä ja yksinkertaisesti ei saa mitään.
route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGatewayVertaa kahta tulostetta ja nimeä liitäntä, joka omistaa 0.0.0.0/0. Jos molemmat asiakkaat vaativat sitä, metriikka ratkaisee, minkä vuoksi yhteysjärjestyksen testi voi näyttää epäjohdonmukaiselta eri koneilla. Jos kumpikaan tuloste ei näytä oletusyhdyskäytävää, asiakas ei toimi täystunnelissa ja ketjuargumentti on merkityksetön.
Kaksi tarkkailijaa, kaksi eri näkymää
Etäinen yhdyskäytävä näkee yhden yhteyden, joka saapuu ulommasta ulostulosta, sekä kaiken, mitä asiakas välittää tunneliinsa. Paikallinen asiakas näkee sovittimet, reitit ja toisen tunnelin olemassaolon, koska se toimii oikeuksilla luoda ne. Näiden näkymien erottaminen on pointti; väite, ettei asiakas voi huomata, ei ole.
Oleta, että asiakas voi luetella mitä haluaa, ja suunnittele sen sijaan yhdyskäytävän näkymälle. Suunnittelu, joka riippuu asiakkaan sokeana pysymisestä, on yhden päivityksen päässä rikkoutumisesta.
DNS ja IPv6 ovat paikkoja, joissa ketju vuotaa
DNS seuraa sitä resolver-asetusta, joka voittaa, eikä se välttämättä ole se polku, jota paketit kulkevat. Yritystunnelin kautta tavoitettu yritysresolveri on suunnitelman mukainen; sen ulkopuolelta tavoitettu paikallinen resolveri ei ole, ja se paljastaa nimiä, jotka tunneli oli tarkoitettu piilottamaan. IPv6 on toinen vuoto: kaksoispinon isäntä käyttää edelleen IPv6:ta kohteisiin, joita tunneli kuljettaa vain IPv4:n kautta. Tarkista perheet erikseen, koska vain IPv4:n tunneli ei kerro mitään IPv6-reiteistä tai -resolvereista.
ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'Korjaa resolveri ja IPv6-reitti tarkoituksella sen sijaan, että pinoaisit toisen tunnelin päälle. Kaksinkertainen kapselointi maksaa myös MTU:ta, joten pienempi sisäinen MTU on ensimmäinen kokeiltava, kun sivut juuttuvat ketjun pystytyksen jälkeen. Nopeasti vastaava resolveri ei ole todiste siitä, että se on oikea resolveri.