VPN quyi tarmog'iga port yo'naltirishda SNAT qo'llash kerakmi?
VPN quyi tarmog'iga port yo'naltirish so'rovni yetkazadi, lekin javobni yo'qotadi. Routerdagi bitta tanlangan manba-NAT qoidasi qaytish yo'lini tiklaydi.
Portni routerning o'z VPN mijozi orqasida turgan xostga yo'naltirish xuddi brandmauer muammosiga o'xshab muvaffaqiyatsiz bo'ladi, chunki so'rov aniq yetib keladi. Xizmat ulanishni qayd etadi, mijoz kutadi va hech narsa qaytmaydi. Manzil tarjimasi o'z ishini qildi; yo'qolgan qism — aynan qaytish paketi. Routerdagi bitta tanlangan manba-NAT qoidasi buni tuzatadi, eng qiziq qismi esa bu qoida qanchalik tor bo'lishi mumkinligini hal qilishdir.
Nega javob boshqa yo'l tutadi
Port yo'naltirish paketning qayerga ketishini qayta yozadi, qayerdan kelganini hech qachon emas. Internet mijozi manzili tunnel bo'ylab manba maydonida qoladi, shuning uchun uzoq xizmat notanish kishini ko'radi va o'zi biladigan yagona usulda javob beradi: o'zining standart shlyuzi orqali. Bu shlyuz qarshi tomondagi VPN kontsentratori bo'lib, uning ixtiyoriy ommaviy manzilga qaytish marshruti yo'q.
Tunnel interfeysidagi yozuvni kuzating va asimmetriya aniq: so'rov paketlari tashqariga, ichkariga hech narsa yo'q. Yo'naltirish zanjiri oqimga ruxsat berdi va tunnel uni olib o'tdi, demak tashlab yuborish uzoq xost allaqachon qaytish yo'lini tanlaganidan keyin sodir bo'ladi.
Ishonish uchun yetarlicha tor manba qoidasi
Routerni uzoq xost javob beradigan manbaga aylantiring. Bu tartibda WAN manzili 203.0.113.24, LAN 192.168.88.0/24, routerning tunnel manzili 172.20.5.1 va xizmat 172.20.5.40:8443 da javob beradi. Quyidagi qoida manzil tarjimasidan keyingi paketga mos keladi, shuning uchun ommaviy emas, tarjima qilingan manzilni nomlaydi. Unda hech narsa mijoz manziliga bog'liq emas va aynan shu masalaning mazmuni.
iptables -t nat -A POSTROUTING -o tun0 -p tcp -d 172.20.5.40 --dport 8443 -j SNAT --to-source 172.20.5.1O'sha satrdagi har bir moslik qayta yozishni bitta tunnelda bitta xizmat bilan cheklab turish uchun mavjud. Interfeys yoki portni olib tashlang, muammo talab qilganidan ko'proq trafikni qayta yozasiz va shu bilan maqsadli tuzatish keyingi odam uchun jumboqqa aylanadi.
Qachon umumiy maskarad halol tanlov bo'ladi
Agar router ko'p xizmatni bir xil VPN quyi tarmog'iga yo'naltirsa, har bir xizmat qoidasi hech kim saqlamaydigan ro'yxatga aylanadi. Tunnel interfeysidan chiqadigan hamma narsani maskaradlash sodda va oldindan aytib bo'ladigan, ammo buning narxi asl mijozni qarshi tomondagi har bir xostdan yashirishdir. U yerdagi jurnallar atributsiya uchun ishlatilmasa, shuni tanlang; ishlatilsa, tor qoidani saqlang.
Ikkala variant ham turlicha muvaffaqiyatsiz bo'ladi. Yetishmayotgan tor qoida bitta xizmatni buzadi; haddan tashqari ko'pga mos keladigan keng maskarad allaqachon ishlab turgan trafikni, routerning o'z chiquvchi ulanishlarini ham, jimgina qayta yozishi mumkin.
E'lon qilishdan oldin hisoblagichlarni tekshiring
Hech qachon mos kelmaydigan qoidalar paketlarni sanaganingizgacha ishlaydigan qoidalarga o'xshab ko'rinadi. Har qanday mijoz ulanmasidan oldin jadvalni bayt hisoblagichlari bilan qayta o'qing, so'ngra LAN bo'lmagan tarmoqdan ulanib yana o'qing. Taxminni faktga aylantiradigan narsa aynan ikki o'qishdir. Port yo'naltirishni faqat ikkinchisi qimirlaganidan keyin e'lon qiling.
iptables -t nat -L POSTROUTING -v -n --line-numbersHaqiqiy ulanishdan keyin manba qoidasida nol hisoblagich moslik noto'g'ri ekanini bildiradi, odatda manzil yoki port tarjimadan keyingi paketga mos kelmaydi. Hisoblagich oshsa ham mijoz hali ham vaqt tugashiga uchrasa, qaytish yo'li tuzatilgan va javobni boshqa narsa tashlamoqda, shuning uchun keyingi navbatda qarshi tomonning yo'naltirish siyosatiga qarang. LAN ichidan hairpin kirish alohida muammo va o'z qoidasini talab qiladi, buning kengroq versiyasini emas.