Linkki todennetaan, asiakas ilmoittaa olevansa yhteydessä, ja sekuntia myöhemmin loki sulkeutuu riviin LCP vertaispartnerin lopettama. Rivi tulee GRE-tunnelin sisäisestä PPP-neuvottelusta, joten siirtoyhteys toimi jo ja kaksi päätä olivat eri mieltä linkin asetuksista. Salasanat ja palvelinosoitteet ovat tässä yleensä syyttömiä. Salauskäytäntö on ensimmäinen vertailtava asia, ja Linuxissa pppd:n vertaispartneritiedosto on ensimmäinen paikka, johon katsoa.

Mitä LCP-virhe kertoo PPP-vaiheesta

PPTP käärii PPP:n GRE:n sisään: TCP 1723 -ohjausyhteys pystyttää kutsun, GRE kuljettaa hyötykuorman, ja sitten LCP neuvottelee asetuksista kuten todennusprotokollasta, pakkauksesta ja MPPE:stä. Vertaispartneri lopettaa LCP:n, kun vaadittu asetus ei ole hyväksyttävissä sen puolella. Loki, jossa CHAP- tai MSCHAPv2-vaihto suoritetaan loppuun ja LCP päättyy heti sen jälkeen, on käytännön hylkäys, ei tavoitettavuusvirhe. Jos tunneli ei koskaan saavuta neuvottelua, tutki pppd ja sen liitännäinen ennen LCP-rivin lukemista.

Kaksi edellytystä jää helposti huomaamatta. pppd-binäärin on oltava olemassa, ja vertaispartneritiedostossa nimetty PPTP-liitännäinen on asennettava; puuttuva paketti lopettaa valinnan ennen kuin yhtään asetusta käsitellään.

Ota MPPE käyttöön sillä puolella, joka sitä vaatii

Todellinen päätös on, kumpi pää omistaa salauskäytännön. Asiakas voi tarjota MPPE:tä, vaatia sitä tai kieltäytyä siitä, ja palvelin tekee saman valinnan. Kun molemmat vaativat sitä, linkki nousee; kun toinen vaatii ja toinen kieltäytyy, LCP päättyy.

pty "pptp vpn.example.net --nolaunchpppd"
name alice
remotename PPTP
require-mppe-128

Lataa moduuli komennolla modprobe ppp_mppe ennen valintaa, koska ilman sitä require-mppe-128 epäonnistuu. Windowsissa vastaava säätö on VPN-merkinnän suojausvälilehti, jossa asiakkaalle on kerrottava, että sen on vaadittava salausta sen sijaan, että se hyväksyy mitä palvelin tarjoaa. Jos palvelin silti lopettaa LCP:n, kysy sen ylläpitäjältä, onko MPPE pakollinen, valinnainen vai pois käytöstä, sillä asiakas ei voi neuvotella suojauksesta, jonka palvelin hylkää. Salauksen sammuttaminen viestin katoamiseksi on väärä suunta: se poistaa ainoan suojan, joka tällä protokollalla on.

Tallenna toimiva vertaispartneritiedosto ennen sen muokkaamista. Väärin kirjoitettu require-mppe-rivi toistaa saman yleisen LCP-virheen ja lähettää sinut takaisin alkuun.

Lue pppd:n oma loki sovelletun sijaan

Työpöytäsovellukset näyttävät katkaisun ja piilottavat syyn, joten lue daemonin kertomus yhdestä yrityksestä. systemd-järjestelmissä viesti päätyy journaliin; vanhemmat asetukset kirjoittavat perinteisiin lokitiedostoihin.

journalctl --since "10 min ago" | grep -i -E "pppd|lcp|mppe"
tail -n 50 /var/log/syslog

Etsi ikkunasta yhden puhelun ympäriltä sen sijaan, että selaisit kokonaisen päivän uudelleenyhdistämisiä, jotta hylätty asetus on helppo huomata. pppd nimeää yleensä asetuksen ja vertaispartnerin vastauksen, mikä kertoo, pitääkö omaa ehdotusta muuttaa vai pyytää palvelinpuolta löysentämään vaatimustaan. Pidä yritykset aikaleimattuina, sillä kahden lokin vertailu on hyödyllistä vain, kun tiedät, mitkä rivit kuuluvat mihinkin puheluun. Kun LCP-vaihtoa ei näy lainkaan, vika on ketjussa aikaisemmin eikä MPPE ole epäilty.

Pidä korjaus uudelleenyhdistämisten yli: koukkujen nimet ja MTU

Kun linkki pysyy pystyssä, kaksi yksityiskohtaa ratkaisee, selviääkö se uudelleenyhdistämisestä. Koukut sijaitsevat hakemistoissa /etc/ppp/ip-up.d ja /etc/network/if-up.d, ja molemmat hakemistot käsittelee run-parts, jonka tiedostonimisuodatin hylkää kaiken, jossa on piste. Siksi set-pptp.sh-niminen skripti ohitetaan, kun taas set-pptp suoritetaan. Tarkista nimi ennen skriptin sisällön virheenkorjausta ja aseta sitten pienempi MTU kyseisen koukun sisältä, jotta jokainen uusi ppp-liitäntä perii sen ilman käsin annettavaa komentoa.

run-parts --test /etc/ppp/ip-up.d
ip link set dev ppp0 mtu 1200

Jos haluat päättää istunnon tarkoituksella, kohdista pppd:n kirjaamaan pid-tunnukseen sen sijaan, että sovittaisit prosessien nimiä kuvioon, sillä kaiken ppp:n sisältävän tappaminen repii alas myös liittymättömät linkit. PPTP on vanhentunut ja MS-CHAPv2 on heikko, joten pidä näitä tarkistuksia sellaisen linkin ylläpitona, jonka on jatkettava toimintaansa, älä syynä ottaa PPTP käyttöön missään uudessa.

Aiheeseen liittyvät artikkelit