TCP 1723:n edelleenlähetys avaa usein PPTP:n ensimmäisen osan ja jättää loput rikki, joten Windows palauttaa yhä virheen 807 yrityksellä. Seuraava vaisto on lisätä sääntö portille 47, ja juuri se vaihe tuhlaa iltapäivän: GRE on IP-otsakkeen protokollanumero, ei portti, jota edelleenlähetystaulukko voisi sovittaa. Ennen kuin reititin päästää protokollan 47 läpi ja sitoo sen samaan puheluun, tunneli ei voi käynnistyä. Alla olevat osiot erottavat kaksi kanavaa ja testaavat ne sitten yksi kerrallaan.

Porttitaulukossa ei ole riviä protokollanumerolle

PPTP käyttää kahta keskustelua, jotka epäonnistuvat eri tavoin. TCP 1723:n keskustelu aloittaa puhelun, välittää linkin tiedot ja purkaa sen, kun käyttäjä katkaisee. Hyötykuorman puoli toimii GRE:n sisällä, jonka IP-otsake merkitsee protokollanumerolla 47, ja siinä tunnelissa PPP neuvottelee linkin, kun MS-CHAPv2 tarkistaa tunnistetiedot.

Koska GRE ei kanna kuljetusotsaketta, se ei paljasta portteja, joten porteille kirjoitetulla säännöllä ei ole mitään sovitettavaa. Reititin, joka välittää 1723:n, luo mappauksen sille TCP-istunnolle ja pysähtyy siihen. Laiteohjelmisto, joka hoitaa toisen puoliskon, kutsuu toimintoa PPTP-läpivienniksi tai PPTP ALG:ksi, ja jotkin laiteohjelmistot eivät tarjoa kumpaakaan eivätkä mainitse aukkoa koskaan. Valintaruudun nimi on vähemmän tärkeä kuin se, tunnistetaanko protokolla 47 ylipäätään.

Mitä Windows ilmoittaa, kun datapolku kuolee

Virhe 807 sanoo, että yhteyttä ei voitu muodostaa, mikä käytännössä tarkoittaa, että puhelu saavutti palvelimen eikä datakanava noussut. Se on tuomio kuljetuksesta, ei tuomio tilistä. Virhe 691 on se, joka viittaa tunnistetietoihin tai todentamisprotokollan ristiriitaan, joten se lähettää sinut aivan muualle.

Työstä kuljetusta ennen kuin kosket salasanaan. Tunnistetietojen vaihtaminen 807:n perässä jättää varsinaisen vian paikoilleen ja tekee seuraavasta yrityksestä vaikeammin luettavan.

Miksi toinen asiakas rikkoo toimivan tunnelin

Koska portteja ei ole erottamaan niitä, NAT-laite ei voi erottaa kahta PPTP-asiakasta niin kuin se erottaa kaksi HTTPS-istuntoa. Siksi monet kuluttajalaitteet sallivat yhden PPTP-puhelun ja seuraavat sitä lähiosoitteen perusteella. Kannettava, joka toimi yksin, lakkaa suorittamasta, kun toinen kone soittaa, ja asiakkaan puolelta vika näyttää satunnaiselta. Kuvio kuuluu laiteohjelmistolle, eikä mikään profiilimuutos muuta sitä.

Tarkkaile yhteystaulukkoa, kun molemmat asiakkaat soittavat. Jos mappauksen pitää aina vain ensimmäinen isäntä, reititin on saavuttanut tukemansa rajan eikä mikään asiakaspuolen asetus siirrä sitä.

Osoita, kumpi puolisko epäonnistuu

Vahvista, että TCP 1723 saapuu, ennen kuin muutat reitittimellä mitään, koska se vastaus ratkaisee, kumpaa puoliskoa testaat. Suorita nämä Windows-asiakkaalta omaa palvelinnimeäsi vastaan. Ensimmäinen tulostaa, vastasiko portti, ja toinen soittaa ilman valintaikkunaa, mikä tekee toistuvista yrityksistä vertailukelpoisia.

Test-NetConnection vpn.example.com -Port 1723
rasdial "Work VPN"

Tosi tulos porttitestissä tarkoittaa, että ohjauskanava on auki ja GRE on jäljellä oleva epäilty. Väärä tulos tarkoittaa, että reititys, suodatin tai edelleenlähetys on rikki, eikä mikään GRE-muutos pelasta sitä. Datapuolta on seurattava siellä, missä se näkyy, palvelimessa tai reitittimessä.

tcpdump -ni any proto 47

Wiresharkin vastine on näyttösuodatin ip proto 47, joka on helpompi antaa jollekulle, joka ei ole mukavuusalueellaan komentorivillä. GRE, joka saapuu ilman että mitään lähtee vastaukseksi, tarkoittaa, että paluupolku on korjattava.

Mikä virheen oikeasti korjaa

Missä reititin näyttää asetuksen, ota PPTP-läpivienti käyttöön tai salli protokolla 47 nimenomaisesti laiteohjelmistossa, joka hyväksyy sääntöjä. RouterOS:ssa edelleenlähetyssääntö sovittaa protokollan suoraan, mihin porttipohjainen edelleenlähetys ei koskaan pystyisi. Kuluttajalaiteohjelmisto piilottaa saman päätöksen yleensä valintaruudun taakse, joskus turva-asetuksiin eikä porttien edelleenlähetykseen. Jos sellaista hallintaa ei ole, mikään asiakkaan puolella ei korvaa sitä.

/ip firewall filter add chain=forward protocol=gre action=accept
/ip firewall filter print where protocol=gre

PPTP:n korvaaminen on toinen vaihtoehto ja usein halvempi. Reititin, joka päättää VPN:n itse, välttää kaksois-NATin saapuville asiakkaille, eikä protokolla, jota porttipohjainen NAT jo käsittelee, tarvitse lainkaan läpivientiä: OpenVPN UDP:n yli, SSTP TCP 443:n yli tai L2TP/IPsec NAT-T:llä, joka käärii ESP:n UDP 4500:n sisään. PPTP riippuu myös MS-CHAPv2:sta, jonka dokumentoidut heikkoudet tekevät siitä huonon valinnan uuteen käyttöönottoon vielä virheen poistuttuakin.

Kirjoita muistiin, mikä sääntö teki eron, koska sama paikka kohtaa saman rajan, kun toinen käyttäjä pyytää pääsyä. Protokollatason korjaus kuuluu verkkomuistiinpanoihin, josta seuraava insinööri katsoo.

Aiheeseen liittyvät artikkelit