Plusendado de TCP 1723 ofte malfermas la unuan parton de PPTP kaj lasas la reston rompita, do Windows ankoraŭ redonas eraron 807 ĉe la provo. La sekva instinkto estas aldoni regulon por pordo 47, kaj ĝuste tiu paŝo malŝparas posttagmezon: GRE estas protokola numero en la IP-kapo, ne pordo kiun plusenda tabelo povas kongruigi. Ĝis la enkursigilo trapasigos protokolon 47 kaj ligos ĝin al la sama voko, la tunelo ne povas komenciĝi. La sekcioj sube apartigas la du kanalojn, poste testas ilin unu post la alia.

Porda tabelo ne havas vicon por protokola numero

PPTP uzas du interparolojn, kiuj malsukcesas laŭ diversaj manieroj. Tiu sur TCP 1723 komencas la vokon, transdonas liginformojn kaj fermas ĝin kiam la uzanto malkonektiĝas. La utilŝarĝa flanko funkcias ene de GRE, kiun la IP-kapo markas per protokola numero 47, kaj ene de tiu tunelo PPP interkonsentas la ligon dum MS-CHAPv2 kontrolas la akreditaĵojn.

Ĉar GRE ne portas transportan kapojn, ĝi elmontras neniujn pordojn, do regulo skribita por pordoj havas nenion por kongruigi. Enkursigilo, kiu plusendas 1723, kreas mapadon por tiu TCP-sesio kaj haltas tie. Firmvaro, kiu pritraktas la duan duonon, nomas la funkcion PPTP-passthrough aŭ PPTP ALG, kaj iu firmvaro proponas nek unu nek alian kaj neniam mencias la mankon. La etikedo sur la markobutono malpli gravas ol ĉu protokolo 47 entute rekoniĝas.

Kion Windows raportas kiam la datenvojo mortas

Eraro 807 diras, ke la konekto ne povis kompletiĝi, kio praktike signifas, ke la voko atingis la servilon kaj la datenkanalo ne leviĝis. Ĝi estas verdikto pri la transporto, ne pri la konto. Eraro 691 estas tiu, kiu montras al akreditaĵoj aŭ al malkongruo de la aŭtentiga protokolo, do ĝi sendas vin tute aliloken.

Laboru pri la transporto antaŭ ol tuŝi la pasvorton. Ŝanĝi akreditaĵojn por ĉasi 807 lasas la veran difekton surloke kaj faras la sekvan provon pli malfacile legebla.

Kial dua kliento rompas funkciantan tunelon

Sen pordoj por distingi ilin, NAT-aparato ne povas apartigi du PPTP-klientojn tiel, kiel ĝi apartigas du HTTPS-sesiojn. Tial multaj konsumantaj aparatoj permesas unu PPTP-vokon kaj spuras ĝin laŭ fontadreso. Tekkomputilo, kiu funkciis sola, ĉesas kompletiĝi tuj kiam dua maŝino vokas, kaj de la klienta flanko la malsukceso aspektas hazarda. Tiu ŝablono apartenas al la firmvaro, kaj neniu profila ŝanĝo ĝin modifos.

Observu la konektotabelon dum ambaŭ klientoj vokas. Se nur la unua gastiganto iam tenas mapadon, la enkursigilo atingis la limon de tio, kion ĝi subtenas, kaj neniu klienta agordo ĝin movos.

Pruvu, kiu duono fiaskas

Konfirmu, ke TCP 1723 alvenas antaŭ ol ŝanĝi ion ajn sur la enkursigilo, ĉar tiu respondo decidas, kiun duonon vi testas. Rulu ĉi tion el la Windows-kliento kontraŭ via propra servila nomo. La unua presas, ĉu la pordo respondis, kaj la dua vokas sen dialogo, kio igas ripetajn provojn kompareblaj.

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

Vera rezulto en la porda testo signifas, ke la rega kanalo estas malfermita kaj GRE estas la restanta suspektato. Falsa rezulto signifas, ke enkursigado, filtrilo aŭ la plusendado estas rompitaj, kaj neniu ŝanĝo de GRE savos tion. La datena flanko devas esti observata tie, kie ĝi videblas, ĉe la servilo aŭ ĉe la enkursigilo.

tcpdump -ni any proto 47

La ekvivalento en Wireshark estas la montra filtrilo ip proto 47, kiun pli facile estas transdoni al iu, kiu ne komfortas en komanda linio. GRE, kiu alvenas sen io eliranta en respondo, signifas, ke la revena vojo bezonas riparon.

Kio fakte riparas la eraron

Kie la enkursigilo montras la agordon, ŝaltu PPTP-passthrough, aŭ permesu protokolon 47 eksplicite sur firmvaro, kiu akceptas regulojn. En RouterOS la plusenda regulo kongruigas la protokolon rekte, kion pord-bazita plusendado neniam povus fari. Konsumanta firmvaro kutime kaŝas la saman decidon malantaŭ markobutono, foje sub sekurecaj agordoj anstataŭ sub pordplusendado. Se tia kontrolo ne ekzistas, nenio ĉe la kliento kompensos ĝin.

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

Anstataŭigi PPTP estas la alia eblo kaj ofte la pli malmultekosta. Enkursigilo, kiu mem finas la VPN, evitas duoblan NAT por envenantaj klientoj, kaj protokolo, kiun pord-bazita NAT jam pritraktas, tute ne bezonas passthrough: OpenVPN super UDP, SSTP super TCP 443 aŭ L2TP/IPsec kun NAT-T, kiu envolvas ESP en UDP 4500. PPTP ankaŭ dependas de MS-CHAPv2, kies dokumentitaj malfortoj igas ĝin malbona elekto por nova starigo eĉ post kiam la eraro malaperis.

Notu, kiu regulo faris la diferencon, ĉar la sama loko renkontos la saman limon kiam la dua uzanto petos aliron. Riparo je protokola nivelo apartenas al la retaj notoj, kie rigardos la sekva inĝeniero.

Rilataj artikoloj