Yana bir NAT qo’shishdan oldin xususiy LANlar o’rtasida marshrutlash qiling
Bir-biriga ustma-ust tushgan manzil maydoni, yo’qolgan qaytish marshruti yoki ishonchsiz tranzit marshrutlash, NAT va tunnel o’rtasidagi tanlovni hal qiladi. Firewallni tahrirlashdan oldin ushbu uchtasini tekshiring.
Ikki ichki firewall, bitta xususiy tranzit segmenti va har bir LANdagi bir nechta hostning boshqasi bilan gaplashishiga ruxsat so’rovi. Odatiy javob VPN ko’tarish yoki ikkinchi NAT qatlamini qo’shish bo’ladi, ikkala javob ham muammoning qiymatidan qimmatroq. Oddiy marshrutlash uch shart bajarilganda yetarli: manzil diapazonlari ustma-ust tushmaydi, ikki tomon ham trafikni boshqa LANga qaytara oladi va tranzit segmenti ma’lumotlar uchun allaqachon yetarlicha ishonchli. Biror narsani loyihalashdan oldin ushbu uchtasini tekshiring, chunki har biri javobni o’zgartiradi.
Loyihani belgilovchi uch shart
Birinchi shart — manzil maydoni. Agar ikkala LAN ham bir xil RFC 1918 blokidan foydalansa, marshrutlash ularni ajrata olmaydi va tarjima ixtiyoriy emas, muqarrar bo’ladi. Ikkinchisi — qaytish yo’li: A dan B ga marshrut, agar B ham A ning LANiga qanday yetishni bilmasa, foydasiz, va nosimmetrik bilim marshrutlangan loyihaning javoblarni jimgina tashlab yuborishining eng keng tarqalgan sababidir.
Uchinchisi — ishonch. Marshrutlash paketlarni ko’chiradi; ularni himoya qilmaydi. Bitta bino ichidagi xususiy tranzit segmenti provayderga topshirish yoki umumiy kampus magistralini kesib o’tuvchi havoladan boshqa narsa. Agar segmentga ishonch bo’lmasa, javob ikki firewall o’rtasidagi tunnel bo’ladi, va quyidagi marshrutlash rejasi uning ichida ham amal qiladi.
Oddiy loyiha uchtasi bir yo’nalishga ishora qilgandagina g’olib bo’ladi. Ulardan biri ishlamay qolsa, o’sha shartni tarjima bilan yopish o’rniga aniq tuzating, chunki NAT nosozlikni yashiradi, hal qilmaydi.
Marshrut rejasini tranzit tarmog’ida quring
Har bir firewallga umumiy segmentda manzil bering va har bir uzoq LAN uchun bitta aniq marshrut qo’shing. Mavjud konfiguratsiyada boshqa hech narsani siljitish shart emas, ayniqsa internetning standart marshruti aynan turgan joyida qolishi kerak. Standart marshrutni qo’shni firewall bilan almashtirish har bir aloqasiz manzilni tranzit orqali yuborardi, bu esa so’ralgan o’zgarishdan ancha katta. pfSense ning statik marshrutlash hujjati o’sha platforma uchun xuddi shu marshrut-qo’shimcha-darvoza modelini tavsiflaydi, va siz amalda ishlatadigan har qanday firewallda unga teng sozlama mavjud.
| Firewall | Remote LAN | Next hop on the transit |
|---|---|---|
| A | 10.40.0.0/24 | 192.0.2.20 |
| B | 10.30.0.0/24 | 192.0.2.10 |
Firewall A 10.30.0.0/24 tarmog’iga xizmat qiladi, firewall B esa 10.40.0.0/24 ga, ikki tranzit manzil 192.0.2.0/24 da. Har bir LAN hosti o’z mahalliy firewallini darvoza sifatida saqlaydi, shuning uchun yagona yangi holat har tomonda bitta marshrut. Linux asosidagi firewallda xuddi shu reja shunday ko’rinadi, va yo’naltirish yoqilgan bo’lishi kerak, aks holda marshrut hal bo’ladi-yu, paket tashlanadi.
sysctl -w net.ipv4.ip_forward=1 ip route add 10.40.0.0/24 via 192.0.2.20 dev eth1 ip route get 10.40.0.15 traceroute -n 10.40.0.15
Filtrlashni tarjimadan alohida tuting
Marshrutlash va siyosat — turli boshqaruvlar, va aynan ikkinchisida marshrutlangan loyihalarning ko’pchiligi ishlamay qoladi. Paketlar haqiqatan kesib o’tadigan kirish chegarasida aniq manbalar, manzillar va xizmatlarga ruxsat bering, va WAN kabi interfeys yorlig’i nom ekanini, ishonch haqidagi bayonot emasligini yodda tuting. Xususiy trafik tashuvchi tranzit portida xususiy manzillarni bloklash odatiy holda yoqilgan bo’lishi mumkin.
Keyin NAT bo’lmayapti degan xulosaga kelishdan oldin chiqish tarjimasiga qarang. Avtomatik chiqish qoidalari hech qachon tarjima uchun mo’ljallanmagan trafikni qayta yozishi mumkin, va bu boshqa tomonga o’z siyosati va jurnallari uchun kerak bo’lgan manba manzillarini yo’q qiladi. Tanlangan oqimlar asl manzillarini saqlab qolishini tasdiqlang, va hali kerak bo’lgan trafik uchun internet tarjima qoidalariga tegmasang.
iptables -t nat -S POSTROUTING iptables -t nat -L POSTROUTING -n -v tcpdump -ni eth1 -c 5 host 10.40.0.15
NAT halol javob bo’lganda
Tarjima manzil diapazonlari haqiqatan ustma-ust tushganda va qayta raqamlash imkoni bo’lmaganda, yoki siyosat bir tomon subnetwork o’rniga bitta manzilni ko’rishini talab qilganda o’z o’rnini oladi. Bunday hollarda ataylab qilingan bir-ga-bir yoki port bilan cheklangan xaritalash oqibatlari ma’lum loyiha qarori, ishni bitirish chorasi emas.
Ovoz chiqarib aytilishi kerak bo’lgan oqibat — boshqa tomon endi alohida manbalarni ko’ra yoki filtrlaya olmaydi. Jurnallar tarjima qiluvchi manzilga siqilib qoladi, har bir host uchun siyosat ishlashdan to’xtaydi, va muammolarni hal qilish ma’lum daqiqada qaysi ichki host oqimga ega bo’lganini izlashga aylanadi. Agar bularning hech biri ko’rib chiqilayotgan trafik uchun muhim bo’lmasa, NAT joyida.
Tranzitning o’zi noto’g’ri taxmin bo’lganda
Agar umumiy segment provayderdan, umumiy kommutatsiya matosidan yoki boshqa tomon trafikni o’qiy oladigan har qanday yo’ldan o’tsa, faqat marshrutlash to’liq javob emas. Ikki firewall o’rtasidagi tunnel sizga maxfiylik va hamkor autentifikatsiyasini beradi, va uning ichidagi marshrut jadvali tranzitda yozadigan jadvalning aynan o’zi.
Buni birinchi bo’limdagi ishonch savolidan hal qiling, VPN xavfsizroq degan odatdan emas. Allaqachon xususiy bo’lgan segment ustidagi tunnel foydasiz operatsion xarajat va yana bitta nosozlik usulini qo’shadi, ishonchsiz segment ustidagi marshrutlash esa maxfiylikni siz ko’tara olmaydigan soddalikka almashtiradi. Uch shartdan qaysi biri tanlovga sabab bo’lganini yozib qo’ying, keyingi muhandis buni qaytadan muhokama qilmaydi.