DNAT — Destination Network Address Translation, ya’ni tranzit paketning maqsad IP manzili, ayrim hollarda maqsad portini boshqa qiymatga almashtirish. U tashqi manzilga kelgan trafikni ichki serverga yo‘naltirish, port forwarding va load balancerning ayrim ishlash rejimlarida qo‘llanadi. Tarjima paket ichki marshrut bo‘yicha uzatilishidan oldin bajarilishi kerak.
Port forwarding misoli
Gatewayning public manzili 198.51.100.7 bo‘lsin. Tashqi mijoz 198.51.100.7:443 ga ulansa, DNAT qoidasi maqsadni 10.0.0.50:8443 ga o‘zgartiradi. Server paket manbasida tashqi mijozni ko‘rishi mumkin; javob gateway orqali qaytganda teskari tarjima public manzilni qayta tiklaydi.
| Paket bosqichi | Manba | Maqsad |
|---|---|---|
| Gatewaygacha | mijoz IP:port | 198.51.100.7:443 |
| DNATdan keyin | mijoz IP:port | 10.0.0.50:8443 |
Connection tracking birinchi paket uchun yaratilgan mappingni shu oqimning keyingi paketlariga qo‘llaydi. Faqat kiruvchi paketni tarjima qilib, javobni mos o‘zgartirmaslik TCP ulanishini buzadi, chunki mijoz kutilmagan ichki manzildan javob oladi.
Firewall va routing tartibi
DNAT paketning maqsadini o‘zgartirgach, route lookup ichki server tomon yo‘l tanlaydi. Firewall qoidasi platformaga qarab tarjimadan oldingi yoki keyingi manzilni ko‘rishi mumkin. Qoidani yozishda packet processing pipeline hujjati hisobga olinadi; aks holda public manzilga ruxsat berilgan deb o‘ylangan trafik ichki manzil bo‘yicha bloklanadi.
Ichki serverning default gatewayi NAT qurilmasi bo‘lmasa, javob boshqa yo‘ldan chiqib ketishi mumkin. Bunday asimmetriyada teskari tarjima ishlamaydi. Marshrutni tuzatish yoki ayrim arxitekturada qo‘shimcha SNAT qo‘llash javobni gateway orqali qaytaradi, lekin server asl mijoz IP sini yo‘qotishi mumkin.
One-to-one va pool tarjimasi
Statik DNAT bitta tashqi manzilni bitta ichki manzilga doimiy bog‘laydi. Faqat kerakli portlarni ochish xavf yuzasini kamaytiradi. NAT pool bir nechta ichki server orasidan mapping tanlashi mumkin, ammo sog‘liq tekshiruvi, sessiya barqarorligi va murakkab load balancing funksiyalari oddiy DNATda cheklangan bo‘lishi mumkin.
Reverse proxy DNATdan farqli ravishda transport yoki ilova ulanishini o‘zi yakunlaydi va yangi ulanish ochadi. U HTTP sarlavhalari, TLS va marshrut qoidalarini tushunishi mumkin. DNAT esa odatda paket sarlavhasini tarjima qilib, end-to-end transport sessiyasini saqlaydi.
Xavfsizlik va kuzatuv
DNAT ichki xizmatni tashqi tarmoqqa ochadi; NATning o‘zi autentifikatsiya yoki zaiflikdan himoya bermaydi. Firewall faqat zarur manba va portlarga ruxsat beradi, xizmat patchlanadi va loglar markazlashtiriladi. Port scan public endpointni topishi mumkin, ichki RFC1918 manzilining yashirinligi xavfsizlik kafolati emas.
Diagnostikada tashqi interfeys capture’i, NAT hit counteri, translated ichki trafik va server javobi ketma-ket tekshiriladi. DNS public manzilga to‘g‘ri ishora qilishi, upstream router public IP ni gatewayga yuborishi va lokal servis shu portni band qilmagan bo‘lishi kerak.
Protokol holati
TCP port forwardingda birinchi SYN yangi state yaratadi; faqat established paket kelib, state mavjud bo‘lmasa odatda tashlanadi. UDPda ulanish handshake’i yo‘q, shuning uchun javob uchun vaqtinchalik mapping paket kelishi bilan yaratiladi. Timeout tugagach kech javob mos yozuv topmaydi. Uzoq interval bilan ishlaydigan UDP ilova keepalive yuborishi yoki gateway timeouti workloadga mos sozlanishi mumkin.
Bog‘liq tushunchalar
NAT, SNAT, Port forwarding, Reverse proxy, Connection tracking, Hairpin NAT