Du VPN klientai vienu metu: kas laimi numatytąjį maršrutą?
Du VPN klientai pretenduoja į numatytąjį maršrutą, ir laimi tik vienas. Perskaitykite metriką, /1 porą ir resolverio padalijimą prieš pasirinkdami tunelių tvarką.
Dviejų VPN klientų paleidimas vienu metu yra maršrutizavimo ginčas, o ne privatumo nustatymas. Kuris tunelis turi konkretesnį maršrutą, tas gauna srautą, o kitas lieka prijungtas, bet neaktyvus. Įmonės šliuzas tada mato ryšį, ateinantį iš asmeninio išėjimo, o įmonės klientas jūsų kompiuteryje vis dar mato kiekvieną adapterį. Nuspręsti, kuri iš šių dviejų faktų svarbi, ir yra visas pratimas.
Maršrutų lentelė išrenka vieną laimėtoją
Užfiksuokite lentelę prieš įmonės kliento paleidimą ir po jo, ir skaitykite sąsajos stulpelį, o ne vien tikslą. Paprastas numatytasis maršrutas iš išorinio tunelio lengvai išstumiamas, nes /1 pora yra konkretesnė už /0. Pažodinė pora 0.0.0.0/1 ir 128.0.0.0/1 apima visą IPv4 erdvę dviem pusėmis ir įveikia bet kurį vienintelį numatytąjį maršrutą. Įdiegus, išorinis tunelis vis dar rodomas prijungtas ir nieko neneša.
ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'Politika pagrįstas maršrutizavimas gali visiškai apeiti pagrindinę lentelę, todėl skaitykite ir taisykles, ir maršrutus. Taisyklė, kuri pažymėtą srautą siunčia į kitą lentelę, laimi prieš kreipiantis į pagrindinę lentelę. Taip viena programa gali likti fizinėje jungtyje, kol visa kita naudoja tunelį.
ip rule showWindows tai sprendžia metrikomis
Windows metu laimėtojas yra maršrutas su mažiausia tikslui skirta metrika, ir du klientai gali abu įdiegti numatytąjį maršrutą su skirtingomis metrikomis. Skaitykite lentelę ir sąsajos konfigūraciją kartu, nes adapteris su mažesne metrika ne visada yra tas, kurio tikitės. Klientas, kuris taip pat nustato sąsajos metriką, gali perkelti numatytąjį maršrutą nepridėdamas nė vieno maršruto. Pralaimėjęs adapteris lieka įjungtas ir tiesiog nieko negauna.
route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGatewayPalyginkite abu išėjimus ir įvardykite sąsają, kuriai priklauso 0.0.0.0/0. Jei abu klientai į ją pretenduoja, sprendžia metrika, todėl ryšio tvarkos testas skirtingose mašinose gali atrodyti nenuoseklus. Jei nė vienas išėjimas nerodo numatytojo šliuzo, klientas neveikia viso tunelio režimu ir grandinės argumentas netenka prasmės.
Du stebėtojai, du skirtingi požiūriai
Nuotolinis šliuzas mato vieną ryšį, ateinantį iš išorinio išėjimo, plius viską, ką klientas persiunčia į savo tunelį. Vietinis klientas mato adapterius, maršrutus ir kito tunelio egzistavimą, nes veikia su teisėmis juos kurti. Atskirti šiuos požiūrius ir yra esmė; teiginys, kad klientas negali pastebėti, nėra.
Tarkime, klientas gali išvardyti, ką nori, ir planuokite pagal šliuzo požiūrį. Dizainas, kuris priklauso nuo kliento aklumo, yra vienas atnaujinimas nuo sulūžimo.
DNS ir IPv6 yra ten, kur grandinė nuteka
DNS seka tą resolverio nustatymą, kuris laimi, ir tai nebūtinai kelias, kuriuo eina paketai. Įmonės resolveris, pasiekiamas per įmonės tunelį, atitinka dizainą; vietinis resolveris, pasiekiamas už jo ribų, neatitinka, ir jis atskleidžia vardus, kuriuos tunelis turėjo slėpti. IPv6 yra antra nuotėkis: dvigubo kamino kompiuteris toliau naudoja IPv6 link tikslų, kuriuos tunelis veža tik per IPv4. Tikrinkite šeimas atskirai, nes tik IPv4 tunelis nieko nesako apie IPv6 maršrutus ar resolverius.
ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'Ištaisykite resolverį ir IPv6 maršrutą sąmoningai, o ne kraukite antrą tunelį ant viršaus. Dvigubas inkapsuliavimas taip pat kainuoja MTU, todėl mažesnis vidinis MTU yra pirmas dalykas, kurį reikia išbandyti, kai puslapiai stringa pakėlus grandinę. Greitai atsakantis resolveris nėra įrodymas, kad jis teisingas.