Zousätzlech Mac-VPN-Routen brauchen en Eegentum, net en Login-Skript
Eng Route déi eemol beim Login derbäigesat gëtt ass keng Reconnectiounsrichtlinn. Gëff de wäite Prefixen en Eegentum an decidéier wéi se mat där Verbindung erschéngen, sech änneren a verschwannen.
E privat Prefix iwwer eng VPN z'erreechen ass eng Ufuerderung mat enger Dauer: se gëllt sou laang wéi déi Verbindung brauchbar ass, an se endet wéi d'Verbindung endet. En Login-Skript kann dat net ausdrécken, well Login an Tunnel-Op verschidde Momenter sinn, an den Tunnel deen beim Login existéiert ass vläicht net deen, deen eng Minutt méi spéit Traffic dréit. Déi éischt Entscheedung ass net, wéi eng Kommando een ausféiert. Et ass, wéi eng Komponent d'Prefix besëtzt.
D'Prefix brauch en Eegentum, net e Moment
Fänk domat un, d'Ufuerderung als Saz mat engem Sujet ze schreiwen: erreech 10.77.0.0/24 iwwer d'Office-VPN, soulaang déi Verbindung op ass. Dee Saz nennt d'Prefix, d'Verbindung an d'Konditioun, an en schléisst direkt zwee populär Ersatz aus: en Login-Hook an en Interface-Numm wéi ppp0 oder utun2.
Interface-Nimm ginn zur Laufzäit zougewisen a si net stabil tëschent Reconnectiounen. En Hook deen den Numm entsprécht deen en d'lescht Woch gesinn huet, entweeder feuert net oder feuert géint engem aneren säin Interface. Béid Resultater erschéngen als Routing-Fehler an net als déi veruelte Viraussetzung déi se sinn. Déi selwecht Ameldung gëllt fir all Skript, dat un en Numm gebonnen ass, deen nëmme existéiert soulaang ee bestëmmten Tunnel op ass.
Benotz eng ënnerstëtzt Quell vun der Routeabsicht
D'Gateway, en verwalt Profil oder den dokumentéierte Routemechanismus vum besëtzenden Client ass déi richteg Plaz, wann dee Mechanismus d'Ufuerderung ausdrécke kann. Wéi en zoutrëfft hänkt vum Protokoll an dem Provider of, an d'Schlësselen reesen net tëschent hinnen, dofir eng Wäert dee en Profil konfiguréiert OpenVPN seet Iech näischt iwwer den native L2TP- oder IKEv2-Client.
| Mechanism | Can carry extra prefixes | Who owns the lifetime |
|---|---|---|
| Gateway-pushed routes | Often, if the gateway is configured for it | The connection |
| Managed profile settings | Depends on the client and profile format | The profile |
| Provider tunnel settings | Yes, as included and excluded routes | The provider process |
| Manual command | Yes, once | Nobody |
Fir Entwéckler vu Paket-Tunnelen weisen dem Apple seng IPv4-Tunnel-Astellungen abegraff an ausgeschloss Routen explizit, an IPv6 huet säi Géigestéck. Dat sinn APIen déi de Provider benotzt, keen Beweis datt all nativen VPN-Panel engem Administrateur eng arbiträr Routenlëscht ubitt. Wann déi aktuell Kombinatioun déi néideg Prefixen net ausdrécke kann, ass den nächsten Schrëtt en ënnerstëtzte Konfiguratiounswee vum Bedreiwer, net eng aner App déi an der Hoffnung installéiert gëtt datt se sech besser behält.
D'Liewensdauer enthält d'Botzen
Heiansdo ass en externen Hëllefer wierklech néideg, an dann ass «setz d'Route derbäi» de klengsten Deel vun senger Aarbecht. En muss wëssen wéi enger Verbindung en déngt a wéi en Interface déi Verbindung benotzt, waarden bis de relevante Netzwerkzoustand sech berouegt, idempotent bleiwen wann en zweemol hannereneen leeft, an näischt botzen wat en net selwer installéiert huet.
Déi lescht Klausel ass déi, déi wei mécht. En Hëllefer deen all Route läscht déi zum Office-Prefix passt, wäert fréier oder spéider eng Route läschen déi en net derbäigesat huet. Den duerch Resultat entsteet Ausfall gëtt dem VPN-Client zougeschriwwen, well de Client ass deen Deel deen de Benotzer gesäit. Entscheeden wat en Hëllefer besëtzt ier en en schreift ass méi bëlleg wéi duerno z'erklären firwat en lokalen Subnetz opgehalen huet ze äntweren.
D'Course bei der Reconnectioun
Stell dir eng séier Reconnectioun vir. Sessioun A fällt, Sessioun B kënnt erop an installéiert seng Route, an dann leeft dem A seng verspéit Botzen endlech. Wann dat Botzen Routen no Prefix ewechhëlt, hëlt et dem B säi gëltege Zoustand mat, an d'Verbindung déi virun enger Sekonn geschafft huet rout elo an näischt.
Dat ass eng Course ëm den Eegentum, an e Schlof an d'Skript ze setzen ännert just wéi eng Säit se gewënnt. D'Léisung ass d'Botzen un d'Identitéit ze bannen: vergläich den Interface an d'Sessioun déi den Hëllefer installéiert huet mat deenen déi nach aktuell sinn, a läsch nëmme wann se passen.
Wat ze testen, a wat eng Route net kann
D'Acceptatioun muss véier Iwwergäng decken: déi éischt Verbindung, eng Reconnectioun op en aneren Interface, en Travers dee mislängt, an déi lescht Trennung. Nodeems all eenzel dovun, lies d'Route déi de System tatsächlech fir eng Adress op der wäiter Säit gewielt huet, net déi déi s du erwaart hues.
route -n get 10.77.0.5
netstat -rn -f inet
Huelt déi onbequem Fäll an déiselwecht Ronn: IPv6 wou et néideg ass, en lokalen Prefix dee sech mam wäiten iwwerschneit, an d'Route zum ëffentlechen VPN-Endpunkt selwer, dee mus weider schaffe soulaang den Tunnel op ass. Schreiwwer dann op wat eng Route net ass. Se wielt Paketen aus; se gëtt keng Erlaabnes op der wäiter Säit a se schaaft keen Zeréckwee, an dat bleiwen separat Ufuerderunge mat separate Eegentümer.
D'Resultat dat s du wëlls ass eng Prefix déi sengem ënnerstëtzten Verbindungseegentum duerch all Iwwergang follegt, an net eng Kommando déi zoufälleg eemol op der Maschinn gelungen ass wou se geschriwwe gouf.