PPTP läbipääs puudub: Windowsi VPN-i vea 807 parandamine
TCP 1723 edasisaatmine üksi ei kõrvalda PPTP viga 807. GRE on IP-protokoll 47, seega vajab ruuter läbipääsu või selgesõnalist protokollireeglit.
TCP 1723 edasisaatmine avab sageli PPTP esimese osa ja jätab ülejäänu katki, nii et Windows tagastab katse ajal ikka vea 807. Järgmine instinkt on lisada reegel pordi 47 jaoks, ja just see samm kulutab terve pärastlõuna: GRE on IP-päises olev protokolli number, mitte port, mida edasisaatmise tabel saaks sobitada. Kuni ruuter laseb protokolli 47 läbi ja seob selle sama kõnega, ei saa tunnel alata. Allolevad jaotised eraldavad kaks kanalit ja testivad neid seejärel ükshaaval.
Porditabelis pole protokollinumbri jaoks rida
PPTP kasutab kahte vestlust, mis ebaõnnestuvad erineval viisil. TCP 1723 oma alustab kõnet, edastab lingiinfo ja lõpetab selle, kui kasutaja katkestab. Andmete pool töötab GRE sees, mille IP-päis märgib protokollinumbri 47-ga, ja selle tunneli sees läbiräägib PPP lingi, samal ajal kui MS-CHAPv2 kontrollib volitusi.
Kuna GRE ei kanna ühtegi transpordipäist, ei näita see ühtegi porti, seega portide jaoks kirjutatud reeglil pole midagi sobitada. Ruuter, mis saadab 1723 edasi, loob selle TCP-sessiooni jaoks vastenduse ja peatub seal. Püsivara, mis tegeleb teise poolega, nimetab seda funktsiooni PPTP läbipääsuks või PPTP ALG-ks, ja mõni püsivara ei paku kumbagi ega maini lünka kunagi. Märkeruudu silt on vähem tähtis kui see, kas protokoll 47 üldse ära tuntakse.
Mida Windows teatab, kui andmetee sureb
Viga 807 ütleb, et ühendust ei õnnestunud luua, mis praktikas tähendab, et kõne jõudis serverini ja andmekanal ei tõusnud. See on otsus transpordi kohta, mitte konto kohta. Viga 691 on see, mis osutab volitustele või autentimisprotokolli mittevastavusele, seega saadab see sind hoopis mujale.
Tööta transpordi kallal enne, kui parooli puutud. Volituste muutmine 807 tagaajamiseks jätab tegeliku vea paigale ja teeb järgmise katse raskemini loetavaks.
Miks teine klient lõhub töötava tunneli
Kuna puuduvad pordid, mis neid eristaksid, ei saa NAT-seade kahte PPTP klienti eraldada nii, nagu see eraldab kahte HTTPS-sessiooni. Seetõttu lubavad paljud tarbijaseadmed ühte PPTP kõnet ja jälgivad seda lähteaadressi järgi. Sülearvuti, mis töötas üksi, lõpetab valmimise kohe, kui teine masin välja helistab, ja kliendi poolelt tundub tõrge juhuslik. See muster kuulub püsivara juurde ja ükski profiilimuudatus ei muuda seda.
Jälgi ühenduste tabelit, kui mõlemad kliendid helistavad. Kui vastendust hoiab alati ainult esimene host, on ruuter jõudnud oma toetuse piirini ja ükski kliendipoolne säte ei liiguta seda.
Tõesta, kumb pool ebaõnnestub
Enne kui ruuteril midagi muudad, kinnita, et TCP 1723 saabub, sest see vastus otsustab, kumb pool sa testid. Käivita need Windowsi kliendist oma serverinime vastu. Esimene trükib, kas port vastas, ja teine helistab ilma dialoogita, mis teeb korduskatsed võrreldavaks.
Test-NetConnection vpn.example.com -Port 1723
rasdial "Work VPN"
Tõene tulemus porditestis tähendab, et juhtkanal on avatud ja GRE on ülejäänud kahtlusalune. Väär tulemus tähendab, et marsruutimine, filter või edasisaatmine on katki, ja ükski GRE muudatus ei päästa seda. Andmepoolt tuleb jälgida seal, kus seda näha on, serveris või ruuteris.
tcpdump -ni any proto 47
Wiresharki vaste on kuvafilter ip proto 47, mida on kergem anda kellelegi, kes ei tunne end käsureal mugavalt. GRE, mis saabub ilma, et vastuseks midagi väljuks, tähendab, et tagasitee vajab parandamist.
Mis vea tegelikult parandab
Kus ruuter sätet näitab, luba PPTP läbipääs või luba protokoll 47 selgesõnaliselt püsivaral, mis reegleid aktsepteerib. RouterOS-is sobitab edasisaatmise reegel protokolli otse, mida portidel põhinev edasisaatmine ei suudaks kunagi. Tarbijapüsivara peidab tavaliselt sama otsuse märkeruudu taha, mõnikord turbesätete all, mitte portide edasisaatmise all. Kui sellist juhtimist pole, ei korva kliendi poolel miski seda.
/ip firewall filter add chain=forward protocol=gre action=accept
/ip firewall filter print where protocol=gre
PPTP asendamine on teine võimalus ja sageli odavam. Ruuter, mis ise VPN-i lõpetab, väldib sissetulevate klientide jaoks topelt-NAT-i, ja protokoll, mida portidel põhinev NAT juba käsitleb, ei vaja üldse läbipääsu: OpenVPN UDP kohal, SSTP TCP 443 kohal või L2TP/IPsec NAT-T-ga, mis mähkib ESP UDP 4500 sisse. PPTP sõltub ka MS-CHAPv2-st, mille dokumenteeritud nõrkused teevad sellest halva valiku uue juurutuse jaoks isegi pärast vea kadumist.
Pane kirja, milline reegel vahe tegi, sest sama koht kohtab sama piiri, kui teine kasutaja juurdepääsu palub. Protokollitasandi parandus kuulub võrgumärkmetesse, kuhu järgmine insener vaatab.