It berikken fan in priveeprefiks fia in VPN is in eask mei in doer: it jildt salang't dy ferbining brûkber is, en it einiget as de ferbining einiget. In oanmeldskript kin dat net útdrukke, om't oanmelde en tunnel-op ferskate mominten binne, en de tunnel dy't by oanmelde bestiet is miskien net dyjinge dy't in minút letter ferkear draacht. De earste beslissing is net hokker opdracht oft rûn wurde moat. It is hokker komponint it prefiks besit.

It prefiks hat in eigner nedich, net in momint

Begjin mei de eask as in sin mei in ûnderwerp te skriuwen: berik 10.77.0.0/24 fia de Kantoar-VPN wylst dy ferbining oan is. Dy sin neamt it prefiks, de ferbining en de betingst, en slút daliks twa populêre ferfangings út: in oanmeldheak en in ynterfacenamme lykas ppp0 of utun2.

Ynterfacenammen wurde by runtime tawiisd en binne net stabyl tusken werferbiningen. In heak dy't de namme matchet dy't er ferline wike seach, sil of net ôfgean of ôfgean tsjin immen oars syn ynterface. Beide útkomsten lykje in routeringsflater, net de ferâldere oanname dy't se binne. Deselde beswier jildt foar elk skript dat bûn is oan in namme dy't allinnich bestiet salang't ien spesifike tunnel oan is.

Brûk in stipe boarne fan rûtebedoeling

De gateway, in beheard profyl of it dokumintearre rûtemeganisme fan 'e eignerskliïnt is it goede plak, wannear't dat meganisme de eask útdrukke kin. Hokker fan tapassing is hinget ôf fan it protokol en de leveransier, en de kaaien reizgje net tusken har, dus in wearde dy't in profyl konfigurearret OpenVPN fertelt jo neat oer de native L2TP- of IKEv2-klïnt.

MechanismCan carry extra prefixesWho owns the lifetime
Gateway-pushed routesOften, if the gateway is configured for itThe connection
Managed profile settingsDepends on the client and profile formatThe profile
Provider tunnel settingsYes, as included and excluded routesThe provider process
Manual commandYes, onceNobody

Foar ûntwikkelders fan pakketttunnels lizze Apple syn IPv4-tunelynstellings ynsluten en útsluten rûtes eksplisyt bleat, en IPv6 hat syn wjergader. Dat binne API's dy't de leveransier brûkt, gjin bewiis dat elk native VPN-paniel in behearder in willekeurige rûtelist biedt. As de hjoeddeiske kombinaasje de nedige prefiksen net útdrukke kin, is de folgjende stap in stipe konfiguraasjepaad fan 'e operator, net in oare app dy't ynstalleare wurdt yn 'e hope dat er him better hâldt.

De libbensdoer omfettet opromjen

Soms is in eksterne helper wier nedich, en dan is «foegje de rûte ta» it lytste part fan syn wurk. Hy moat witte hokker ferbining er tsjinnet en hokker ynterface dy ferbining brûkt, wachtsje oant de oanbelangjende netwurksteat ta rêst komt, idempotint bliuwe as er twa kear efterinoar rint, en neat opromje dat er sels net ynstallearre hat.

Dy lêste klausule is dejinge dy't sear docht. In helper dy't elke rûte dy't by it kantoarprefiks past útbliuwt, sil earder of letter in rûte wiskje dy't er net tafoege hat. De ûntstiene steuring wurdt op 'e VPN-klïnt skood, om't de klïnt it part is dat de brûker sjocht. Bepale wat in helper besit foardat jo him skriuwe is goedkeaper as efterôf útlizze wêrom't in lokaal subnetsje ophold mei antwurdzjen.

De werferbiningswedstriid

Tink oan in snelle werferbining. Sesje A falt del, sesje B komt oan en ynstallearret syn rûte, en dan rint A syn fertrage opromjen einlings. As dat opromjen rûtes by prefiks fuorthellet, nimt it B syn jildige steat mei, en de ferbining dy't in sekonde lyn noch wurke, rûtelet no nei nea.

Dit is in eignerskipswedstriid, en in sliep tafoegje oan it skript feroaret allinnich hokker kant him wint. De oplossing is opromjen betingstich te meitsjen fan identiteit: fergelykje de ynterface en sesje dy't de helper ynstallearre hat mei dyjingen dy't noch aktueel binne, en wiskje allinnich by in oerienkomst.

Wat te testen, en wat in rûte net kin

Akseptaasje moat fjouwer oergongen dekke: de earste ferbining, in werferbining nei in oare ynterface, in ferbiningspoging dy't mislearret, en it definitive ôfskieden. Lês nei elk dêrfan de rûte dy't it systeem wirklik keas foar in adres oan 'e oare kant, net dy't jo ferwachten.

route -n get 10.77.0.5
netstat -rn -f inet

Nim de ûngemaklike gefallen yn deselde gong mei: IPv6 dêr't it nedich is, in lokaal prefiks dat it fiere oerlapet, en de rûte nei it iepenbiere VPN-einpunt sels, dy't wurkje moat salang't de tunnel oan is. Skriuw dan op wat in rûte net is. It selektearret pakketten; it jout gjin tastimming oan 'e oare kant en it makket gjin weromwei, en dat bliuwe aparte easken mei aparte eigners.

It resultaat dat jo wolle is in prefiks dat syn stipe ferbiningseigner troch elke oergong folget, ynstee fan in opdracht dy't tafallich ien kear slagge op 'e masine dêr't er skreaun waard.

Relatearre artikelen