PPTP ryšyje LCP nutraukė partneris: pirmiausia įjunkite MPPE
LCP nutraukimas partnerio pusėje PPTP ryšyje reiškia PPP politikos neatitikimą. Palyginkite MPPE reikalavimus, perskaitykite pppd žurnalą ir patikrinkite hookų pavadinimus prieš liesdami prisijungimo duomenis.
Ryšys autentifikuojamas, klientas praneša esąs prisijungęs, o po sekundės žurnalas užsidaro įrašu, kad LCP nutraukė partneris. Ši eilutė ateina iš PPP derybų GRE tunelio viduje, vadinasi, transportas jau veikė, o du galai nesutarė dėl ryšio parinkčių. Slaptažodžiai ir serverio adresai čia paprastai nekalti. Šifravimo politika yra pirmas dalykas, kurį reikia palyginti, o Linux sistemoje pppd partnerio failas yra pirma vieta, kur reikia pažiūrėti.
Ką LCP gedimas sako apie PPP etapą
PPTP įvynioja PPP į GRE: TCP 1723 valdymo ryšys paruošia skambutį, GRE neša naudingąją apkrovą, o tada LCP derasi dėl tokių parinkčių kaip autentifikavimo protokolas, suspaudimas ir MPPE. Partneris nutraukia LCP, kai reikalaujama parinktis jo pusėje nepriimtina. Žurnalas, kuriame CHAP arba MSCHAPv2 mainai baigiasi ir LCP pasibaigia iškart po to, yra politikos atmetimas, o ne pasiekiamumo gedimas. Jei tunelis apskritai nepasiekia derybų, patikrinkite pppd ir jo papildinį prieš skaitydami LCP eilutę.
Dviejų išankstinių sąlygų lengva nepastebėti. Turi egzistuoti pppd dvejetainis failas, o partnerio faile nurodytas PPTP papildinys turi būti įdiegtas; trūkstamas paketas užbaigia skambutį dar neaptarus jokios parinkties.
Įjunkite MPPE toje pusėje, kuri jo reikalauja
Tikrasis sprendimas yra tai, kuris galas valdo šifravimo politiką. Klientas gali pasiūlyti MPPE, reikalauti jo arba atsisakyti, o serveris daro tą patį pasirinkimą. Kai abu jo reikalauja, ryšys pakyla; kai vienas reikalauja, o kitas atsisako, LCP pasibaigia.
pty "pptp vpn.example.net --nolaunchpppd"
name alice
remotename PPTP
require-mppe-128Prieš skambindami įkelkite modulį su modprobe ppp_mppe, nes be jo require-mppe-128 nepavyksta. Windows sistemoje atitinkama valdymo priemonė yra VPN įrašo saugos skirtukas, kuriame klientui reikia nurodyti reikalauti šifravimo, o ne priimti tai, ką siūlo serveris. Jei serveris vis tiek nutraukia LCP, paklauskite jo operatoriaus, ar MPPE yra privalomas, pasirenkamas ar išjungtas, nes klientas negali derėtis dėl apsaugos, kurią serveris atmeta. Išjungti šifravimą, kad pranešimas išnyktų, yra neteisinga kryptis: taip pašalinama vienintelė apsauga, kurią šis protokolas turi.
Prieš redaguodami išsaugokite veikiantį partnerio failą. Neteisingai įvesta require-mppe eilutė atkuria tą patį bendrą LCP gedimą ir grąžina jus į pradžią.
Skaitykite paties pppd žurnalą, o ne programėlę
Darbalaukio programėlės rodo atsijungimą ir slepia priežastį, todėl perskaitykite demono aprašymą apie vieną bandymą. systemd sistemose pranešimas patenka į journal; senesnės sąrankos rašo į tradicinius žurnalo failus.
journalctl --since "10 min ago" | grep -i -E "pppd|lcp|mppe"
tail -n 50 /var/log/syslogIeškokite lange aplink vieną skambutį, o ne visą dieną prisijungimų iš naujo, kad atmesta parinktis būtų lengvai pastebima. pppd paprastai nurodo parinktį ir partnerio atsakymą, o tai pasako, ar keisti savo pasiūlymą, ar prašyti serverio pusės sušvelninti reikalavimą. Laikykite bandymus su laiko žymomis, nes lyginti du žurnalus naudinga tik tada, kai žinote, kurios eilutės priklauso kuriam skambučiui. Jei LCP mainų visai nesimato, gedimas yra anksčiau grandinėje ir MPPE nėra įtariamasis.
Išsaugokite pataisą tarp prisijungimų iš naujo: hookų pavadinimai ir MTU
Kai ryšys laikosi, du dalykai nulemia, ar jis atlaikys prisijungimą iš naujo. Hookai gyvena /etc/ppp/ip-up.d ir /etc/network/if-up.d, o abu katalogus apdoroja run-parts, kurio failų vardų filtras atmeta viską su tašku. Todėl scenarijus, pavadintas set-pptp.sh, praleidžiamas, o set-pptp vykdomas. Patikrinkite pavadinimą prieš derindami scenarijaus turinį, tada nustatykite mažesnį MTU iš to hooko vidaus, kad kiekviena nauja ppp sąsaja jį paveldėtų be rankinės komandos.
run-parts --test /etc/ppp/ip-up.d
ip link set dev ppp0 mtu 1200Norėdami sąmoningai užbaigti sesiją, taikykitės į pppd įrašytą pid, o ne lyginkite procesų pavadinimus šablonu, nes nužudžius viską, kas turi ppp, nutraukiamos ir nesusijusios jungtys. PPTP pasenęs, o MS-CHAPv2 silpnas, todėl šiuos patikrinimus traktuokite kaip ryšio, kuris turi toliau veikti, priežiūrą, o ne kaip priežastį diegti PPTP kur nors naujai.