LCP avslutad av peer på PPTP: aktivera MPPE först
LCP avslutad av peer på en PPTP-länk är en avvikelse i PPP-policyn. Jämför MPPE-kraven, läs pppd-loggen och testa hooknamnen innan du rör inloggningsuppgifterna.
Länken autentiserar, klienten rapporterar ansluten och en sekund senare stängs loggen med LCP avslutad av peer. Den raden kommer från PPP-förhandlingen inne i GRE-tunneln, så transporten fungerade redan och de två ändarna var oense om länkens alternativ. Lösenord och serveradresser är oftast oskyldiga här. Krypteringspolicyn är det första som ska jämföras, och på Linux är pppd:s peer-fil det första stället att titta på.
Vad LCP-felet säger om PPP-fasen
PPTP packar in PPP i GRE: TCP 1723-styranslutningen sätter upp samtalet, GRE bär nyttolasten och sedan förhandlar LCP om alternativ som autentiseringsprotokoll, komprimering och MPPE. Peeren avslutar LCP när ett obligatoriskt alternativ inte är acceptabelt på dess sida. En logg där CHAP- eller MSCHAPv2-utbytet slutförs och LCP slutar direkt efteråt är en policyavvisning, inte ett nåbarhetsfel. Om tunneln aldrig når förhandlingen, undersök pppd och dess plugin innan du läser LCP-raden.
Två förutsättningar är lätta att missa. pppd-binären måste finnas och PPTP-pluginet som nämns i peer-filen måste vara installerat; ett saknat paket avslutar samtalet innan något alternativ diskuteras.
Aktivera MPPE på den sida som kräver det
Det egentliga beslutet är vilken ände som äger krypteringspolicyn. En klient kan erbjuda MPPE, kräva det eller avvisa det, och servern gör samma val. När båda kräver det kommer länken upp; när en kräver och den andra avvisar slutar LCP.
pty "pptp vpn.example.net --nolaunchpppd"
name alice
remotename PPTP
require-mppe-128Ladda modulen med modprobe ppp_mppe före uppringning, eftersom require-mppe-128 misslyckas utan den. På Windows är motsvarande inställning säkerhetsfliken i VPN-posten, där klienten måste få veta att den ska kräva kryptering i stället för att acceptera vad servern erbjuder. Om servern fortfarande avslutar LCP, fråga dess operatör om MPPE är obligatoriskt, valfritt eller inaktiverat, eftersom en klient inte kan förhandla om skydd som servern vägrar. Att stänga av krypteringen så att meddelandet försvinner är fel riktning: det tar bort det enda skydd som detta protokoll har.
Spara den fungerande peer-filen innan du redigerar den. En felstavad require-mppe-rad återskapar samma generiska LCP-fel och skickar tillbaka dig till början.
Läs pppd:s egen logg i stället för appletten
Skrivbordsappletar visar frånkopplingen och döljer orsaken, så läs daemonens redogörelse för ett försök. På systemd-system hamnar meddelandet i journalen; äldre installationer skriver till de traditionella loggfilerna.
journalctl --since "10 min ago" | grep -i -E "pppd|lcp|mppe"
tail -n 50 /var/log/syslogSök i ett fönster kring ett enda samtal i stället för en hel dag av återanslutningar, så att det avvisade alternativet är lätt att se. pppd anger vanligtvis alternativet och peerns svar, vilket säger om du ska ändra ditt eget förslag eller be serversidan mildra kravet. Håll försöken tidsstämplade, eftersom jämförelse av två loggar bara är användbar när du vet vilka rader som hör till vilket samtal. När ingen LCP-utväxling alls visas ligger felet tidigare i kedjan och MPPE är inte den misstänkta.
Behåll rättningen genom återanslutningar: hooknamn och MTU
När länken väl håller sig uppe avgör två detaljer om den överlever en återanslutning. Hooks ligger i /etc/ppp/ip-up.d och /etc/network/if-up.d, och båda katalogerna bearbetas av run-parts, vars filnamnsfilter avvisar allt som innehåller en punkt. Ett skript som heter set-pptp.sh hoppas därför över, medan set-pptp körs. Kontrollera namnet innan du felsöker skriptets innehåll och ställ sedan in den mindre MTU:n inifrån den hooken så att varje nytt ppp-gränssnitt ärver den utan ett manuellt kommando.
run-parts --test /etc/ppp/ip-up.d
ip link set dev ppp0 mtu 1200För att avsluta en session med avsikt, rikta in dig på pid:n som pppd registrerade i stället för att mönstermatcha processnamn, eftersom dödande av allt som innehåller ppp också river ner orelaterade länkar. PPTP är föråldrat och MS-CHAPv2 är svagt, så behandla dessa kontroller som underhåll av en länk som måste fortsätta fungera, inte som skäl att rulla ut PPTP någon ny stans.