Hiányzik a PPTP-áteresztés: a Windows VPN 807-es hibájának javítása
A TCP 1723 továbbítása önmagában nem szünteti meg a PPTP 807-es hibáját. A GRE IP 47-es protokoll, ezért az útválasztónak áteresztésre vagy kifejezett protokollszabályra van szüksége.
A TCP 1723 továbbítása gyakran megnyitja a PPTP első részét, a többit pedig törten hagyja, így a Windows a kísérletnél továbbra is a 807-es hibát adja vissza. A következő ösztön egy szabály hozzáadása a 47-es portra, és épp ez a lépés pazarol el egy délutánt: a GRE protokollszám az IP-fejlécben, nem port, amelyre egy továbbítási tábla illeszkedni tudna. Amíg az útválasztó nem engedi át a 47-es protokollt és nem köti ugyanahhoz a híváshoz, az alagút nem indulhat el. Az alábbi szakaszok szétválasztják a két csatornát, majd egyenként tesztelik őket.
Egy porttáblában nincs sor protokollszámhoz
A PPTP két beszélgetést használ, amelyek különböző módokon hibázhatnak. A TCP 1723-on futó indítja a hívást, átadja a kapcsolat információit, és bontja, amikor a felhasználó lecsatlakozik. A hasznos teher oldala a GRE-n belül fut, amelyet az IP-fejléc a 47-es protokollszámmal jelöl, és azon az alagúton belül a PPP tárgyalja a kapcsolatot, miközben az MS-CHAPv2 ellenőrzi a hitelesítő adatokat.
Mivel a GRE nem hordoz szállítási fejlécet, nem tesz közzé portokat, ezért a portokra írt szabálynak nincs mihez illeszkednie. Az az útválasztó, amely továbbítja az 1723-at, leképezést hoz létre ahhoz a TCP-munkamenethez, és ott megáll. A második felet kezelő firmware PPTP-áteresztésnek vagy PPTP ALG-nak nevezi ezt a funkciót, és néhány firmware egyiket sem kínálja, és soha nem említi a hiányt. A jelölőnégyzet felirata kevésbé számít, mint az, hogy a 47-es protokollt egyáltalán felismerik-e.
Mit jelent a Windows, amikor meghal az adatút
A 807-es hiba azt mondja, hogy a kapcsolat nem hozható létre, ami a gyakorlatban azt jelenti, hogy a hívás elérte a szervert, és az adatcsatorna nem jött fel. Ez a szállításról szóló ítélet, nem a fiókról szóló. A 691-es hiba az, amely a hitelesítő adatokra vagy a hitelesítési protokoll eltérésére utal, ezért teljesen máshova küldi Önt.
A szállítással foglalkozzon, mielőtt a jelszóhoz nyúl. A hitelesítő adatok módosítása a 807 hajszolásához a helyén hagyja a valódi hibát, és nehezebben olvashatóvá teszi a következő kísérletet.
Miért tör el egy működő alagutat a második kliens
Mivel nincsenek portok, amelyek megkülönböztetnék őket, egy NAT-eszköz nem tud két PPTP-klienst szétválasztani úgy, ahogy két HTTPS-munkamenetet szétválaszt. Ezért sok fogyasztói eszköz egyetlen PPTP-hívást engedélyez, és a forráscím alapján követi azt. Egy egyedül működő laptop nem fejezi be a kapcsolódást, amint egy második gép tárcsáz, és a kliens oldaláról a hiba véletlenszerűnek tűnik. Ez a minta a firmware-hez tartozik, és semmilyen profilváltozás nem módosítja.
Figyelje a kapcsolati táblát, miközben mindkét kliens tárcsáz. Ha mindig csak az első gazdagép tart leképezést, az útválasztó elérte a támogatásának határát, és semmilyen kliensoldali beállítás nem mozdítja el.
Bizonyítsa, melyik fél hibázik
Mielőtt bármit módosít az útválasztón, erősítse meg, hogy a TCP 1723 megérkezik, mert ez a válasz dönti el, melyik felet teszteli. Futtassa ezeket a Windows kliensről a saját szervernevével szemben. Az első kiírja, válaszolt-e a port, a második pedig párbeszédablak nélkül tárcsáz, ami összehasonlíthatóvá teszi az ismételt kísérleteket.
Test-NetConnection vpn.example.com -Port 1723
rasdial "Work VPN"
A portteszt igaz eredménye azt jelenti, hogy a vezérlőcsatorna nyitva van, és a GRE a fennmaradó gyanúsított. A hamis eredmény azt jelenti, hogy az útválasztás, egy szűrő vagy a továbbítás törött, és semmilyen GRE-módosítás nem menti meg. Az adatoldalt ott kell figyelni, ahol látható, a szerveren vagy az útválasztón.
tcpdump -ni any proto 47
A Wireshark megfelelője a ip proto 47 megjelenítési szűrő, amelyet könnyebb odaadni valakinek, aki nem érzi otthon magát a parancssorban. Az a GRE, amely úgy érkezik, hogy semmi sem megy ki válaszként, azt jelenti, hogy a visszautat javítani kell.
Mi javítja valójában a hibát
Ahol az útválasztó felfedi a beállítást, engedélyezze a PPTP-áteresztést, vagy engedélyezze kifejezetten a 47-es protokollt a szabályokat elfogadó firmware-en. A RouterOS-on a továbbítási szabály közvetlenül a protokollra illeszkedik, amit egy portalapú továbbítás soha nem tudott volna megtenni. A fogyasztói firmware általában ugyanezt a döntést egy jelölőnégyzet mögé rejti, néha a biztonsági beállítások alá, nem a porttovábbítás alá. Ha nincs ilyen vezérlés, semmi sem kompenzálja a kliensen.
/ip firewall filter add chain=forward protocol=gre action=accept
/ip firewall filter print where protocol=gre
A PPTP lecserélése a másik lehetőség, és gyakran az olcsóbb. Az az útválasztó, amely maga fejezi be a VPN-t, elkerüli a kettős NAT-ot a bejövő klienseknél, és egy olyan protokoll, amelyet a portalapú NAT már kezel, egyáltalán nem igényel áteresztést: OpenVPN UDP felett, SSTP TCP 443 felett vagy L2TP/IPsec NAT-T-vel, amely az ESP-t UDP 4500-ba csomagolja. A PPTP az MS-CHAPv2-től is függ, amelynek dokumentált gyengeségei a hiba elmúlása után is rossz választássá teszik egy új telepítéshez.
Jegyezze fel, melyik szabály tette a különbséget, mert ugyanaz a hely ugyanabba a korlátba ütközik, amikor a második felhasználó hozzáférést kér. A protokollszintű javítás a hálózati feljegyzésekbe való, ahol a következő mérnök megnézi.