Vaša stará predvolená trasa po OpenVPN zámerne zostáva
Dve trasy /1 predčia predvolenú trasu bez toho, aby ju nahradili. Overte, ktorú trasu cieľ skutočne použije, a potom nechajte starú bránu na mieste.
Pripojíte tunel, spustíte ip route a pôvodná predvolená brána tam stále je. Ďalšia myšlienka je, že klient trasu neprevzal, takže predvolenú trasu vymažete ručne a úplne stratíte spojenie. Tento záznam má zostať. S redirect-gateway def1 OpenVPN nainštaluje dve konkrétnejšie trasy, ktoré predčia bežnú predvolenú trasu, namiesto toho, aby ju nahradili. Stará brána zostáva a prestáva prenášať prevádzku, ktorú ste testovali.
Čo def1 skutočne robí
Príznak pridá 0.0.0.0/1 a 128.0.0.0/1, obe smerujú do tunela. 0.0.0.0/1 pokrýva každú adresu, ktorej prvý oktet je od 0 do 127, a 128.0.0.0/1 pokrýva od 128 do 255, takže každý cieľ IPv4 má konkrétnejšiu zhodu ako stará predvolená trasa. O tom, ktorá trasa vyhrá, rozhoduje dĺžka prefixu, nie metrika.
Ponechať pôvodnú predvolenú trasu na mieste je zámer. Klient si nemusí pamätať, čo nahradil, a neprepisuje trasu, ktorá nesie jeho vlastné spojenie so serverom VPN. Pri odpojení odstráni dve polovičné trasy a tabuľka sa vráti do pôvodného stavu.
Prečo /1 a nie /0
Smerovanie volí najdlhší zodpovedajúci prefix, nie najnižšiu metriku, takže /1 porazí /0 bez ohľadu na to, čo hovorí metrika predvolenej trasy. Obe polovice existujú preto, lebo jeden /1 pokrýva len polovicu priestoru; keď je prítomná len 0.0.0.0/1, všetko od 128.0.0.0 vyššie stále nasleduje starú predvolenú trasu, čo dáva mätúci príznak: niektoré weby fungujú a iné nie.
Zvýšenie alebo zníženie metriky starej predvolenej trasy nič nemení a predvolená trasa s nižšou metrikou na inom rozhraní prevádzku tiež neukradne. Najprv rozhoduje dĺžka prefixu a na metriku sa siaha len pri rovnakých prefixoch.
Prečítajte si skutočnú smerovaciu tabuľku
Pripojený hostiteľ môže zobraziť všetky tri záznamy naraz, pričom tunel nesie polovice a pôvodná brána je stále v zozname. Adresy sú príklady, nie konfigurácia na kopírovanie, pretože názvy rozhraní, topológia tunela a ďalšie trasy sa líšia podľa platformy a klienta.
default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0Dôležitý je vzťah: dve konkrétne polovice nad jednou všeobecnou predvolenou trasou. Riadok starej brány zostáva, pretože ho nič nenahradilo.
Overte, ktorú trasu paket skutočne použije
Konkrétnejšie trasy môžu stále vyhrať: trasa pre súkromný rozsah, miestnu podsiet alebo vlastná adresa servera VPN je dlhšia ako /1. Tunel potrebuje vonkajšiu cestu k svojmu serveru a poslanie tohto spojenia späť do tunela by ho okamžite zlomilo. V Linuxe sa pýtajte jadra, namiesto čítania tabuľky od oka: ip route get s cieľom, ktorý vás zaujíma, vypíše zvolenú trasu, rozhranie a zdroj. Ak je nastavené smerovanie podľa politík, prezrite si aj pravidlá, pretože pravidlo môže vybrať inú tabuľku predtým, než sa pozrie hlavná.
Ak sa nesprávne správa len časť IPv4, potvrďte, že sú nainštalované obe polovice, a potom hľadajte výnimku zodpovedajúcu zlyhávajúcemu cieľu. Vymazanie starej predvolenej trasy nie je riešenie a odoberie trasu, ktorú klient potrebuje na čisté rozobratie tunela.
Čo def1 nepokrýva
Dva záznamy IPv4 nehovoria nič o IPv6: hostiteľ s konektivitou IPv6 ďalej používa svoju predvolenú trasu, kým niečo túto rodinu nepresmeruje samostatne, a preto v sieti s duálnym zásobníkom časť prevádzky vyzerá, akoby obchádzala tunel. Iní klienti a správcovia siete implementujú smerovanie celého tunela inak a ich tabuľky sa nebudú zhodovať. Tu opísané správanie def1 patrí dokumentovanému príznaku OpenVPN, nie každej VPN na stroji.
Núdzový vypínač odpovedá na inú otázku: čo stroj robí, keď tunel padne. Priorita trás rozhoduje, kam prevádzka ide, kým je tunel hore; nerozhoduje, čo potom robí firewall. Poradie práce: prečítajte tabuľku, potvrďte, že obe polovice existujú, spustite ip route get pre zlyhávajúci cieľ, skontrolujte pravidlá politík a potom sa samostatne pozrite na IPv6. Nechajte starú predvolenú trasu tam, kde je.