Xost IPsec sherigiga yetadi, Docker konteyneri yetmaydi
Ko‘prik konteyneri boshqa manbadan foydalanadi va yo‘naltirish orqali kiradi, shuning uchun xost tunnel kam narsani isbotlaydi. Docker’ni qayta ishga tushirishdan oldin selektorlarni tekshiring.
Linux mashinasidan uzoq xostga ping yuborasiz va u javob beradi, demak tunnel ishlayapti. Yoningizdagi konteyner hali ham vaqt tugashiga uchraydi va tabiiy keyingi qadam Docker’ni qayta ishga tushirish. Ko‘prik tarmog‘idagi konteyner odatda boshqa manba manzili bilan boshlanadi va xostga xost ilovasining o‘z chiqish yo‘li orqali emas, yo‘naltirish orqali kiradi, shuning uchun muvaffaqiyatli sinov boshqa paketni o‘lchadi. Siyosatga asoslangan strongSwan tunnel uchun yo‘naltirilgan paket o‘rnatilgan IPsec siyosatiga mos kelmasa, uzoq subnetga oddiy marshrut yetarli emas.
Quyidagi yo‘l-yo‘riq bitta manzilni ikki manba orqali kuzatadi va biror narsani o‘zgartirishdan oldin holatni o‘qiydi.
Bitta manzil va ikkita manbadan boshlang
Avval IP bo‘yicha ma’lum xizmatni tanlang, shunda bir vaqtda DNS bilan shug‘ullanmaysiz. Uch faktni yozib oling: konteynerning ko‘prik prefiksi, ishlagan xost so‘rovining manba manzili va tunnel uchun kelishilgan mahalliy va uzoq trafik selektorlari. Bu uch raqam bu belgining deyarli har bir holatini tushuntiradi.
Keyin muvaffaqiyatsiz so‘rovni konteyner ichidan takrorlang va u haqiqatda ishlatadigan manbani ushlang. Agar bu manzil mahalliy selektor bilan qamrab olinmagan bo‘lsa, natijani allaqachon bilasiz va konteynerni qayta yaratish buni o‘zgartirmaydi.
Docker’ga tegishdan oldin siyosatlarni o‘qing
Faqat o‘qish uchun xost tekshiruvlari marshrutlash qarorlarini, siyosat ma’lumotlar bazasini va ular orasidan tanlaydigan qoidalarni qamrab oladi:
ip rule show
ip route show table all
ip xfrm policySiyosatlar ro‘yxati selektorlar va yo‘nalishni kalit materialiga to‘la IPsec holat dumpisiz ko‘rsatadi, shuning uchun uni tikketga yopishtirish xavfsiz. Xost manzilini qamrab oladigan, lekin ko‘prik prefiksini qamrab olmaydigan mahalliy selektorni qidiring. Qoplamani ham tekshiring: uzoq manzilni mahalliy deb hisoblaydigan konteyner marshruti kutilgan yo‘naltirilgan paketni hech qachon hosil qilmaydi va tunnel ayblanadi. Bu ro‘yxatni konteynerning manba manzili yonida saqlang, chunki ikkisi birgalikda butun taqqoslashdir.
Agar konteyner prefiksi yo‘q bo‘lsa, to‘xtang va boshqa narsani tahrirlashdan oldin arxitekturani hal qiling. Yo‘l-yo‘riqning qolgan qismi qaysi manba manzili tarmoqda ko‘rinishi kerakligi haqida kelishganingizni nazarda tutadi.
Filtrlash va tarjimani tartib bilan tekshiring
Docker’ning Linux ko‘prik xavfsizlik devori yo‘naltirishni IPsec’dan mustaqil bloklashi mumkin. iptables backend bilan FORWARD yo‘lini va DOCKER-USER qarorlarini tekshiring; oldingi hukmdan keyin qo‘shilgan qoida hech qachon ishlamasligi mumkinligini yodda tuting. nftables backend boshqacha integratsiyalanadi, shuning uchun faqat iptables misoli shunday nomlagani uchun DOCKER-USER zanjirini yaratmang; daemoningiz aslida qaysi backenddan foydalanishini tekshiring.
Keyin manba tarjimasini tekshiring. Keng MASQUERADE qoidasi avval IPsec selektoriga mos kelgan paketni endi mos kelmaydigan paketga aylantirishi mumkin va nosozlik aynan marshrut muammosiga o‘xshaydi. strongSwan yo‘naltirish qo‘llanmasi allaqachon siyosatga mos keladigan trafik uchun bunday tarjimadan oldin zarur bo‘lgan NAT istisnosini hujjatlashtiradi.
Bu istisno tunnelga qamrab olinmagan konteyner manbasini qo‘shish usuli emas. U faqat dizaynga allaqachon mos keladigan trafikni himoya qiladi, shuning uchun avval selektor va qaytish yo‘li savollarini hal qiling, keyin NAT va filtrlashni javobga moslang. Agar istisnoni kengaytira boshlasangiz, o‘zgartirilishi kerak bo‘lgan narsa selektor, NAT qoidasi emas.
Keyin marshrutlangan yoki tarjima qilinganini tanlang
Marshrutlangan konteyner subneti ikkala sherikning ham bu subnetni qabul qilishini va unga uzoq qaytish yo‘li bo‘lishini talab qiladi, bu odatda ikkala uchida selektorni o‘zgartirishni va uzoq tomon egasi bilan suhbatni anglatadi. Ataylab tarjima qilingan dizayn esa tegishli qidiruv bosqichida siyosat qamrab olgan manzilni taqdim etishi kerak, bu odatda standart MASQUERADE o‘rniga tor va hujjatlashtirilgan qoidani anglatadi.
Ikkala tartib ham xostning ishlaydigan tunnelidan avtomatik kelib chiqmaydi va ular orasidan tanlash egasi bor dizayn qaroridir. Qaysi birini tanlaganingizni yozing, aks holda keyingi muhandis buni xavfsizlik devori hisoblagichlaridan qayta chiqaradi.
Gibrid nosozlikka ham e’tibor bering: qoidalar to‘plamining yarmi tarjima qilingan, yarmi yo‘q; bu maqsad portiga bog‘liq va tarmoqdagi hech narsaga bog‘liq bo‘lmagan uzilishli muvaffaqiyat keltiradi.
Qayta ishga tushirish bilan emas, yangi ulanish bilan tekshiring
Tor xavfsizlik devori hisoblagichlari va uzoq qabul qilgichni kuzatib, yangi ilova ulanishidan foydalaning, shunda har bir kuzatuvning manbasi bo‘ladi. Docker’ni qayta ishga tushirish qoidalar holatini o‘zgartirishi mumkin va ish yuklarini ham buzadi, bu esa olishni xohlagan toza signalni sizdan olib qo‘yadi.
Doimiy natija ko‘rsatishingiz mumkin bo‘lgan to‘rtta bayonotdir: konteyner manbasi, mos keladigan himoyalangan yo‘l, ruxsat etilgan yo‘naltirish va qaytib keladigan javob. To‘rttasi ham bajarilganda, konteyner sherikka xost bilan bir xil sababdan yetadi.