Ødelegger en delt pppd-innstillingsfil den andre VPN-en din?
To PPP-baserte VPN-klienter kan lese de samme pppd-standardverdiene, så en rettelse for den ene endrer den andre stille. Spor hvem som eier innstillingen før du redigerer.
Du legger til én linje for å få en gjenstridig PPTP-profil til å koble til, og en uke senere stopper L2TP-klienten som hadde fungert i månedsvis. Den åpenbare lesningen er at de to protokollene nå er i konflikt. Oftere starter begge klientene pppd, begge leser de samme standardverdiene, og linjen du la til var aldri avgrenset til profilen du reparerte. Den delte innstillingsfilen er koblingen, og protokollene er uskyldige.
Hva en klient arver når den starter
En PPP-basert klient bygger sjelden kommandolinjen sin fra ingenting. Den starter pppd, som leser systemstandardverdier, deretter enhver bruker- eller terminalfil, deretter argumentene klienten sender, og klienten kan også peke den mot en peer-fil. Hvert av disse lagene kan bære et plugin, en autentiseringsmetode eller en rutedirektiv, og det første laget som setter en beskyttet innstilling, kan låse den mot senere endringer.
Så det nyttige spørsmålet er ikke hvilken VPN som er ødelagt, men hvilket lag som ga innstillingen. En klient som genererer sine egne argumenter, ser selvforsynt ut og arver likevel alt systemfilen inneholder.
Fastslå linjens opprinnelse før du endrer den
Begynn med å se på prosessen som kjører mens en tilkobling er oppe. Kommandolinjen viser hvilke filer som ble sendt eksplisitt, og alt som ikke er navngitt der, kom fra en standardsti.
ps -o pid=,args= -C pppdHvis argumentlisten inneholder et peer-navn, les den filen. Hvis ikke, bor innstillingen du jager på en delt sti. pppd-håndboken viser rekkefølgen disse filene leses i, og hvilke innstillinger en vanlig bruker ikke kan overstyre, og derfor gjør en senere linje noen ganger ingenting i det hele tatt. En beskyttet innstilling som en plugin-sti kan ikke erstattes av en senere linje på brukernivå, så redigering av feil fil har ingen synlig effekt.
Plugin-linjen som følger hver klient
Et plugin som lastes i systemfilen, er den verste synderen fordi det endrer hva en ny PPP-prosess prøver å laste, uansett hvilken knapp brukeren trykket på. L2TP-pluginet er det klassiske eksempelet: riktig for én profil, meningsløst eller skadelig for en PPTP-profil som starter fra de samme standardverdiene.
Flytt det til en peer-fil klienten velger, eller til klientens egne innstillinger per tilkobling når den støtter dem. Sletting med en gang reparerer den andre klienten og ødelegger den første, og det er slik disse problemene reiser mellom team.
Kontroller hver klient etter flyttingen
Test begge tilkoblingene fra samme maskin, én etter den andre, og les de forhandlede innstillingene i stedet for suksessdialogen. Dumpet nedenfor skriver ut innstillingssettet som pppd faktisk satte sammen, og det er den eneste listen som betyr noe.
sudo pppd call office debug dumpGjenta for den andre klienten og sammenlign de to utdataene. Innstillingen du flyttet, skal vises i nøyaktig én av dem. Hvis den vises i begge, genererer klienten den på nytt, og rettelsen hører til den profilen og ikke den delte filen. Noter hvor innstillingen nå bor ved siden av tilkoblingen, så neste person ikke gjenoppdager koblingen ved å ødelegge den igjen.