strongSwan trap rejimi: IPsec tunneli nega trafikni kutadi
Bo'sh on-demand IPsec tunneli paket uning trap siyosatiga mos kelmaguncha CHILD SA ko'rsatmaydi. Holatni o'qing, triggerni tekshiring va start qachon mos kelishini biling.
Holat chiqishida CHILD SA ko'rinmaydi, tunnel o'lik ko'rinadi, keyin uzoq subnetga ping uni ko'taradi. On-demand IPsec sozlamasida bu ketma-ketlik dizayn, nosozlik emas. Trap siyosati selektorni o'rnatadi va kutadi, va unga mos keladigan birinchi paket IKE va CHILD SA muzokaralarini boshlaydi.
Chalkashlikning bir qismi lug'at: «up» ikki xil holat uchun ishlatiladi. Konfiguratsiya yuklangan va kernel siyosati mavjud, lekin ma'lumotlar assotsiatsiyasi yo'q. Faqat faol SA larni sanaydigan monitor hech kim unga trafik yubormaguncha sog'lom saytni o'chirilgan deb xabar qiladi.
Bo'sh on-demand tunnelda ko'rsatish uchun CHILD SA yo'q
Trap yozuvi o'z-o'zidan hech narsani autentifikatsiya qilmaydi. U yadrodan tanlangan trafik uchun siyosat saqlashni va paketga shu siyosat kerak bo'lganda acquisition ko'tarishni so'raydi. Demon acquisition ni oladi, child ta'rifi bilan moslaydi va shu yerdan muzokara qiladi. Shu paytgacha ko'rsatish uchun IKE SA ham yo'q, shuning uchun ikkala ro'yxat bir vaqtda bo'sh bo'lishi mumkin.
Aynan shu tartib loglarni o'qishli qiladi. Avval acquisition keladi, keyin IKE_SA_INIT va IKE_AUTH, keyin CHILD SA. Agar log acquisition dan keyin darhol tugasa, trigger ishlagan. Muzokara muvaffaqiyatsiz bo'ldi, keyingi savol esa trap haqida emas, hisob ma'lumotlari, takliflar yoki yetib borish haqida.
Linux yadrosi backend bilan har qanday SA paydo bo'lishidan oldin siyosatni ko'rishingiz mumkin. Ishga tushiring ip xfrm policy va yo'nalishi out hamda ulanishga ishora qiluvchi shabloni bor selektorni qidiring. Shu yozuv on-demand holat, va uning mavjudligi birinchi tasdiqlanishi kerak bo'lgan narsa.
start_action biror narsa kutadimi yoki yo'qmi — shuni hal qiladi
Har bir child swanctl.conf faylida start_action. start konfiguratsiya yuklanganda boshlanadi, trap siyosatni o'rnatadi va kutadi, none esa boshlashni boshqa narsaga qoldiradi. Faqat trap yuqorida tasvirlangan «ping va u ko'tariladi» xatti-harakatini yaratadi.
children {
office-lan {
local_ts = 192.168.50.0/24
remote_ts = 192.168.70.0/24
start_action = trap
}
}
Ikki trafik selektori nima qiziqarli deb hisoblanishini belgilaydi, va bu prefikslardan tashqaridagi hostdan kelgan paket trap ni ishga tushirmaydi; u odatdagidek marshrutlanadi. Trigggerni yanada ishtiyoqli qilish uchun selektorlarni kengaytirish tunnel himoya qilaman deb da'vo qiladigan qamrovni ham kengaytiradi, shuning uchun ularni haqiqatan shifrlamoqchi bo'lgan trafikdan oling.
Bu yerda swanctl.conf ma'lumotnomasi qabul qilinadigan qiymatlarni, shuningdek SA mavjud bo'lgandan keyin nima bo'lishini tartibga soluvchi alohida close va DPD amallarini sanab o'tadi.
Trigger umuman ishga tushganini aniqlang
Bu bilan boshlang: swanctl --list-conns va child ko'zda tutilgan amal bilan yuklanganini tasdiqlang. Keyin local_ts ichidagi hostdan remote_ts ichidagi manzilga bitta paket yuboring va swanctl --list-sas kuzating. Agar chiqish o'zgarmasa, hech qanday acquisition demonga yetib bormagan.
Jim trap ning ikkita odatiy sababi: paket siyosatga yetishdan oldin source-NAT bo'lgan va endi local_ts ga mos kelmaydi, yoki ulanish sintaksis yoki hisob ma'lumotlari xatosi tufayli hech qachon yuklanmagan. Selektörlarga tegishdan oldin swanctl --load-all ni qayta ishga tushiring va chiqishini o'qing. Yuklanmagan ulanish hech qanday siyosat o'rnatmaydi, shuning uchun trafik ishga tushiradigan narsa yo'q.
Yo'nalish ham muhim: chiqish trafigi uchun o'rnatilgan trap kirish paketida boshlanmaydi. Agar uzoq tomon tunnelni ko'tarishi kerak bo'lsa, unga o'z trap i kerak, yoki bu tomonga start.
Birinchi paketni kutish har doim ham to'g'ri almashinuv emas
Interaktiv sessiyalar sozlash narxini sezadi. Birinchi so'rov IKE almashinuvi va CHILD muzokaralari uchun to'laydi, qisqa muddatli mijoz esa SA paydo bo'lishidan oldin taslim bo'lishi mumkin. Proaktiv start shu birinchi paket kechikishini olib tashlaydi. Lekin hech qachon kelmasligi mumkin bo'lgan trafik uchun tunnelni ko'tarib turadi.
Uch fakt tanlovni hal qiladi: yo'l qanchalik tez-tez ishlatiladi, birinchi so'rovning muddati qanchalik qattiq va yuklashda peer yetib borishimcha. Tasodifiy to'plam trafik va yuklashda oflayn bo'lishi mumkin peer ikkalasi ham trap ni qo'llab-quvvatlaydi. Kechikishga sezgir mijoz va har doim yetib boriladigan peer start ni qo'llab-quvvatlaydi. Ikkala tomon ham boshlay olsa, ikki marta muzokara bo'lmasligi uchun trigger kimga tegishli ekanini kelishib oling.
O'rnatilgan siyosat ham oqib chiqishdan himoya kafolati emas. Agar talab fail-closed bo'lsa, xavfsizlik devori SA siz trafikni tashlashi kerak, va bu qoida child ta'rifidan tashqarida yashaydi.
Keyingi bahsni tugatadigan uch qatorni yozib qo'ying
Selektorlar, ishga tushirish amali va siyosatning SA siz mavjudligini ko'rsatadigan buyruq chiqishini yozing. O'sha uch qator keyingi safar kimdir tunnelni o'chirilgan deb xabar qilganda «on-demand va bo'sh» ni «yuklanmaydi» dan ajratadi. Ularni qayd etish bir daqiqa oladi. Ular bo'lmasa o'sha tekshiruv noldan boshlanadi.
Haqiqatan selektor ichidagi hostdan sinab ko'ring. Routerning o'zidan qilingan ping ko'pincha boshqa yo'l bilan boradi va uning orqasidagi subnetni himoya qiluvchi siyosat haqida hech narsani isbotlamaydi.