Бирөө 1723-нү багыттайт, кардар серверге жетет, аутентификация башталат, анан баары катасыз токтойт. Табигый тыянак — туура эмес сырсөз, ошондуктан сырсөз үч жолу кайра терүүлөт. Багыттоо жакшы болчу жана эсептик маалыматтар жакшы болчу. Сынган нерсе — багыттоо эч качан камтыбаган экинчи протокол жана ага жардам берүүнү тынч токтоткон ядронун демейки мааниси.

Багыттоо эч качан көйгөй болгон эмес

Портту багыттоо эрежеси TCP же UDP трафигин сүрөттөйт. Ал сессиянын ортосунда башка IP протоколуна өткөн жүктү сүрөттөй албайт, ал эми PPTP дал ушундай кылат.

Ошондуктан байланыш илингенге чейин соо көрүнөт. Порт эрежеси башкара алган бөлүк ийгиликтүү болду, ал эми башкара албаган бөлүк — дал ошол ийгиликсиз бөлүк.

Башкаруу үчүн TCP, маалымат үчүн GRE

Чалуу TCP 1723 аркылуу сүйлөшүлөт. Ал көтөрүлгөндөн кийин жүк GRE-ге, IP 47 протоколуна өтөт, ал порт номерлерин такыр алып жүрбөйт. Портторго таянган эреженин салыштырар эч нерсеси жок.

GRE алып жүргөн нерсе — анын аталышындагы чалуу идентификатору, жана NAT которуучусу ал талааны эки багытта тең ырааттуу кайра жазышы керек, болбосо сессиянын эки жарымы бири-бири менен макулдашууну токтотот. Бир багыт кайра жазылып, экинчиси жазылбаса, аутентификациядан өтүп, анан ар бир маалымат пакетин таштаган сессия пайда болот. Симптомдун формасы дал ушундай: ийгилик, анан тынчтык.

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

Төрт модуль жана аларды өчүргөн sysctl

Эки модуль кадрлоону иштетет, nf_conntrack_proto_gre жана nf_nat_proto_gre. Дагы экөө чалуу идентификаторун иштетет, nf_conntrack_pptp жана nf_nat_pptp. Акыркысын жүктөө калгандарын көз карандылыктар аркылуу тартат, ошондуктан модулдардын тизмеси төртөөнү тең көрсөтүшү керек.

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

Алардын жүктөлүшү эми жетишсиз. Linux 4.7ден бери net.netfilter.nf_conntrack_helper sysctl демейки боюнча 0, бул жаңы агымдар үчүн жардамчыны автоматтык дайындоону өчүрөт. Маршрутизатордо бардык модулдар болушу мүмкүн жана баары бир эч нерсе которулбайт. Модулдардын тизмесин кайра карардан мурун натыйжалуу маанини текшериңиз.

Же автоматтык дайындоону глобалдуу түрдө кайра күйгүзүңүз, же жардамчыны ага муктаж агымдарга бекитип, калганын тынч калтырыңыз:

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

Экинчи вариант артык. Ал жүрүм-турумду бүт маршрутизатордо автоматтык дайындоону кайра күйгүзүүнүн ордуна PPTP трафиги менен чектейт.

Порту жок протоколду ачуу

1723-кө жол берген брандмауэр эрежеси 47 протоколу жөнүндө эч нерсе айтпайт. firewalld-де протоколго кардарга караган аймакта жол бериңиз. Жөнөкөй iptables-те кирүү чынжырында gre протоколун кабыл алыңыз.

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

Туташкандан кийин өлчөм чеги

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

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

Жолду оңдоо колдонуучуну иштетет, бирок PPTPни жакшы тандоого айландырбайт. MS-CHAPv2 жана RC4 байыртан эле эскирген, ошондуктан модулдарды жүктөөнү убактылуу оңдоо катары карап, колдоого алынган протоколго өтүүнү пландаңыз.

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