ppp0 o ppp1? Pagbibigay ng pangalan sa sesyon ng VPN PPP para sa mga script
Binibigyan ng pppd ang bawat sesyon ng pangalan ng interface at marka ng profile. Basahin ang dalawa mula sa hook, hindi mula sa ppp0. Magreserba ng nakapirming pangalan lamang kapag sinadya ang pagtanggi.
Nag-trigger ang script ng hook, binabasa ang ppp0 at inilalapat ang mga ruta sa alinmang interface na may taglay ng pangalang iyon sa sandaling iyon. Minsan ito ang tunnel na pinapunta mo; minsan ito ay sesyon na kumonekta isang minuto bago. Ang susunod na muling pagkonekta ay nagbabago ng numero, at ang parehong script ay tahimik na nagko-configure ng maling link. Ang solusyon ay kunin ang interface mula sa invocation na katatapos lang tumakbo, at dalhin ang inilaan na profile sa tabi nito.
Sundan ang isang sesyon mula sa mga opsyon hanggang sa hook
Magsimula kung saan nililikha ang sesyon. Inilunsad ng xl2tpd ang pppd gamit ang file ng mga opsyon na pinangalanan ng pppoptfile ng tunnel na iyon, kaya ang plugin, numero ng unit at anumang marka ng profile ay dito nagpapasya at hindi sa pangkalahatang file. Maaaring gumawa ng sariling mga opsyon ang tagapamahala ng koneksyon, ibig sabihin ang pag-edit ng /etc/ppp/options ay hindi patunay na nagbago ang tunnel na mahalaga sa iyo. Kapag bumangon ang link, pinapatakbo ng pppd ang mga script ng abiso mula sa tagapagpadala ng distribusyon. Tinatanggap ng mga script na iyon ang pangalan ng interface bilang unang argumento, at ang marka ng profile bilang ikaanim.
Dinadala ng kapaligiran ang parehong mga katotohanan sa ilalim ng mga pangalang gaya ng IFNAME at PPP_IPPARAM, ngunit ang pagkakaroon ng mga ito ay nakasalalay sa naka-install na tagapagpadala. Basahin ang tagapagpadala bago umasa sa isang variable: pinapanatili ng ilang distribusyon ang pagkakasunod-sunod ng mga argumentong upstream, sinasala naman ng iba ang kapaligiran bago tawagin ang iyong script. Ang script na gumagamit lamang ng $1 at ikaanim na argumento ay gumagana sa parehong pagkakaayos.
Basahin ang interface mula sa invocation
Tinatanggap muna ng tradisyonal na hook ang interface. Ang posisyonal na halagang iyon ay ang identifier ng interface na naglalarawan sa sesyong nag-trigger ng script. Itabi ito sa isang variable sa itaas, pagkatapos gamitin ang variable na iyon para sa mga ruta, panuntunan ng firewall at pagtanggal.
ipparam office-vpn
Ilakip ang marka ng profile kung saan tinutukoy ang mga opsyon, hindi sa script. Sa linyang iyon sa file ng mga opsyon ng tunnel, bawat sesyong nilikha mula sa file na iyon ay may taglay na office-vpn bilang ikaanim na argumento nito. Maaaring magsanga ang script sa marka habang kumikilos pa rin sa tunay na interface. Panatilihing hiwalay ang dalawa sa code, dahil ang marka ay matatag at ang interface ay inilalaan bawat sesyon.
Humingi ng pangalan lamang kapag tama ang pagtanggi
Ang nakapirming pangalan ay mukhang mas simple kaysa sa pagbasa ng mga argumento, ngunit binabago nito ang pag-uugali kapag nabigo. Hinihingi ng opsyon na unit ang isang numero para sa papalabas na koneksyon, at bumabalik ang pppd sa dinamikong paglalaan kapag abala na ang unit na iyon. Wala sa resultang iyon ang nagreserba ng ppp0 para sa iyong profile.
ifname ppp-office
Iba ang kilos ng opsyon na ifname: kung ginagamit na ang hinihinging pangalan o hindi ito maaaring italaga, lumalabas ang pppd sa halip na pumili ng iba. Iyan ay pagpiling patakaran, hindi kosmetikong pagpapalit ng pangalan. Gamitin ito kapag dapat tanggihan ang ikalawang sabay na instance ng parehong profile, at tiyakin na ipinapasa ng naka-install na pppd at ng iyong tagapamahala ng koneksyon ang opsyon.
Anuman ang mangyari, ang pangalang nakikita ng script ang dapat harapin. Ang naka-configure na pangalan ay hindi nag-aalis ng pangangailangang basahin ang invocation, dahil ang muling sinimulang sesyon ay maaari pa ring magpakita ng ibang pangalan kaysa sa nauna.
Itugma ang pagtanggal sa sesyong na-configure mo
Ang mga ruta at panuntunan ng firewall ay nabubuhay nang mas matagal kaysa sa script na gumawa sa kanila, kaya dapat tanggalin ng paglilinis ang eksaktong mga bagay na pag-aari ng sesyon. Tatakan ang mga panuntunan ng marka ng profile gayundin ng interface, at burahin ayon sa tatak na iyon. Kung maaaring dalawang tunnel ang sabay na bukas, ang pagbura sa lahat ng bumabanggit sa ppp ay ang paraang sinisira ng isang pagkadiskonekta ang kabilang koneksyon.
Subukan ang kasong naglalantad ng bug: patindihin ang ikalawang sesyon ng PPP habang nakakonekta pa ang una, pagkatapos muling ikonekta ang una at tingnan kung aling interface ang iniuulat ng hook. Ang matagumpay na pagtakbo na may isang sesyon ay walang pinapatunayan tungkol sa paglalaan ng mga pangalan. Ulitin habang nakatigil ang VPN upang kumpirmahin na walang naiiwang lumang ruta ang pagtanggal.
Itabi ang marka, interface at landas ng hook sa mga tala ng deployment. Kapag nagbago ang numero pagkatapos ng reboot, ipinapaliwanag ng tatlong halagang iyon kung bakit iba ang kinilos ng script nang walang anumang pag-edit sa configuration.