Ikki VPN mijozi ikki xil ochiq IPv4 manzili orqali chiqishi mumkin va buni qiladigan qoida ko'pchilik kutganidan qisqaroq. Uni ishlatadigan narsa iptables sintaksisi emas, balki paket chiqish zanjiriga yetgandagi holati: u yerdagi manba manzili hali ham mijozlarni ajratishi kerak. Agar avvalgi masquerade ikkalasini ham bitta manzilga birlashtirgan bo'lsa, hech bir mijoz bo'yicha qoida bu farqni qaytara olmaydi. Avval shu masalani hal qiling, keyin tarjimani yozing.

Qaysi shaxs shlyuzgacha yetib boradi

Qoida paketning manba manziliga mos keladi, VPN foydalanuvchi nomiga va mijoz ilovasi ko'rsatadigan nomga emas. Paketni yo'lda avvalroq tarjima qiladigan hamma narsa qoidangiz hali nimani ko'rishi mumkinligini belgilaydi. nat jadvalini tartib bilan ishga tushiring va manba hali har bir mijoz uchun alohida bo'lgan nuqtani toping.

iptables -t nat -S POSTROUTING

O'sha ro'yxatni yuqoridan o'qing. Yuqoriga yaqin masquerade qoidasi har bir mos oqimning manbasini qayta yozadi va undan keyin qo'yilgan mijoz bo'yicha yozuvlar endi mavjud bo'lmagan manzilga mos keladi. Ikki LAN qurilmasi bitta tunnelni bo'lishib, bitta ichki manzil sifatida kelganda, dizayn tarmoq devoridan oldin o'zgarishi kerak: ularning manba diapazonlarini alohida saqlang yoki har biriga o'z ichki manzilini bering.

Ichki manzilni taqsimlashni autentifikatsiya qilingan mijozga bog'lang. O'sha manzilni boshqa qurilmaga berish chiqish siyosatini ham beradi va manba tarjimasi o'zi shaxs isboti emas.

Tarjima manzilni o'ylab topa olmaydi

Har bir ochiq manzil shu chiqish nuqtasiga tayinlanishi yoki shu yerga yo'naltirilishi kerak, javoblar esa qaytish yo'lini topishi kerak. Hech kim orqaga yo'naltirmaydigan manzildan trafik yuboradigan qoida uzoq uchida tashlanadi yoki hech qachon so'ramagan xostga javob beriladi. Bulut provayderining nusxasi odatda paket chiqishidan oldin ochiq manzilini shaxsiy interfeys manziliga tarjima qilgan bo'ladi, shuning uchun SNAT manbasi provayder qabul qiladigan manzil bo'lishi kerak, konsol ko'rsatadigan qiymat emas. Provayderning manzil modelini o'qing va ochiq qiymatni har bir paketga ko'chirish o'rniga unga amal qiling.

Amalda bu tarmoq devoriga tegishdan oldin provayder konsolida yo'naltirilgan prefiksni tekshirishni va moslashtirish birga-bir bo'lganda shaxsiy interfeys manzilini tarjima manbasi sifatida ishlatishni anglatadi. Quyidagi misollardagi manzillar hujjat diapazonlaridan olingan, shuning uchun birinchi almashtiriladigan narsa manzil matnining o'zi.

Umumiy masquerade oldiga qo'shing

Biror narsa qo'shishdan oldin chiqish interfeysi va joriy zanjirni tasdiqlang. Birinchisi qoida qaysi paketlarga mos kelishini belgilaydi, ikkinchisi uning oldida nima turganini ko'rsatadi.

ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers

Birinchi buyruq internetga ketayotgan paket haqiqatan qaysi interfeysdan chiqishini nomlaydi. Ikkinchisi zanjirni satr raqamlari bilan chop etadi. Umumiy masquerade yozuvi ustida qolish kerak bo'lgan satrdir.

iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78

Yuqoridagi ikki qoida har biri bitta ichki manzilga mos keladi, moslikni chiqish interfeysi bilan cheklaydi va manbani aniq belgilaydi. Qo'shish o'rniga kiriting: 1-o'rinda ular masquerade satridan oldin baholanadi. Ikkisi orasidagi tartib muhim emas, chunki manbalari farq qiladi. ens3 ni route buyrug'i xabar bergan narsa bilan almashtiring va boshqa tarmoq devori menejerlarini o'sha ilgaklardan uzoq tuting, chunki ikki asbobning bitta jadval yozishi to'g'ri qoidaning ta'sirsiz qolishining odatiy sababidir.

Manbani yangi oqim bilan isbotlang

Stateful NAT oqim boshlanganda tarjimani bog'laydi va keyingi paketlar uchun uni qayta ishlatadi, shuning uchun o'zgarishdan oldin ochilgan sessiya o'zgarishdan keyin ham eski manbasini saqlaydi. Qoidani faqat yangi boshlangan ulanish isbotlaydi.

conntrack -L -s 10.88.4.20 -p tcp --dport 443

O'sha yozuvning javob yo'nalishini o'qing: uning manzili uzoq uch manba sifatida ko'radigan manzildir. Uni mo'ljallangan ochiq manzil bilan solishtiring va eski manzilni olib yurgan yozuvni buzilgan qoida emas, juda erta boshlangan oqimning isboti deb qabul qiling. Mijozdan yangi ulanish ochishni so'rang, keyin so'rovni takrorlang. Butun kuzatuv jadvalini tozalash sinovni majburlash uchun shlyuzdagi har bir boshqa sessiyani to'xtatadi.

Tarjima hali ham marshrutni tanlamaydi, oqimni filtrdan o'tkazmaydi va kiruvchi xizmatni e'lon qilmaydi. Noto'g'ri marshrut va yetishmayotgan ruxsat qoidasi mukammal SNAT qoidasidan keyin ham muvaffaqiyatsizlikda davom etadi. IPv6 va har qanday ikkinchi darajali chiqish yo'lini ham tekshiring, keyin keyingi o'zgarish qoida matnidan emas, moslashtirishdan boshlanishi uchun ichki-ochiq juftlarni tarmoq devori hujjatlariga yozib qo'ying.

O'xshash maqolalar