ppp0 või ppp1? Kuidas nimetada PPP VPN-i seanssi skriptide jaoks
pppd annab igale seansile liidese nime ja profiilimarkeri. Loe mõlemad konksust, mitte ppp0-st. Jäta fikseeritud nimi ainult siis, kui keeldumine on kavatsuslik.
Konksuskript käivitub, loeb ppp0 ja rakendab marsruudid liidesele, millel see nimi sel hetkel on. Mõnikord on see tunnel, mida mõtlesid; mõnikord on see seanss, mis ühendus minut varem. Järgmine taasthendus liigutab numbrit ja sama skript seadistab vaikselt vale ühenduse. Lahendus on võtta liides just toimunud kutse seest ja kanda kavatsetud profiili selle kõrval.
Jälgi üht seanssi valikutest konksuni
Alusta sealt, kus seanss luuakse. xl2tpd käivitab pppd valikufailiga, mille nimetab selle tunneli pppoptfile, seega pistikmoodul, seadme number ja mis tahes profiilimarker otsustatakse seal, mitte üldises failis. Ühenduse haldur võib genereerida oma valikud, mis tähendab, et /etc/ppp/options muutmine ei tõenda, et sind huvitav tunnel on muutunud. Kui ühendus tõuseb, käivitab pppd teavitusskriptid distributsiooni saatja kaudu. Need skriptid saavad liidese nime esimese argumendina ja profiilimarkeri kuuendana.
Keskkond kannab samu fakte nimede all nagu IFNAME ja PPP_IPPARAM, kuid nende kättesaadavus sõltub paigaldatud saatjast. Loe saatjat enne muutujale lootmist: mõned distributsioonid säilitavad upstream-argumentide järjekorra, teised filtreerivad keskkonda enne sinu skripti kutsumist. Skript, mis kasutab ainult $1 ja kuuendat argumenti, töötab mõlemas korralduses.
Loe liides kutsest
Traditsiooniline konks saab liidese esimesena. See positsiooniväärtus on liidese identifikaator, mis kirjeldab seanssi, mis skripti käivitas. Salvesta see ülaosas muutujasse ja kasuta seda muutujat seejärel marsruutide, tulemüürireeglite ja lammutamise jaoks.
ipparam office-vpn
Kinnita profiilimarker sinna, kus valikud on määratletud, mitte skripti. Selle reaga tunneli valikufailis kannab iga sellest failist loodud seanss office-vpn kuuenda argumendina. Skript saab markeri järgi hargneda, tegutsedes samal ajal päris liidesel. Hoia need kaks koodis eraldi, sest marker on püsiv ja liides eraldatakse iga seansi kohta.
Küsi nime ainult siis, kui keeldumine on õige
Fikseeritud nimi tundub lihtsam kui argumentide lugemine, kuid muudab tõrke käitumist. Valik unit küsib väljamineva ühenduse jaoks numbrit ja pppd lülitub dünaamilisele eraldamisele, kui see seade on juba hõivatud. Miski selles tulemuses ei reserveeri ppp0 sinu profiili jaoks.
ifname ppp-office
Valik ifname käitub teisiti: kui soovitud nimi on juba kasutusel või seda ei saa määrata, väljub pppd selle asemel, et valida teine. See on poliitika otsus, mitte kosmeetiline ümbernimetamine. Kasuta seda, kui sama profiili teine samaaegne eksemplar tuleb tagasi lükata, ja kinnita, et paigaldatud pppd ja sinu ühenduse haldur annavad valiku edasi.
Ükskõik kuidas, nimi, mida skript näeb, on see, mille järgi tegutseda. Seadistatud nimi ei kõrvalda vajadust kutsuda lugeda, sest taaskäivitatud seanss võib endiselt esitleda teistsugust nime kui eelmine.
Sovita lammutamine seansiga, mille seadistasid
Marsruudid ja tulemüürireeglid elavad kauem kui skript, mis need lõi, seega peab lammutamine eemaldama täpselt need objektid, mida seanss omab. Märgista reeglid profiilimarkeri ja liidesega ning kustuta selle märgi järgi. Kui kaks tunnelit võivad olla üleval, siis kõige ppp-d mainiva kustutamine on viis, kuidas üks katkestus rikub teise ühenduse.
Testi juhtu, mis vea paljastab: tõsta teine PPP seanss üles, kui esimene on veel ühendatud, seejärel taasühenda esimene ja vaata, millist liidest konks teatab. Edukas käivitus ühe seansiga ei tõesta nime eraldamise kohta midagi. Korda VPN-i peatatud olekus, et kinnitada, et lammutamine ei jäta aegunud marsruuti maha.
Hoia marker, liides ja konksu tee juurutamismärkmetes. Kui number pärast taaskäivitust muutub, selgitavad need kolm väärtust, miks skript käitus teisiti ilma ühegi seadistuse muudatuseta.