PPTP bölünmüş tunel işləmir: əvvəlcə GRE yolunu düzəldin
PPTP bölünmüş tunel iki fərqli səbəbdən uğursuz olur: GRE bloklanıb və ya daxili marşrut yoxdur. Əvvəlcə nəqli, sonra siyasəti yoxlayın.
PPTP bağlantısının qurulmasına baxın və çətin hissənin bitdiyinə inanmaq asandır: müştəri autentifikasiyadan keçir, ppp0 adapteri və ya WAN Miniport görünür və status pəncərəsi yaşıla dönür. Sonra daxili hosta ilk sorğu vaxt aşımına uğrayır və profil günahlandırılır. Praktikada təmizlənməli iki müstəqil qat var: TCP 1723 və GRE daşıyan xarici nəql, və hansı təyinatların PPP interfeysindən istifadə etdiyinə qərar verən daxili siyasət. Yaşıl status yalnız birinci qatın razılaşdığını sübut edir; ikinci qat haqqında heç nə demir.
Müştərini profildən idarəetmə soketinə qədər izləyin
Müştəri jurnalını açın və serverlə əlaqə saxladığı nöqtəni tapın. PPTP əvvəlcə 1723 portuna TCP bağlantısı açır və həmin kanal üzərindən tunel parametrlərini razılaşdırır. Bu addım uğursuz olarsa, sonrakı heç nə əhəmiyyət kəsb etmir və xəta adətən server ünvanını və ya vaxt aşımını göstərir.
Hər hansı marşruta toxunmazdan əvvəl idarəetmə bağlantısını şəbəkədə təsdiqləyin. Müştəridə və ya güzgü portunda bir bağlantı cəhdi üçün TCP 1723-ü tutun:
sudo tcpdump -ni any 'tcp port 1723' -c 20
Tamamlanmış əl sıxışma və qurulmuş sessiya xarici idarəetmə kanalının işlədiyini bildirir. Heç vaxt SYN-ACK almayan SYN firewall, səhv server ünvanı və ya portu filtrləyən provayder işarəsidir. Əl sıxışmadan sonra dərhal sıfırlama gəlməsi çox vaxt serverin etimadnamələri və ya tunel növünü rədd etdiyini göstərir.
GRE ikinci protokoldur, port deyil
PPTP PPP yükünü güləndirilmiş GRE, yəni IP protokolu 47 içində daşıyır və onun marşrutlaşdırıcının izləyə biləcəyi port nömrəsi yoxdur. Buna görə TCP 1723-ə icazə verən qayda tuneli yenə də məlumat yolu olmadan qoya bilər. Vəziyyət saxlayan NAT cihazları cavabları geri xəritələmək üçün GRE içindəki çağrı ID-ni anlamalıdır və çoxu bunu etmir. PPTP spesifikasiyası idarəetmə kanalını və GRE yükünü ayrı hissələr kimi saxlayır, test planınız da belə olmalıdır.
Eyni tutmada 47 protokolunu izləyin, sonra çıxanla qayıdanı müqayisə edin:
sudo tcpdump -ni any 'proto gre' -c 20
TCP 1723 sağlam qalarkən cavabsız çıxan paketlər klassik bloklanmış GRE əlamətidir. İstehlakçı marşrutlaşdırıcısında PPTP keçidi həmin proqram təminatının xüsusiyyətidir, ona görə işləyən otel şəbəkəsi növbəti şəbəkə haqqında heç nə sübut etmir. Marşrutlaşdırıcı keçid təklif etmirsə və siz onu dəyişə bilmirsinizsə, problem marşrut cədvəli deyil, protokol seçimidir.
Tunelin bir paket ötürdüyünü sübut edin
GRE axmağa başlayanda PPP razılaşması müştəri interfeysinə ünvan təyin edir. Təyinatı güman etmək əvəzinə oxuyun:
ip -4 addr show ppp0
Nöqtədən nöqtəyə əlaqənin təyinatı kimi göstərilən qarşı ünvanına ping göndərin. Bu mərhələdə cavab kapsüllənmiş yolun ucdan uca işlədiyini və serverin tunel içində cavab verdiyini sübut edir. Qarşı tərəf cavab verir, daxili hostlar vermirsə, xarici nəql qaydasındadır və nasazlıq içəriyə keçmişdir.
Bunu hər hansı bölünmüş marşrut əlavə etməzdən əvvəl edin. Nəql pozulmuş halda edilən marşrut dəyişikliyi ikinci dəyişən yaradır və birincisini gizlədir.
Bölünmə siyasətini yazın, DNS daxil olmaqla
Bölünmüş marşrutlaşdırma qərarlar siyahısıdır, onay qutusu deyil. Tuneldən keçməli hər şəxsi prefiks PPP interfeysindən marşrut tələb edir və yerli qalmalı hər prefiks ondan yox olmalıdır. Tətbiq alt şəbəkəsi üçün onun şəxsi həlledicisinə uyğun marşrut olmadan qayda yaratmaq, tətbiq pozulmuş kimi görünən kəsinti yaratmağın geniş yayılmış yoludur.
Hər kateqoriyada bir ünvan üçün nüvənin verdiyi qərarı yoxlayın:
ip route get 10.20.5.10
ip route get 203.0.113.25
Birincisi ppp0, ikincisi adi şlüzü göstərməlidir. Əgər hər ikisi eyni interfeysi göstərirsə, siyasət heç bölünməyib. DNS serverinin öz ünvanını tunel siyahısına əlavə edin, əks halda daxili hostlar üçün ad həlli yerli həlledici ilə çıxır və faydalı heç nə qaytarmır.
Beş addımda təkrarlana bilən yoxlama
Qatları sıra ilə işə salın və ilk uğursuz olanında dayanın: idarəetmə kanalı, GRE görünürlüyü, PPP qarşı tərəfin cavabı, bir daxili ünvan üçün bölünmüş marşrut və tunel üzərindən tətbiq sorğusu. Hər addımın öz əmri var, buna görə nasazlıq sirli deyil, aid edilə biləndir.
Linux müştərisi üçün yığcam versiya belə görünür:
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-da eyni sıra route print və müştəridə göstərilən adapter statusu ilə tətbiq olunur. PPTP köhnə protokoldur və server SSTP və ya IKEv2 təklif edirsə, hər addımda 47 protokolunun keçməsindən asılı yolu tənzimləməkdənsə keçmək adətən vaxtın daha yaxşı istifadəsidir. Köhnə profili yeni buraxılışa köçürmək əvəzinə əvəzədicinin sertifikatını və autentifikasiya müqaviləsini yoxlayın.