GRE-kirjoitusvirheet pptpd:ssä eivät ole salasanaongelma
Protokolla 47 ei ole portti 47. Lue pptpd:n kaksi viestiä kahtena eri vikana, salli GRE siellä missä isäntä välittää, ja pidä MPPE sen sijaan että kytkisit sen pois.
GRE-kirjoitusvirhe lokissa, ja ensimmäinen vaisto on nollata käyttäjän salasana. Se vaisto on lähes aina väärä. Nämä viestit kuvaavat datapolkua, eivät tunnistetietojen tarkistusta: asiakas on voinut todentautua onnistuneesti ja sitten juuttua vaiheeseen, jossa se rekisteröityy verkkoon. Kaksi eri viestiä osoittaa kahteen eri vikaan, eikä kumpaakaan ratkaista uudella salasanalla.
Kaksi viestiä, kaksi eri vikaa
Lukuvirhe tarkoittaa, että GRE-paketit eivät koskaan saavu taustapalveluun tai ne pudotetaan sisään tullessa. Ohjausyhteys voi näyttää täysin terveeltä, vaikka mikään ei ylitä datapolkua. Todennus on ainoa asia, joka todistettavasti toimi.
Kirjoitusvirhe tarkoittaa yleensä, että istunto neuvotteli jotain, mitä ydin tai asiakas ei voi käyttää. Ohjauskanava valmistui, eivätkä kyseisen vaihdon aikana sovitut asetukset vastaa sitä, mitä päätepisteet voivat todella tehdä. Se on määrityserimielisyys, ei todennustapahtuma.
Lue, kumpi kahdesta esiintyy, ennen kuin muutat mitään. Ne vievät sinut eri kerroksiin, ja niiden kohteleminen yhtenä oireena on syy siihen, että sama palvelin paikataan kahdesti toisiinsa liittymättömistä syistä. Lokirivi on ainoa ilmainen diagnostiikka, jonka saat.
Protokolla 47 ei ole portti 47
PPTP käyttää TCP 1723:a puhelun pystyttämiseen ja GRE:tä hyötykuorman kuljettamiseen. GRE on IP-protokolla 47, ei porttinumero, joten palomuurisääntö, joka avaa portin 47, ei salli mitään hyödyllistä.
Reititin polulla tarvitsee PPTP-läpivientitoiminnon tai nimenomaisen GRE-luvan. Ilman sitä TCP-kättely valmistuu eikä tunneli koskaan kuljeta pakettia, mikä tuottaa täsmälleen yllä olevan lukuvirheen. Portin 47 säännöt palomuurissa ovat tämän protokollan yleisimmin hukattu iltapäivä.
Tarkkaile molempia suuntia samanaikaisesti palvelimella sen sijaan, että arvaisit kumpi puoli pudottaa liikennettä: tcpdump -ni any port 1723 or proto gre.
Jos 1723 näyttää puhelun pystytyksen ja GRE pysyy hiljaisena, esto on isännän yläpuolella. Jos GRE saapuu ja taustapalvelu epäonnistuu edelleen, ongelma on paikallinen ja asetukset ovat seuraava katsottava paikka.
Salli GRE siellä missä isäntä todella välittää
Forward-säännön lisääminen GRE:lle on kohtuullinen testi isännällä, joka välittää tunneliliikennettä, eikä se ole käytäntö. Testisääntö, joka hyväksyy yhden protokollan kaiken, on diagnostiikka, ei suunnittelu. Jätä se paikoilleen riittävän pitkäksi oppiaksesi jotain ja korvaa se sitten rajatulla säännöllä.
Lisää input-sääntö paketeille, jotka on osoitettu palvelimelle itselleen, koska forward-ketju ei näe niitä. Tarkkaile sitten säännön laskureita ennen yhteyden yritystä ja sen jälkeen, mikä kertoo, saapuvatko paketit lainkaan.
Tee säännöstä pysyvä jakelun palomuuripalvelun kautta sen sijaan, että ajaisit sen uudelleen jokaisen uudelleenkäynnistyksen jälkeen. nftables-isännällä sovita ip protocol gre sekä input- että forward-ketjussa.
Varmista, että myös moduuli ppp_generic on ladattu, ja tarkista, pudottaako yhteyksien seuranta paluusuunnan. Molemmat tuottavat vikoja, jotka näyttävät palomuuriongelmalta eivätkä ole. Puuttuva ydinmoduuli näyttää täsmälleen estetyltä protokollalta, kunnes tarkistat.
Sovita asetukset siihen asiakkaaseen, joka sinulla todella on
Toisen raportin korjaus on tiedostossa /etc/ppp/pptpd-options, jossa resepti hylkää PAP:n, CHAP:n ja MSCHAP:n, kommentoi vastaavat require-rivit pois ja pitää tilallisen MPPE:n. Se resepti kirjoitettiin yhtä asiakassekoitusta varten, ja sokea kopiointi rikkoo tavallisen tapauksen. Lue hylkäysrivit lausuntona siitä, millaisia asiakkaita kirjoittajalla oli, älä suosituksena.
Windows-asiakas tarvitsee yleensä MS-CHAPv2:n ja MPPE-128:n. Pidä nämä vaatimukset ja poista vain ne asetukset, joita asiakas todella ei voi neuvotella.
# keep encryption; drop only what this client cannot negotiate
refuse-pap
refuse-chap
refuse-mschap
mppe-stateful
require-mschap-v2
require-mppe-128Salauksen poistaminen käytöstä yhteyden onnistumiseksi on heikennys, ei korjaus. Testaa tällaista varianttia laboratorioyhteydellä ja palauta salaus ennen kuin palvelu kohtaa oikeita asiakkaita. Yhteys, joka toimii turvattomasti, on huonompi kuin se, joka epäonnistuu rehellisesti.
Lue asiakkaan virhenumero
Asiakkaan numeerinen koodi rajaa vaiheen nopeammin kuin palvelimen loki. Lue se ennen kuin luet mitään muuta. 691 tarkoittaa, että tunnistetiedot hylättiin, 721 tarkoittaa, ettei palvelin vastannut koskaan, ja 619 tarkoittaa, että yhteys katkesi. Kaksi minuuttia numeron kanssa säästää tunnin määrityksessä.
Vertaa tuota koodia palvelimen lokiin ennen kuin muokkaat mitään, ja testaa uudelleen samalla asiakkaalla jokaisen muutoksen jälkeen. Muuten toinen vika piiloutuu ensimmäisen taakse ja korjaus näyttää tehottomalta.
Kun kirjautuminen onnistuu eikä liikennettä liiku, GRE on edelleen epäilty. Silloin on aika palata kaappaukseen eikä tunnistetietovarastoon.