ppp0 vai ppp1? Miten PPP VPN -istunto nimetään skriptejä varten
pppd antaa jokaiselle istunnolle liittymän nimen ja profiilimerkin. Lue molemmat koukusta, älä ppp0:sta. Varaa kiinteä nimi vain silloin, kun hylkäys on tarkoitus.
Koukkuskripti käynnistyy, lukee ppp0 ja soveltaa reitit liittymään, jolla tuo nimi on sillä hetkellä. Joskus se on tarkoittamasi tunneli; joskus se on istunto, joka yhdisti minuuttia aiemmin. Seuraava uudelleenyhdistys siirtää numeron, ja sama skripti määrittää hiljaa väärän yhteyden. Ratkaisu on ottaa liittymä juuri suoritetusta kutsusta ja kantaa aiottu profiili sen rinnalla.
Seuraa yhtä istuntoa asetuksista koukkuun
Aloita siitä, missä istunto luodaan. xl2tpd käynnistää pppd:n asetustiedostolla, jonka kyseisen tunnelin pppoptfile nimeää, joten liitännäinen, yksikön numero ja mahdollinen profiilimerkki päätetään siellä eikä yleisessä tiedostossa. Yhteyshallinta voi luoda omat asetuksensa, mikä tarkoittaa, ettei /etc/ppp/options-tiedoston muokkaaminen todista, että sinua kiinnostava tunneli on muuttunut. Kun yhteys nousee, pppd suorittaa ilmoitusskriptit jakelun lähettäjän kautta. Nämä skriptit saavat liittymän nimen ensimmäisenä argumenttina ja profiilimerkin kuudentena.
Ympäristö kantaa samat tosiasiat nimillä kuten IFNAME ja PPP_IPPARAM, mutta niiden saatavuus riippuu asennetusta lähettäjästä. Lue lähettäjä ennen kuin luotat muuttujaan: jotkin jakelut säilyttävät upstream-argumenttijärjestyksen, toiset suodattavat ympäristön ennen skriptisi kutsumista. Skripti, joka käyttää vain $1-argumenttia ja kuudetta argumenttia, toimii molemmissa järjestelyissä.
Lue liittymä kutsusta
Perinteinen koukku saa liittymän ensimmäisenä. Tuo positioarvo on liittymän tunniste, joka kuvaa skriptin käynnistäneen istunnon. Tallenna se ylhäällä muuttujaan ja käytä sitten tätä muuttujaa reitteihin, palomuurisääntöihin ja purkamiseen.
ipparam office-vpn
Kiinnitä profiilimerkki sinne, missä asetukset määritellään, ei skriptiin. Kun tunnelin asetustiedostossa on tämä rivi, jokainen siitä tiedostosta luotu istunto kantaa office-vpn-merkkiä kuudentena argumenttinaan. Skripti voi haarautua merkin mukaan ja toimia silti todellisella liittymällä. Pidä kaksi erillään koodissa, koska merkki on vakaa ja liittymä jaetaan istuntokohtaisesti.
Pyydä nimeä vain, kun hylkäys on oikein
Kiinteä nimi näyttää yksinkertaisemmalta kuin argumenttien lukeminen, mutta muuttaa epäonnistumiskäyttäytymistä. Asetus unit pyytää numeroa lähtevälle yhteydelle, ja pppd siirtyy dynaamiseen jakoon, kun tuo yksikkö on jo varattu. Mikään tuossa tuloksessa ei varaa ppp0:aa profiilillesi.
ifname ppp-office
Asetus ifname käyttäytyy toisin: jos pyydetty nimi on jo käytössä tai sitä ei voi antaa, pppd poistuu sen sijaan että valitsisi toisen. Se on periaatepäätös, ei kosmeettinen uudelleennimeäminen. Käytä sitä, kun saman profiilin toinen samanaikainen esiintymä on hylättävä, ja varmista, että asennettu pppd ja yhteyshallintasi välittävät asetuksen.
Kummassakin tapauksessa nimi, jonka skripti näkee, on se, jolla pitää toimia. Määritetty nimi ei poista tarvetta lukea kutsua, koska uudelleenkäynnistetty istunto voi silti esittää eri nimen kuin edellinen.
Sovita purkaminen määrittämääsi istuntoon
Reitit ja palomuurisäännöt elävät kauemmin kuin ne luonut skripti, joten purkamisen on poistettava täsmälleen ne objektit, jotka istunto omistaa. Merkitse säännöt profiilimerkillä ja liittymällä ja poista tuon merkin perusteella. Jos kaksi tunnelia voi olla ylhäällä, kaiken ppp:n mainitsevan poistaminen on tapa, jolla yksi katkaisu rikkoo toisen yhteyden.
Testaa tapaus, joka paljastaa vian: nosta toinen PPP-istunto, kun ensimmäinen on vielä yhteydessä, yhdistä sitten ensimmäinen uudelleen ja katso, minkä liittymän koukku raportoi. Onnistunut ajo yhdellä istunnolla ei todista nimen jaosta mitään. Toista VPN pysäytettynä varmistaaksesi, ettei purkaminen jätä vanhentunutta reittiä.
Pidä merkki, liittymä ja koukun polku käyttöönoton muistiinpanoissa. Kun numero muuttuu uudelleenkäynnistyksen jälkeen, nuo kolme arvoa selittävät, miksi skripti käyttäytyi toisin ilman mitään asetusmuutosta.