ppp0 o ppp1? Com anomenar una sessió PPP VPN per a scripts
pppd dona a cada sessió un nom d’interfície i un marcador de perfil. Llegeix els dos des del ganxo, no des de ppp0. Reserva un nom fix només quan el rebuig sigui intencionat.
El script del ganxo s’activa, llegeix ppp0 i aplica rutes a la interfície que tingui aquest nom en aquell moment. De vegades és el túnel que volies; de vegades és una sessió que es va connectar un minut abans. La propera reconnexió mou el número, i el mateix script configura en silenci l’enllaç equivocat. La solució és prendre la interfície de la invocació que s’acaba d’executar i portar el perfil previst al seu costat.
Segueix una sessió des de les opcions fins al ganxo
Comença on es crea la sessió. xl2tpd engega pppd amb el fitxer d’opcions que indica pppoptfile d’aquell túnel, de manera que el connector, el número d’unitat i qualsevol marcador de perfil es decideixen allà i no en un fitxer global. Un gestor de connexions pot generar les seves pròpies opcions, cosa que vol dir que editar /etc/ppp/options no és prova que el túnel que t’importa hagi canviat. Quan l’enllaç s’aixeca, pppd executa els scripts de notificació del despatxador de la distribució. Aquests scripts reben el nom de la interfície com a primer argument i el marcador de perfil com a sisè.
L’entorn porta els mateixos fets amb noms com IFNAME i PPP_IPPARAM, però la seva disponibilitat depèn del despatxador instal·lat. Llegeix el despatxador abans de confiar en una variable: algunes distribucions mantenen l’ordre d’arguments original, altres filtren l’entorn abans de cridar el teu script. Un script que només fa servir $1 i el sisè argument funciona en tots dos casos.
Llegeix la interfície de la invocació
El ganxo tradicional rep la interfície primer. Aquest valor posicional és l’identificador d’interfície que descriu la sessió que ha activat l’script. Guarda’l en una variable a dalt, i després fes servir aquesta variable per a rutes, regles de tallafoc i desmuntatge.
ipparam office-vpn
Adjunta un marcador de perfil on es defineixen les opcions, no dins de l’script. Amb aquesta línia al fitxer d’opcions del túnel, cada sessió creada des d’aquell fitxer porta office-vpn com a sisè argument. L’script pot bifurcar segons el marcador mentre segueix actuant sobre la interfície real. Mantingues les dues coses separades al codi, perquè el marcador és estable i la interfície s’assigna per sessió.
Demana un nom només si el rebuig és correcte
Un nom fix sembla més simple que llegir arguments, però canvia el comportament davant d’un error. L’opció unit demana un número per a una connexió sortint, i pppd recorre a una assignació dinàmica quan aquella unitat ja és ocupada. Res d’aquest resultat no reserva ppp0 per al teu perfil.
ifname ppp-office
L’opció ifname es comporta diferent: si el nom sol·licitat ja és en ús o no es pot assignar, pppd surt en lloc de triar-ne un altre. És una decisió de política, no un canvi de nom estètic. Fes-la servir quan s’hagi de rebutjar una segona instància simultània del mateix perfil, i confirma que el pppd instal·lat i el teu gestor de connexions passen l’opció.
De qualsevol manera, el nom que veu l’script és el que cal tractar. Un nom configurat no elimina la necessitat de llegir la invocació, perquè una sessió reiniciada encara pot presentar un nom diferent del de l’anterior.
Fes que el desmuntatge coincideixi amb la sessió que has configurat
Les rutes i les regles de tallafoc sobreviuen a l’script que les va crear, així que el desmuntatge ha de treure exactament els objectes que posseeix la sessió. Etiqueta les regles amb el marcador de perfil i també amb la interfície, i esborra per aquesta etiqueta. Si dos túnels poden estar actius, esborrar tot el que esmenta ppp és com una desconnexió trenca l’altra connexió.
Prova el cas que exposa l’error: aixeca la segona sessió PPP mentre la primera encara està connectada, després reconnecta la primera i mira quina interfície informa el ganxo. Una execució correcta amb una sola sessió no demostra res sobre l’assignació de noms. Repeteix-ho amb la VPN aturada per confirmar que el desmuntatge no deixa cap ruta obsoleta.
Guarda el marcador, la interfície i el camí del ganxo a les notes de desplegament. Quan el número canvia després d’un reinici, aquests tres valors expliquen per què l’script es va comportar diferent sense cap edició de configuració.