ppp0 apo ppp1? Si të emërtohet një sesion VPN PPP për skriptet
pppd i jep çdo sesioni një emër ndërfaqeje dhe një shënues profili. Lexo të dyja nga hook-u, jo nga ppp0. Rezervo një emër fiks vetëm kur refuzimi është i qëllimshëm.
Skripti i hook-ut aktivizohet, lexon ppp0 dhe zbaton rrugët në çdo ndërfaqe që mban atë emër në atë moment. Ndonjëherë është tuneli që kishit menduar; ndonjëherë është një sesion që u lidh një minutë më parë. Rilidhja tjetër e zhvendos numrin, dhe i njëjti skript konfiguron në heshtje lidhjen e gabuar. Zgjidhja është të marrësh ndërfaqen nga thirrja që sapo u ekzekutua, dhe të mbash profilin e synuar pranë saj.
Ndiq një sesion nga opsionet deri te hook-u
Fillo aty ku krijohet sesioni. xl2tpd nis pppd me skedarin e opsioneve që emërtohet nga pppoptfile i atij tuneli, kështu që shtojca, numri i njësisë dhe çdo shënues profili vendosen atje dhe jo në një skedar global. Një menaxher lidhjesh mund të gjenerojë opsionet e veta, që do të thotë se redaktimi i /etc/ppp/options nuk është provë që tuneli që ju intereson ka ndryshuar. Kur lidhja ngrihet, pppd ekzekuton skriptet e njoftimit nga dërguesi i shpërndarjes. Ato skripte marrin emrin e ndërfaqes si argumentin e parë dhe shënuesin e profilit si të gjashtin.
Mjedisi mbart të njëjtat fakte nën emra si IFNAME dhe PPP_IPPARAM, por disponueshmëria e tyre varet nga dërguesi i instaluar. Lexo dërguesin përpara se të mbështetesh te një variabël: disa shpërndarje ruajnë rendin e argumenteve upstream, të tjerat filtrojnë mjedisin përpara se të thërrasin skriptin tënd. Një skript që përdor vetëm $1 dhe argumentin e gjashtë funksionon në të dyja rastet.
Lexo ndërfaqen nga thirrja
Hook-u tradicional merr ndërfaqen i pari. Ai vlerë pozicional është identifikuesi i ndërfaqes që përshkruan sesionin që aktivizoi skriptin. Ruaje në një variabël në krye, pastaj përdor atë variabël për rrugët, rregullat e firewall-it dhe çmontimin.
ipparam office-vpn
Lidh një shënues profili aty ku përcaktohen opsionet, jo në skript. Me atë rresht në skedarin e opsioneve të tunelit, çdo sesion i krijuar nga ai skedar mbart office-vpn si argumentin e gjashtë. Skripti mund të degëzohet sipas shënuesit ndërsa vepron ende mbi ndërfaqen reale. Mbaji të dyja të ndara në kod, sepse shënuesi është i qëndrueshëm dhe ndërfaqja caktohet për çdo sesion.
Kërko emër vetëm kur refuzimi është i saktë
Një emër fiks duket më i thjeshtë se leximi i argumenteve, por ndryshon sjelljen në dështim. Opsioni unit kërkon një numër për një lidhje dalëse, dhe pppd kthehet në caktim dinamik kur ajo njësi është tashmë e zënë. Asgjë në atë rezultat nuk rezervon ppp0 për profilin tënd.
ifname ppp-office
Opsioni ifname sillet ndryshe: nëse emri i kërkuar është tashmë në përdorim ose nuk mund të caktohet, pppd del në vend që të zgjedhë një tjetër. Ky është një zgjedhje politike, jo një riemërtim kozmetik. Përdore kur një instancë e dytë e njëkohshme e të njëjtit profil duhet të refuzohet, dhe konfirmo që pppd i instaluar dhe menaxheri yt i lidhjeve e kalojnë opsionin.
Në çdo rast, emri që sheh skripti është ai mbi të cilin duhet vepruar. Një emër i konfiguruar nuk e heq nevojën për të lexuar thirrjen, sepse një sesion i rinisur mund të paraqesë ende një emër të ndryshëm nga ai i mëparshmi.
Bëj që çmontimi të përputhet me sesionin që konfigurove
Rrugët dhe rregullat e firewall-it jetojnë më shumë se skripti që i krijoi, kështu që çmontimi duhet të heqë saktësisht objektet që zotëron sesioni. Etiketo rregullat me shënuesin e profilit dhe me ndërfaqen, dhe fshij sipas atij etiketi. Nëse dy tunele mund të jenë aktivë, fshirja e gjithçkaje që përmend ppp është mënyra se si një shkëputje prish lidhjen tjetër.
Testo rastin që zbulon gabimin: ngri sesionin e dytë PPP ndërsa i pari është ende i lidhur, pastaj rilidh të parin dhe vëzhgo cilën ndërfaqe raporton hook-u. Një ekzekutim i suksesshëm me një sesion nuk provon asgjë për caktimin e emrave. Përsërite me VPN të ndaluar për të konfirmuar që çmontimi nuk lë një rrugë të vjetruar.
Mbaj shënuesin, ndërfaqen dhe shtegun e hook-ut në shënimet e vendosjes. Kur numri ndryshon pas një rindezjeje, ato tre vlera shpjegojnë pse skripti u soll ndryshe pa asnjë ndryshim konfigurimi.