PPTP байланышынын көтөрүлүшүн көрүңүз жана кыйын бөлүгү бүттү деп ишенүү оңой: кардар аутентификациядан өтөт, ppp0 адаптери же WAN Miniport пайда болот, статус терезеси жашыл болот. Андан кийин ички хостко биринчи суроо убакыт чегинен өтүп кетет, жана профиль күнөөлөнөт. Иш жүзүндө эки көз карандысыз катмарды тазалоо керек: TCP 1723 жана GRE ташыган сырткы транспорт, жана кайсы багыттар PPP интерфейсин колдонорун чечүүчү ички саясат. Жашыл статус биринчи катмар келишкенин гана далилдейт; экинчиси жөнүндө ал эч нерсе айтпайт.

Кардарды профилден башкаруу сокетине чейин ээрчиңиз

Кардардын журналын ачып, анын сервер менен байланышкан жерин табыңыз. PPTP адегенде 1723 портуна TCP байланышын ачат жана ошол канал аркылуу туннел параметрлерин келишет. Эгер бул кадам ийгиликсиз болсо, кийинки эч нерсенин мааниси жок, жана ката адатта сервер дарегин же убакыт чегин атайт.

Каалаган маршрутка тийүүдөн мурун башкаруу байланышын тармакта ырастаңыз. Кардарда же күзгү портто бир туташуу аракети үчүн TCP 1723 тартыңыз:

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

Аякталган кол алышуу жана түзүлгөн сессия сырткы башкаруу каналы иштеп жатканын билдирет. Эч качан SYN-ACK албаган SYN брандмауэрге, туура эмес сервер дарегине же портту чыпкалаган провайдерге көрсөтөт. Кол алышуудан кийин дароо кайра орнотуу көбүнчө сервердин каттоо маалыматтарын же туннел түрүн четке какканын билдирет.

GRE — экинчи протокол, порт эмес

PPTP PPP жүгүн кеңейтилген GRE, IP 47 протоколунун ичинде ташыйт, анын маршрутизатор көзөмөлдөй алган порт номери жок. Ошондуктан TCP 1723 уруксат берген эреже туннелди дайын жолсуз калтырышы мүмкүн. Абалы бар NAT түзмөктөрү жоопторду кайра салыштыруу үчүн GRE ичиндеги чакыруу ID-ин түшүнүшү керек, көпчүлүгү муну кылбайт. PPTP спецификациясы башкаруу каналын жана GRE жүгүн өзүнчө бөлүктөр катары кармайт, сиздин тест планыңыз да ошондой болушу керек.

Ошол эле кармоодо 47 протоколун көзөмөлдөңүз, анан чыккан менен кайтканды салыштырыңыз:

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

Жоопсуз чыгып жаткан пакеттер, TCP 1723 соо турганда, бөгөттөлгөн GRE-нин классикалык белгиси. Керектөөчү маршрутизаторундагы PPTP өткөрүү ошол конкреттүү прошивканын өзгөчөлүгү, ошондуктан иштеген мейманкана тармагы кийинкиси жөнүндө эч нерсе далилдебейт. Эгер маршрутизатор өткөрүүнү сунуштабаса жана аны өзгөртө албасаңыз, көйгөй маршрут таблицасында эмес, протокол тандоодо.

Туннел бир пакетти жылдырарын далилдеңиз

GRE ага баштаганда, PPP сүйлөшүүсү кардар интерфейсине дарек берет. Болжолдобой, дайындоону окуңуз:

ip -4 addr show ppp0

Чекит-чекит байланышынын багыты катары көрсөтүлгөн шериктеш дарегине пинг жөнөтүңүз. Бул этаптагы жооп капталган жолдун башынан аягына чейин иштешин жана сервердин туннелдин ичинде жооп берүүсүн далилдейт. Эгер шериктеш жооп берип, ички хосттор бербесе, сырткы транспорт туура жана бузулуу ичке өткөн.

Муну каалаган бөлүнгөн маршрутту коштон мурун жасаңыз. Транспорт бузулган кезде жасалган маршрут өзгөртүү экинчи өзгөрмөнү жаратып, биринчисин жашырат.

Бөлүнгөн саясатты жазыңыз, DNS менен кошо

Бөлүнгөн маршруттоо — чечимдердин тизмеси, белги кутучасы эмес. Туннелден өтүшү керек болгон ар бир жеке префикске PPP интерфейси аркылуу маршрут керек, ал эми жергиликтүү калышы керек болгон ар бир префикс анда болбошу керек. Колдонмо ички тармагына анын жеке чечүүчүсүнө туура келген маршрутсуз маршрут түзүү — бузулган колдонмого окшош үзгүлтүк жаратуунун кеңири тараган жолу.

Ар бир категориядагы бир дарек үчүн ядро кабыл алган чечимди текшериңиз:

ip route get 10.20.5.10
ip route get 203.0.113.25

Биринчиси ppp0, экинчиси кадимки шлюзди аташы керек. Экеө тең бир интерфейсти атаса, саясат такыр бөлүнгөн эмес. DNS серверинин өз дарегин туннел тизмесине кошуңуз, болбосо ички хосттор үчүн ат чечүү жергиликтүү чечүүчү аркылуу чыгып, пайдалуу эч нерсе кайтарбайт.

Беш кадамда кайталануучу текшерүү

Катмарларды ирети менен иштетип, биринчи ийгиликсиз болгонунда токтоңуз: башкаруу каналы, GRE көрүнүшү, PPP шериктешинин жообу, бир ички дарек үчүн бөлүнгөн маршрут жана туннел аркылуу колдонмо суроосу. Ар бир кадамдын өз буйругу бар, ошондуктан бузулууну жаткырууга болот, табышмак эмес.

Linux кардары үчүн кыскача версия мындай көрүнөт:

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'то ошол эле ирет route print жана кардарда көрсөтүлгөн адаптер абалы менен колдонулат. PPTP — эскирген протокол, эгер сервер SSTP же IKEv2 сунуштаса, ар бир секирикте 47 протоколунун өтүшүнө көз каранды жолду жөндөөдөн көрө которулуу адатта убакытты пайдалуураак колдонуу. Эски профилди жаңы чыгарылышка көчүрүүнүн ордуна алмаштыруучунун сертификатын жана аутентификация келишимин текшериңиз.

Тектеш макалалар