strongSwan trap режимі: IPsec туннелі трафикті неге күтеді
Сұраныс бойынша белсенді емес IPsec туннелі пакет оның trap саясатына сәйкес келмейінше CHILD SA көрсетпейді. Күйді оқыңыз, триггерді тексеріңіз және start қашан сай екенін біліңіз.
Күй шығысында CHILD SA пайда болмайды, туннель өлі көрінеді, содан кейін алыс ішкі желіге ping оны көтереді. Сұраныс бойынша IPsec баптауында бұл реттілік — дизайн, ақау емес. trap саясаты селекторды орнатып күтеді, және оған сәйкес келетін бірінші пакет IKE мен CHILD SA келіссөзін бастайды.
Шатасудың бір бөлігі — сөздік: «up» екі түрлі күй үшін қолданылады. Конфигурация жүктелді және ядро саясаты бар, ал деректер ассоциациясы жоқ. Тек белсенді SA-ларды санайтын монитор сау сайтты ешкім оған трафик жібермейінше өшірулі деп хабарлайды.
Белсенді емес сұраныс бойынша туннельде көрсететін CHILD SA жоқ
trap жазбасы өздігінен ештеңені аутентификацияламайды. Ол ядродан таңдалған трафик үшін саясат ұстауды және пакетке сол саясат қажет болғанда acquisition көтеруді сұрайды. Демон acquisition-ды қабылдап, оны child анықтамасымен сәйкестендіреді және сол жерден келіссөз жүргізеді. Сол сәтке дейін көрсететін IKE SA да жоқ, сондықтан екі тізім бір уақытта бос болуы мүмкін.
Дәл осы реттілік логтарды оқылатын етеді. Алдымен acquisition келеді, содан кейін IKE_SA_INIT мен IKE_AUTH, содан соң CHILD SA. Егер лог acquisition-нан кейін бірден бітсе, триггер жұмыс істеді. Келіссөз сәтсіз аяқталды, ал келесі сұрақ trap туралы емес, тіркелгі деректері, ұсыныстар немесе қолжетімділік туралы.
Linux ядросының backend-імен кез келген SA пайда болмай тұрып саясатты көре аласыз. Мынаны іске қосыңыз: ip xfrm policy және бағыты out, қосылымға нұсқайтын үлгісі бар селекторды іздеңіз. Сол жазба — сұраныс бойынша күй, және оның болуы бірінші расталатын нәрсе.
start_action бірдеңе күте ме, жоқ па — соны шешеді
Әрбір child swanctl.conf файлында start_action. start конфигурация жүктелгенде басталады, trap саясатты орнатып күтеді, ал none бастауды басқа нәрсеге қалдырады. Тек trap жоғарыда сипатталған «ping — және ол көтеріледі» мінез-құлқын тудырады.
children {
office-lan {
local_ts = 192.168.50.0/24
remote_ts = 192.168.70.0/24
start_action = trap
}
}
Екі трафик селекторы ненің қызықты саналатынын анықтайды, және сол префикстерден тыс хосттан келген пакет trap-ты іске қоспайды; ол әдеттегідей маршрутталады. Триггерді одан әрі ынталандыру үшін селекторларды кеңейту туннель қорғаймын деп мәлімдейтін ауқымды да кеңейтеді, сондықтан оларды шынымен шифрлағыңыз келетін трафиктен алыңыз.
Мұнда swanctl.conf анықтамалығы қабылданатын мәндерді, сондай-ақ SA бар болғаннан кейін не болатынын реттейтін жеке close және DPD әрекеттерін тізбектейді.
Триггер мүлдем іске қосылды ма, соны анықтаңыз
Мынадан бастаңыз: swanctl --list-conns және child көздеген әрекетіңізбен жүктелгенін растаңыз. Содан кейін local_ts ішіндегі хосттан remote_ts ішіндегі мекенжайға бір пакет жіберіп, swanctl --list-sas бақылаңыз. Егер шығыс өзгермесе, демонға ешбір acquisition жетпеді.
Үнсіз trap-тың екі әдеттегі себебі: пакет саясатқа жетпей тұрып source-NAT-тан өткен және енді local_ts-ға сәйкес келмейді, немесе байланыс синтаксистік немесе тіркелгі деректері қатесінен жүктелмеген. Селекторларды ұстамас бұрын swanctl --load-all-ды қайта іске қосып, шығысын оқыңыз. Жүктелмеген байланыс ешбір саясат орнатпайды, сондықтан трафиктің іске қосатын ештеңесі жоқ.
Бағыт та маңызды: шығыс трафик үшін орнатылған trap кіріс пакетінде басталмайды. Егер алыс жақ туннельді көтеруі керек болса, оған өз trap-ы қажет, немесе бұл жаққа start.
Бірінші пакетті күту әрдайым дұрыс айырбас емес
Интерактивті сессиялар баптау құнын сезеді. Бірінші сұраныс IKE алмасуы мен CHILD келіссөзінің құнын төлейді, ал қысқа мерзімді клиент SA пайда болмай тұрып бас тартуы мүмкін. Проактивті start сол бірінші пакет кідірісін жояды. Бірақ ешқашан келмейтін трафик үшін туннельді көтеріп ұстайды.
Үш факт таңдауды шешеді: жол қаншалықты жиі қолданылады, бірінші сұраныстың мерзімі қаншалықты тар, және жүктелу кезінде серіктес қолжетімді ме. Кездейсоқ топтамалы трафик пен жүктелу кезінде офлайн болуы мүмкін серіктес — екеуі де trap-ды қолдайды. Кідіріске сезімтал клиент пен әрдайым қолжетімді серіктес start-ды қолдайды. Екі жақ та бастай алса, қосарланған келіссөз болмас үшін триггер кімдікі екенін келісіңіз.
Орнатылған саясат та ағып кетуден қорғайтын кепілдік емес. Егер талап fail-closed болса, firewall SA-сыз трафикті тастауы керек, және бұл ереже child анықтамасынан тыс өмір сүреді.
Келесі дауды аяқтайтын үш жолды жазып алыңыз
Селекторларды, іске қосу әрекетін және саясаттың SA-сыз бар екенін көрсететін команда шығысын жазыңыз. Сол үш жол келесі жолы біреу туннельді өшірулі деп хабарлағанда «сұраныс бойынша және белсенді емес» күйін «жүктелмейді» күйінен ажыратады. Оларды тіркеу бір минут алады. Оларсыз сол тексеру нөлден басталады.
Селектордың шынымен ішіндегі хосттан сынаңыз. Роутердің өзінен жасалған ping жиі басқа жолмен жүреді және оның артындағы ішкі желіні қорғайтын саясат туралы ештеңе дәлелдемейді.