Valaki átirányítja az 1723-at, a kliens eléri a szervert, megkezdődik a hitelesítés, aztán minden hiba nélkül megáll. A kézenfekvő következtetés a rossz jelszó, ezért a jelszót háromszor újra beírják. Az átirányítás rendben volt, és a hitelesítő adatok is rendben voltak. Ami elromlott, az egy második protokoll, amelyet az átirányítás soha nem fedett le, és egy kernel-alapértelmezés, amely csendben felhagyott a segítségével.

Az átirányítás soha nem volt a probléma

A portátirányítási szabály TCP- vagy UDP-forgalmat ír le. Nem tud leírni olyan hasznos terhet, amely a munkamenet közepén másik IP-protokollra vált, és a PPTP pontosan ezt teszi.

Ezért tűnik egészségesnek a kapcsolat egészen addig a pillanatig, amikor megakad. Az a rész, amelyet egy portszabály irányíthat, sikerült, és az a rész, amelyet nem irányíthat, az a rész, amely elbukott.

TCP a vezérléshez, GRE az adatokhoz

A hívást a TCP 1723 felett tárgyalják. Amint feláll, a hasznos teher átkerül a GRE-be, a 47-es IP-protokollba, amely egyáltalán nem hordoz portszámokat. Egy portokra épülő szabálynak nincs mihez illeszkednie.

Amit a GRE hordoz, az egy hívásazonosító a fejlécében, és a NAT-fordítónak ezt a mezőt mindkét irányban konzisztensen át kell írnia, különben a munkamenet két fele felhagy az egyetértéssel. Az egyik irány átírva, a másik nem, olyan munkamenetet eredményez, amely hitelesít, majd minden adatcsomagot eldob. Pontosan ez a tünet formája: siker, majd csend.

A csupasz GRE PPTP nélkül nem igényel ilyen átírást, ezért egy egyszerű GRE-alagút működhet olyan routeren keresztül, amely ugyanazon az útvonalon elbukik egy PPTP-kliensnél.

Négy modul és egy sysctl, amely kikapcsolta őket

Két modul kezeli a keretezést, nf_conntrack_proto_gre és nf_nat_proto_gre. További kettő kezeli a hívásazonosítót, nf_conntrack_pptp és nf_nat_pptp. Az utóbbi betöltése a többit függőségeken keresztül behúzza, ezért a modullistának mind a négyet mutatnia kell.

A régebbi útmutatások a 2.6 korszak ip_ előtagját használják. Ezek a parancsok úgy tűnhetnek, mintha futnának, miközben semmit nem töltenek be, ezért a betöltött listát ellenőrizze, ne a kilépési állapotot.

A betöltésük már nem elég. A Linux 4.7 óta a sysctl net.netfilter.nf_conntrack_helper alapértéke 0, ami kikapcsolja az automatikus segéd-hozzárendelést az új folyamokhoz. Egy routeren lehet minden modul, és mégis semmit sem fordít. Ellenőrizze a tényleges értéket, mielőtt újra a modullistára nézne.

Vagy kapcsolja vissza globálisan az automatikus hozzárendelést, vagy csatolja a segédet azokhoz a folyamokhoz, amelyeknek szükségük van rá, és hagyjon minden mást békén:

iptables -t raw -A PREROUTING -p tcp --dport 1723 -j CT --helper pptp

A második lehetőség az előnyösebb. A viselkedést a PPTP-forgalomra korlátozza ahelyett, hogy az egész routeren újraengedélyezné az automatikus hozzárendelést.

Olyan protokoll megnyitása, amelynek nincsenek portjai

Az 1723-at engedélyező tűzfal-szabály semmit sem mond a 47-es protokollról. A firewalld alatt engedélyezze a protokollt a kliens felé néző zónában. Egyszerű iptables esetén fogadja el a gre protokollt a bemeneti láncban.

Utána rögzítsen mindkét oldalon. A klienst elhagyó csomagok érkező válaszok nélkül azt jelentik, hogy a visszaút szűrve van, és ez más hiba, mint az elutasított hitelesítő adat.

Csatlakozás után a mérethatár

A GRE fejlécet szúr be, és a benne lévő PPP még többet ad hozzá, ezért egy működő kapcsolat jóval 1500 alatti MTU-t jelent. A kis válaszok betöltődnek, a nagyok megakadnak, ami egy második, független problémának tűnik, amely abban a pillanatban jelenik meg, amikor az elsőt megoldják.

Olvassa le az MTU-t a kliens PPP-adapterén, és hangolja össze a router saját számításával ahelyett, hogy addig csökkentené a számokat, amíg valami működni kezd. A teljes méretű csomagok, amelyek úgy mennek ki, hogy semmi nem jön vissza, erre a határra mutatnak, nem a fordításra.

Az útvonal megjavítása munkába állítja a felhasználót, és nem teszi jó választássá a PPTP-t. Az MS-CHAPv2 és az RC4 régóta elavult, ezért tekintse a modulok betöltését ideiglenes javításnak, és tervezze meg az áttérést egy karbantartott protokollra.

Kapcsolódó cikkek