Nézze meg, ahogy egy PPTP-kapcsolat felépül, és könnyű elhinni, hogy a nehéz rész kész: a kliens hitelesíti magát, megjelenik egy ppp0 adapter vagy WAN Miniport, és az állapotablak zöldre vált. Aztán az első belső gazdagép felé menő kérés időtúllépésbe fut, és a profil lesz a hibás. A gyakorlatban két független réteget kell tisztázni: a külső szállítást, amely a TCP 1723-at és a GRE-t viszi, és a belső házirendet, amely eldönti, mely célok használják a PPP-interfészt. A zöld állapot csak azt bizonyítja, hogy az első réteg megegyezett; a másodikról semmit sem mond.

Kövesse a klienst a profiltól a vezérlő socketig

Nyissa meg a kliens naplóját, és keresse meg azt a pontot, ahol a szervert eléri. A PPTP először TCP-kapcsolatot nyit a 1723-as portra, és ezen a csatornán egyezteti az alagút paramétereit. Ha ez a lépés meghiúsul, semmi későbbi nem számít, és a hiba általában a szerver címét vagy egy időtúllépést nevez meg.

Erősítse meg a vezérlőkapcsolatot a hálózaton, mielőtt bármelyik útvonalhoz nyúlna. A kliensen vagy egy tükörporton rögzítse a TCP 1723-at egy kapcsolódási kísérlethez:

sudo tcpdump -ni any 'tcp port 1723' -c 20

A befejezett kézfogás és a létrejött munkamenet azt jelenti, hogy a külső vezérlőcsatorna működik. Az a SYN, amely soha nem kap SYN-ACK-et, tűzfalra, rossz szervercímre vagy a portot szűrő szolgáltatóra utal. A kézfogást követő azonnali visszaállítás gyakran azt jelenti, hogy a szerver elutasította a hitelesítő adatokat vagy az alagút típusát.

A GRE egy második protokoll, nem port

A PPTP a PPP-hasznos terhet kibővített GRE-ben, 47-es IP-protokollban viszi, amelynek nincs portszáma, amelyet egy útválasztó követhetne. Ezért egy TCP 1723-at engedélyező szabály még mindig adatútvonal nélkül hagyhatja az alagutat. Az állapottal rendelkező NAT-eszközöknek meg kell érteniük a GRE-n belüli hívásazonosítót a válaszok visszatérítéséhez, és sokuk nem teszi ezt. A PPTP specifikációja külön darabként kezeli a vezérlőcsatornát és a GRE-hasznos terhet, és a teszttervének is így kell tennie.

Figyelje a 47-es protokollt ugyanabban a rögzítésben, majd hasonlítsa össze, mi megy ki és mi jön vissza:

sudo tcpdump -ni any 'proto gre' -c 20

A válasz nélkül kimenő csomagok, miközben a TCP 1723 egészséges marad, a blokkolt GRE klasszikus jele. A PPTP-átjárás egy otthoni útválasztón annak a konkrét firmware-nek a funkciója, ezért egy működő hotelhálózat semmit sem bizonyít a következőről. Ha az útválasztó nem kínál átjárást, és nem tudja megváltoztatni, a probléma a protokollválasztás, nem az útvonaltábla.

Bizonyítsa, hogy az alagút egy csomagot továbbít

Amint a GRE áramlik, a PPP-egyeztetés címet rendel a kliensinterfészhez. Olvassa el a hozzárendelést, ahelyett hogy feltételezné:

ip -4 addr show ppp0

Pingelje a pont-pont kapcsolat céljaként megjelenő partner címet. Az ezen a szakaszon kapott válasz bizonyítja, hogy a beágyazott útvonal végponttól végpontig működik, és a szerver az alagúton belül válaszol. Ha a partner válaszol, de a belső gazdagépek nem, a külső szállítás rendben van, és a hiba befelé költözött.

Tegye ezt meg, mielőtt bármilyen osztott útvonalat hozzáad. A törött szállítás mellett végrehajtott útvonalváltoztatás második változót hoz létre, és elrejti az elsőt.

Írja meg az osztott házirendet, a DNS-t is beleértve

Az osztott útválasztás döntések listája, nem jelölőnégyzet. Minden privát előtaghoz, amelynek át kell haladnia az alagúton, útvonal kell a PPP-interfészen keresztül, és minden előtaghoz, amelynek helyinek kell maradnia, hiányoznia kell belőle. Egy alkalmazás-alhálózat útvonala a privát feloldójához vezető megfelelő útvonal nélkül gyakori módja annak, hogy egy összeomlást hozzon létre, amely törött alkalmazásnak látszik.

Ellenőrizze a döntést, amelyet a kernel kategóriánként egy címre hoz:

ip route get 10.20.5.10
ip route get 203.0.113.25

Az elsőnek a ppp0-t, a másodiknak a szokásos átjárót kell megneveznie. Ha mindkettő ugyanazt az interfészt nevezi meg, a házirend egyáltalán nincs osztva. Adja hozzá a DNS-kiszolgáló saját címét az alagútlistához, különben a belső gazdagépek névfeloldása a helyi feloldón keresztül megy ki, és semmi hasznosat nem ad vissza.

Öt lépésben megismételhető ellenőrzés

Futtassa a rétegeket sorrendben, és álljon meg az elsőnél, amely meghiúsul: vezérlőcsatorna, GRE-láthatóság, PPP-partner válasza, osztott útvonal egy belső címhez, és egy alkalmazáskérés az alagúton át. Minden lépésnek saját parancsa van, így a hiba hozzárendelhető, nem rejtélyes.

A Linux-klienshez készült tömör változat így néz ki:

sudo tcpdump -ni any 'tcp port 1723 or proto gre' -c 40
ip -4 addr show ppp0
ping -c 3 192.0.2.1
ip route get 10.20.5.10

Windows alatt ugyanez a sorrend érvényes a route print paranccsal és a kliensben látható adapterállapottal. A PPTP örökölt protokoll, és ha a szerver SSTP-t vagy IKEv2-t kínál, az átállás általában jobb időfelhasználás, mint egy olyan útvonal hangolása, amely a 47-es protokoll minden ugráson való átjutásától függ. Ellenőrizze a helyettesítő tanúsítványát és hitelesítési szerződését, ahelyett hogy egy régi profilt másolna egy új kiadásba.

Kapcsolódó cikkek