Linux IPsec шлюзинде TCP MSS жөндөө: ал эмнени оңдойт
Кичине суроолор иштейт, чоң жооптор токтоп калат. Ички TCP жолундагы MSS эрежеси туура чечимби жана ал кайда болушу керек экенин текшериңиз.
Ping иштейт, SSH иштейт, кичине барак жүктөлөт, анан ар бир чоң жооп мөөнөтү бүткөнгө чейин токтоп калат. Классикалык үлгү жеткиликтүүлүккө эмес, пакеттин өлчөмүнө көрсөтөт: жол кол алышууну жана алгачкы бир нече килобайтты ташыйт, анан толук өлчөмдүү сегмент жоголот. Linux IPsec шлюзинде TCP MSS эрежеси көбүнчө чечим болот, бирок ал эмнени өзгөртөрүн жана ал тийген пакеттин чындыгында кайда экенин түшүнсөңүз гана. Төмөнкү тартип пакетти симптомдон эреженин жайгашуусуна чейин ээрчийт, ошондуктан түшүндүрмө дал келбей калганда токтой аласыз.
MSS-ке ишарат кылган симптом
TCP кол алышууда сегменттин максималдуу өлчөмү боюнча сүйлөшөт. Эгер бул маани жол инкапсуляциядан кийин ташый алгандан чоң болсо, жөнөтүүчү эч качан жетпеген сегменттерди чыгарууну улантат, ал эми байланыш биринчи айлампадан кийин токтоп калат. Кичине жооптор батат; чоңдору батпайт.
ICMP кайтарым байланышы жолдун MTU-сун аныктоо аркылуу байланышты куткара алат, ал эми бул билдирүүлөрдү таштаган firewall токтоп калууну тынч кара чуңкурга айландырат. Ошондуктан ошол эле туннель бир колдонмодо иштеп, экинчисинде конфигурацияда көзгө көрүнгөн айырмасыз ишке ашпайт.
TCPMSS эрежеси эмне кылат жана эмне кылбайт
Эреже өтүп бара жаткан TCP кол алышуу пакеттериндеги MSS параметрин кайра жазат. Ал туннелдин интерфейсинин MTU-сун белгилебейт, IPsec саясатын өзгөртпөйт, жана азыркы ядролордо мурунтан кичине болгон маанини көтөрүүнүн ордуна жарыяланган маанини гана төмөндөтөт. Ал ошондой эле TCP-ге гана тиет; UDP жүктөрү, DNS жүрүм-туруму жана сүйлөшүлгөн трафик селекторлору анын жетүү аймагынан тышкары.
Өзгөрүү кол алышуу учурунда болгондуктан, эрежеден мурун түзүлгөн учурдагы байланыш өзүнүн эски маанисин сактайт. Жаңы байланыш менен сынап көрүңүз жана өзгөрүүдөн кийинки биринчи аракет сизге бир нерсе айта турган аракет болот деп күтүңүз. Эрежедеги эч нерсе мурунтан ачык байланышка жетпейт. Ошондуктан окуянын ортосунда колдонулган оңдоо эч нерсе кылбагандай көрүнүшү мүмкүн.
Эрежени ички TCP жолуна коюңуз
Саясатка негизделген Linux шлюзинде firewall аны көргөндө жөнөтүлгөн пакет дагы эле кадимки TCP сыяктуу көрүнөт. IPsec саясаты пакеттин корголорун чечет; firewall ички агым үчүн ESP аталышын көрбөйт, ошондуктан бул жерде ESP менен дал келтирүү такыр башка пакетти сүрөттөйт. Ушул дал келбестик айрым эрежелердин туура көрүнүп, эч качан дал келбешинин себеби.
iptables терминдеринде эреже өткөрүү жолундагы mangle таблицасына таандык, кол алышуу пакеттери менен чектелген: iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1270. Сан мисал, универсалдуу константа эмес; аны инкапсуляция чыгымынан жана жолдун реалдуу MTU-сунан алыңыз. nftables эквиваленти максималдуу сегмент өлчөмүн forward же postrouting чынжырында белгилейт.
IKE жана ESP үчүн сырткы угуу эрежелерин ички өткөрүү эрежелеринен өзүнчө кармаңыз. Колдонмонун агымын да, сырткы протоколду да уруксат кылууга аракет кылган бир эреже аягында экөөнүн эч бирине ишенимдүү дал келбейт.
Firewall ээсин жана NAT тартибин сыйлаңыз
Эгер UFW хосттун firewall-уна ээлик кылса, mangle жана өткөрүү өзгөртүүлөрүн кийинки кайра жүктөөдө жоголгон буйрукту теруунун ордуна анын колдогон туруктуу конфигурациясы аркылуу кошуңуз. Туура эмес таблицага же акыркы эрежеден кийин киргизилген эреженин таасири жок, ал эми жигердүү таблица муну сизден жашырат.
Булакты которуу ушул чечим менен көп аракеттешкен өзүнчө чечим. Жалпы masquerade эрежесинин алдына коюлган эскертүү корголгон трафиктин өз саясаты талап кылган булагын жоготушун алдын алат; ал өлчөм маселесин оңдобойт, ал эми өлчөм эрежеси которуу маселесин оңдобойт.
Тар текшериңиз, анан токтоңуз
Ишке ашпаган кызматка жаңы байланыш ачыңыз жана колдонмону да, эреженин эсептегичтерин да байкаңыз. Эгер токтоп калуу жоголсо, ошол инкапсуляция менен ошол TCP жолу жөнүндө далилиңиз бар. Сизде ар бир VPN протоколу дал келет, ар бир UDP колдонмосу оңдолду же белгилүү бир жогорку агымдагы кызмат баштапкы себеп болду деген далил жок.
Саясат уруксат берген жерде ICMP өлчөм кайтарым байланышы иштесин, ал эми сырткы IPsec жолу ички маршрут менен көрсөтүлбөгөндө маршрут MTU-суна негизделген автоматтык чектөөгө этият мамиле кылыңыз. Корутунду канчалык тар болсо, кийинки окуяны диагностикалоо ошончолук жеңил.