It heakskript wurdt aktivearre, lêst ppp0 en past rûtes ta op hokker ynterface dan ek dat op dat stuit dy namme hat. Soms is it de tunnel dy’tst bedoelde; soms is it in sesje dy’t in minút earder ferbûn. De folgjende ferbining ferpleatst it nûmer, en itselde skript konfigurearret stilwei de ferkearde keppeling. De oplossing is om de ynterface út ’e oanrop te nimmen dy’t krekt rûn, en it bedoelde profyl dêrby te dragen.

Folgje ien sesje fan opsjes oant de heak

Begjin dêr’t de sesje oanmakke wurdt. xl2tpd start pppd mei de opsjefile dy’t troch pppoptfile fan dy tunnel neamd wurdt, sadat de plugin, it ienheidsnûmer en elk profylmarker dêr besletten wurde en net yn in globale file. In ferbiningsbehearder kin syn eigen opsjes generearje, wat betsjut dat it bewurkjen fan /etc/ppp/options gjin bewiis is dat de tunnel dy’tsto bedoelst feroare is. As de keppeling omheech komt, rint pppd de notifikaasjeskripts fan ’e dispatcher fan ’e distribúsje. Dy skripts krije de ynterfacenamme as earste argumint en it profylmarker as sechsde.

De omjouwing draacht deselde feiten ûnder nammen lykas IFNAME en PPP_IPPARAM, mar har beskikberens hinget ôf fan ’e ynstallearre dispatcher. Lês de dispatcher foardatst op in fariabele fertroust: guon distribúsjes hâlde de upstream-argumintoarder, oaren filterje de omjouwing foardat dyn skript oanroppen wurdt. In skript dat allinnich $1 en it sechsde argumint brûkt, wurket ûnder beide regelingen.

Lês de ynterface út ’e oanrop

De tradisjonele heak krijt de ynterface earst. Dy posisjewearde is de ynterface-identifikaasje dy’t de sesje beskriuwt dy’t it skript aktivearre. Bewarje it boppe-yn in fariabele en brûk dy fariabele dan foar rûtes, firewallregels en ôfbrekken.

ipparam office-vpn

Heechje in profylmarker dêr’t de opsjes definiearre wurde, net yn it skript. Mei dy rigel yn ’e opsjefile fan ’e tunnel draacht elke sesje dy’t út dy file makke wurdt office-vpn as sechsde argumint. It skript kin op it marker fertakke wylst it noch op ’e echte ynterface hannelet. Hâld de twa apart yn ’e koade, want it marker is stabyl en de ynterface wurdt per sesje tawiisd.

Freegje in namme allinnich as wegering krekt is

In fêste namme liket ienfâldiger as arguminten lêze, mar it feroaret it falgedrach. De opsje unit freget in nûmer foar in útgongferbining, en pppd falt werom op in dynamyske tawizing as dy ienheid al beset is. Neat yn dat resultaat reservearret ppp0 foar dyn profyl.

ifname ppp-office

De opsje ifname gedraacht him oars: as de frege namme al yn gebrûk is of net tawiisd wurde kin, giet pppd fuort ynstee fan in oare te kiezen. Dat is in beliedskeuze, net in kosmetyske omneaming. Brûk it as in twadde tagelyk eksimplaar fan itselde profyl wegere wurde moat, en befêstigje dat de ynstallearre pppd en dyn ferbiningsbehearder de opsje trochjaan.

Hoe dan ek, de namme dy’t it skript sjocht is dejinge dêr’t op hannele wurde moat. In konfigurearre namme hellet de needsaak om ’e oanrop te lêzen net fuort, want in op ’e nij starte sesje kin noch altyd in oare namme as de foarige oppenearje.

Meitsje it ôfbrekken lyk oan ’e sesje dy’tst konfigurearre hast

Rûtes en firewallregels libje langer as it skript dat se makke hat, dus it ôfbrekken moat krekt de objekten fuorthelje dy’t de sesje hat. Markearje regels mei it profylmarker likegoed as mei de ynterface, en wiskje op dat marker. As twa tunnels tagelyk omheech wêze kinne, dan is alles wiskje dat ppp neamt de manier wêrop ien ôfbrekken de oare ferbining brekt.

Test it gefal dat de bug bleatleit: bring de twadde PPP-sesje omheech wylst de earste noch ferbûn is, ferbyn dan de earste op ’e nij en sjoch hokker ynterface de heak rapportearret. In suksesfolle rin mei ien sesje bewist neat oer nammetawizing. Werhelje mei de VPN stoppe om te befêstigjen dat it ôfbrekken gjin ferâldere rûte efterlit.

Hâld it marker, de ynterface en it heakpaad yn ’e ynsetnotysjes. As it nûmer nei in reboot feroaret, ferklearje dy trije wearden wêrom’t it skript oars gedroech sûnder hokker konfiguraasjebewurking dan ek.

Relatearre artikelen