Маршрутка негизделген IPsec маршруттоо таблицасына мурун саясат тандоочулар кабыл алган чечимди өткөрүп берет. Linux системасында муну мүмкүн кылган бөлүк — XFRM интерфейси: трафиги тандоочу аркылуу эмес, интерфейс идентификатору аркылуу IPsec абалы менен дал келтирилген виртуалдык түзмөк. Аны жасоо бир буйрукту талап кылат жана туннель бар-жогун эч нерсе далилдебейт. Түзмөк маршруттоо менен коопсуздук саясатынын ортосундагы илгич, жана бир нерсе корголгонго чейин ошол илгичтин эки тарабы тең конфигурацияланышы керек.

Түзмөк эмне жана эмне эмес

XFRM интерфейси — маршруттоо туткасы. Ага багытталган пакеттер ошол эле интерфейс идентификаторуна шилтеме кылган XFRM саясаттары менен дал келтирилет, ал эми саясат менен абал болсо, алар инкапсуляцияланат. Алар жок болсо интерфейс бар, эсептегичтер кыймылсыз, ал эми трафик пайдасыз жерге кетет.

Бул биринчи диагностикалык бөлүнүү. Түзмөккө кирген маршрут — маршруттоо фактысы, орнотулган абал — коопсуздук фактысы, ал эми түзмөктө өсүп жаткан эсептегич экөөнүн бири да эмес. Адамдар интерфейс UP көрсөткөндүктөн туннель көтөрүлдү дегенде, алар өзгө жуп жок виртуалдык түзмөктүн байланыш желектерин сүрөттөшөт. Желек түзмөк түзүлүп, күйгүзүлгөнүн билдирет, андан ашык эмес.

Дагы бир чек: интерфейс идентификатору — ысым эмес. Аталыштары окшош, идентификаторлору башка эки түзмөк абалды бөлүшпөйт, ал эми туура эмес идентификатор менен конфигурацияланган байланыш эч бир маршрут колдонбой турган абалды орнотот.

Туура тартипте бирөөнү куруңуз

Тышкы түзмөктөн жана демон конфигурациясына да киргизе турган сандан баштаңыз. Мисал тышкы интерфейс катары eth0-ди жана идентификатор катары 42-ни колдонот, бул даректерди өзүңүздүкүнө алмаштырышыңыз керек.

Түзмөктү көтөрүңүз, анан VPN конфигурациясына тийүүдөн мурун ядро жазган идентификаторду ырастаңыз:

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip link set xfrm0 up
ip -d link show xfrm0 | grep -o 'if_id [0-9]*'

Эми strongSwanда байланышты ошол эле идентификатор менен конфигурациялаңыз, анткени демон ага шилтеме кылган саясаттарды жана абалдарды орнотушу керек. Жергиликтүү жана алыскы трафик тандоочуларды багыттагыңыз келген диапазонго коюңуз, анан ошол диапазонду түзмөккө багыттаңыз. Демон конфигурациясы менен маршруттоо таблицасы идентификатор жана барар жерлер боюнча макулдашууга тийиш, жана бири экинчисин бербейт.

IKE жана ESPни туннель маршрутунан тышкары кармаңыз

XFRM түзмөгүнө багытталган демейки маршрут инкапсуляцияланган пакеттерди жана алар ташыган трафикти кармайт. Натыйжа — цикл: шлюз өзүнүн ESPсин ESP курушу керек болгон туннель аркылуу жөнөтүүгө аракет кылат.

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

Эмнени тандасаңыз да, тышкы пакеттин инкапсуляциясыз чыгарын текшериңиз. Тез текшерүү — туннель көтөрүлгөндөн кийин жуптун тышкы дарегине ping жөнөтүү; эгер бул интерфейс көтөрүлүп турганда ийгиликсиз болсо, жеткиликтүүлүктөн эмес, кармап калуудан шектенңиз. Ушундай эле логика IKE портуна тиешелүү, анткени демондун өз UDP трафиги ал орнотууга аракет кылып жаткан түзмөккө багытталбашы керек.

Шифрлоону күнөөлөөдөн мурун эсептегичтерди эки жерден текшериңиз

Интерфейс эсептегичтери жана абал эсептегичтери ар башка баскычтарды өлчөйт. Түзмөккө багытталган пакеттер эч бир абал дал келбесе да түзмөктү көбөйтөт, ал эми абал эсептегичтери реалдуу инкапсуляцияланган трафик үчүн гана кыймылдайт.

Экөөнү тең окуңуз, анан демондун бала ассоциацияга көз карашын окуңуз:

ip -s link show xfrm0
sudo ip xfrm state list | grep -E 'src|proto|mode'
sudo swanctl --list-sas

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

Маршруттарды ким орноторун чечиңиз

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

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

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

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