A PPTP otthoni router mögött két egymástól független módon hibázik, és ezek összekeverése egy egész estét visz el. Az egyik hiba az átadás hiányossága: a router átengedi a TCP 1723-at, de eldobja az IP-protokoll 47-et, ezért a kliens a 619-es hibánál akad el. A másik méretprobléma: az alagút felépül, authentikál, majd megfagy, amikor egy teljes méretű csomagnak át kell jutnia. Annak kiderítése, melyik van Önnél, az első igazi lépés; a többi azt hasonlítja össze, mit tud a routere kifejezni, nem azt, melyik márka jobb.

Két átvitel, és csak az egyiknek van portja

A PPTP két átvitelre oszlik: vezérlőkapcsolat a TCP 1723-on, és PPP-keretek erősített GRE-be csomagolva, ami IP-protokoll 47. A GRE-nek nincs portszáma, ezért a 1723-as port átirányításaként írt szabály nem tudja lefedni, akárhogyan nevezi a webes felület a mezőt. Az otthoni router általában PPTP-átengedés nevű jelölőnégyzetet kínál protokollszabály helyett, és ez a négyzet két dolgot tesz: átengedi a 47-es protokollt a tűzfalon, és megtanítja a NAT-nak a GRE-folyam követését. Linux routeren ezek a feladatok külön modulok és külön szabályok, ezért a félkész átengedés is működő vezérlőcsatornát ad. Derítse ki, melyik fél van jelen, mielőtt bármit módosít.

A kiszolgáló saját tűzfalának is engedélyeznie kell a 47-es protokollt a router címéről. Az a gazdagép-tűzfal, amely csak a 1723/tcp-t fogadja, a 619-es hibát a LAN belsejéből reprodukálja, így a hibás átirányítás és a hibás gazdagépszabály azonosan néz ki.

sudo iptables -S FORWARD | grep -i gre
sudo nft list ruleset | grep -i gre
lsmod | grep -E 'nf_conntrack_proto_gre|nf_nat_proto_gre'

Ha a modulok hiányoznak, töltse be őket a sudo modprobe nf_conntrack_proto_gre nf_nat_proto_gre paranccsal, és tegye tartóssá a betöltést, mert az újraindítás, amely elfelejti a segédet, a működő alagutat újra 619-es hibává változtatja. Az átirányítási szabálynak csak a kiszolgáló címének irányába kell engedélyeznie a 47-es protokollt, nem az egész LAN felé. Az RFC 2637 definíciója elválasztja a vezérlő- és adatútvonalat, ezért egyetlen portátirányítási képernyő sem írja le teljesen a PPTP-t.

Átengedés jelölőnégyzet vagy kifejezett protokollszabály

Az a jelölőnégyzet, amely csak a tűzfalat nyitja meg, közelebb van a helyeshez, mint az az ALG, amely átírja a hívásazonosítókat. A tűzfal fele kiszámítható, hiszen a 47-es protokollt vagy elfogadja, vagy eldobja, és a számlálók megmondják, melyiket. Az átírás fele az, ahol a gyártók eltérnek, mert a PPTP hívásazonosítói alagútonkéntiek, és a NAT-nak, amely szerkeszti őket, minden érintett hívást követnie kell. Ha egy kliens csatlakozik és kettő nem, az ALG az első gyanúsított.

A 1723-as cél-NAT szabály tulajdonosi problémát is hordoz. Ha egy régi szabály még mindig 1723-at küld egy olyan gazdagépnek, amely leállította a kiszolgálót, a csomagok zárt portra esnek, és a router saját PPTP-szolgáltatása abbahagyja a válaszadást, ami tűzfalahibának tűnik, valójában azonban elavult cél. Olvassa el a szabályt és a célját, mielőtt másodikat ad hozzá. Azokon a routereken, amelyek maguk fejezik be a PPTP-t, a WAN-szabály verseng a beépített szolgáltatással, ezért válasszon egyetlen tulajdonost a 1723-nak és a 47-es protokollnak.

Két kliens ugyanazon NAT mögött az az eset, amely elválasztja az egyszerű átirányítást az okostól. A 47-es protokoll átirányítása a hívásazonosítók átírása nélkül általában jobban viselkedik, mint egy segéd, amely javítani próbálja őket.

Mérje meg az alagutat, mielőtt a routert hibáztatja

A PPTP csökkenti a hasznos terhet, és ez a csökkenés aritmetika, nem rejtély. Minden alagútcsomag külső IP-fejlécet, erősített GRE-fejlécet, PPP-fejlécet és titkosítás esetén MPPE-fejlécet hordoz. Amikor az útvonal nem tudja továbbítani a keletkező keretet, a kis csomagok átjutnak, a bejelentkezés befejeződik, és a munkamenet először akkor áll le, amikor egy fájlmásolás vagy egy TLS-kézfogás teljes méretű csomagot küld.

Számolja ki a számot ahelyett, hogy tippelne. Az erősített GRE 8 bájt, a PPP 4, az MPPE 4, a külső IP-fejléc 20 bájt, tehát az alagút 36 bájtot fogyaszt bármilyen teher előtt. Egy 1492-nél végződő PPPoE-WAN-on a legnagyobb elférő PPP-MTU 1492 mínusz 36, azaz 1456. Állítsa a mtu és mru értékét erre a PPP-beállításokban, és tesztelje újra töredezésmentes pinggel.

ping -M do -s 1464 198.51.100.7
grep -E '^(mtu|mru)' /etc/ppp/options.pptpd

A ping az útvonalat méri, nem az alagutat: 1464 bájt teher plusz 28 bájt IP- és ICMP-fejléc pontosan kitölt egy 1492 bájtos keretet. Ha ez a ping meghiúsul, csökkentse a számot, amíg át nem megy, majd vonjon le 36-ot az eredményből. Az útvonal korlátja fölé állított alagút-MTU okozza a fagyást anélkül, hogy egyetlen naplósor említené a méretet.

PPTP, L2TP/IPsec vagy OpenVPN ugyanazon a routeren

Ugyanaz a router hordozhatja a három gyakori alagút bármelyikét, és a különbség az, mit kell kifejeznie. A PPTP két szabályt igényel két különböző rétegben. Az IPsec feletti L2TP UDP 500-at és 4500-at igényel a kulcscseréhez, és ha a NAT-T nem hordozza, a 50-es protokollt a teherhez. Az OpenVPN egy UDP-portot igényel, és semmilyen segédet.

TunnelWhat the router must allowPractical note
PPTPTCP 1723 and IP protocol 47Two transports, two rules
L2TP/IPsecUDP 500, UDP 4500, protocol 50 without NAT-TESP has no port either
OpenVPNUDP 1194 or a chosen TCP portSingle rule, no helper

Az L2TP oszlopa nem barátságosabb automatikusan, mint a GRE. Az ESP IP-protokoll 50, és annak sincs portja, ezért az a router, amelynek nehézséget okoz a 47-es protokoll, ugyanezen okból nehézséget okozhat az 50-es protokollal is. A NAT-T azért létezik, hogy az ESP-t UDP 4500-ba csomagolja, és amikor mindkét vég támogatja, az 50-es protokoll szabálya szükségtelenné válik. Ez a végpontok tulajdonsága, nem a router PPTP-négyzetéé. Erősítse meg, milyen beágyazást tárgyalt valójában a kliens, mielőtt szabályokat ír mindkettőhöz.

Az OpenVPN a legkevesebb mozgó alkatrészt tartalmazó lehetőség a router oldalán. Egy UDP-port, egy átirányítás, nincs kapcsolatkövető segéd, és nincs hívásazonosító-átírás. Az üzlet egy telepítendő kliens a beépített tárcsázó helyett, és gyakran ez az egyetlen ok, amiért a PPTP a beszélgetésben marad.

Mit javítsunk és mit cseréljünk

Az átirányítás és az MTU javítása működő alagutat ad, nem olyat, amelyet meg kellene tartania. A PPTP MSCHAPv2-hitelesítése évek óta támadható, és a működő alagút olyan hitelesítő adatokat mozgat, amelyek offline helyreállíthatók. Ha a távoli eszköz képes L2TP/IPsec vagy OpenVPN futtatására, tekintse a javítást dátummal ellátott ideiglenes intézkedésnek.

A döntés attól függ, mit támogat a távoli vég, és mennyi ideig kell az elrendezésnek tartania. A csak PPTP-t beszélő öreg eszköz megkapja a javítást; mindent áttelepítenek, amire kliens telepíthető.

Mielőtt lezárja a jegyet, erősítse meg, hogy a kliens egy nagy átvitelt is kibír, nem csak egy bejelentkezést, és hogy a router újraindítás után is megtartja a 47-es protokoll szabályát. Az az alagút, amely átmegy egy fájlmásoláson és meghal a következő firmware-frissítés után, soha nem volt befejezve.

Kapcsolódó cikkek