NAT table — NAT qurilmasi manzil va port tarjimalarini qo‘llash hamda teskari yo‘nalishda asl qiymatlarni tiklash uchun yuritadigan qoidalar va faol mosliklar tuzilmasi. Atama ikki yaqin ma’noda ishlatiladi: administrator belgilagan statik NAT qoidalari jadvali va real ulanishlardan hosil bo‘lgan dinamik translation yoki connection-tracking jadvali. Ularni ajratish diagnostikada muhim.
Qoida va holat farqi
Qoida “ichki tarmoqdan WAN ga chiqqan trafikni public IP bilan SNAT qil” kabi siyosatni bildiradi. Birinchi paket qoidaga mos kelganda, qurilma aniq oqim uchun state yaratadi. Keyingi paketlar har safar barcha qoidani boshidan baholamasdan shu state bo‘yicha tarjima qilinishi mumkin.
Dinamik yozuv odatda quyidagi ma’lumotlarning bir qismini saqlaydi:
- protokol: TCP, UDP yoki ICMP turi;
- asl manba va maqsad IP manzillari;
- asl transport portlari yoki ICMP identifikatori;
- tarjima qilingan manzil va port;
- TCP holati yoki oxirgi faollik vaqti;
- timeout, interfeys yoki zone ma’lumoti.
Qurilma implementatsiyasiga qarab oqim 5-tuple va uning teskari yo‘nalishi bilan ifodalanadi. NAT yozuvi firewall state bilan bitta obyekt yoki bog‘langan alohida obyekt bo‘lishi mumkin.
Yozuvning hayot sikli
Yangi ulanishning birinchi paketi mapping yaratadi. TCP uchun SYN, established, FIN va yopilish holatlari timeoutni o‘zgartiradi. UDP connectionless bo‘lgani sababli oxirgi paketdan keyingi inactivity timer bilan o‘chiriladi. Juda qisqa timeout faol, lekin jim turgan sessiyani uzishi; juda uzun timeout esa jadval va portlarni band qilishi mumkin.
Statik DNAT yoki one-to-one mapping konfiguratsiya saqlanmaguncha mavjud bo‘ladi, ammo u orqali o‘tgan har sessiya uchun baribir state yaratilishi mumkin. Qurilma qayta ishga tushsa, dinamik yozuvlar yo‘qoladi va mavjud TCP ulanishlar uziladi. High-availability juftliklar state synchronization orqali mappinglarni ikkinchi tugunga ko‘chirishga harakat qiladi.
Sig‘im va portlar
Jadval xotira va protsessor resursini ishlatadi. Ko‘p qisqa ulanish, DDoS yoki noto‘g‘ri timeout maksimal session soniga yetkazishi mumkin. PATda tashqi port pooli jadval sig‘imidan oldin ham tugashi ehtimol. Monitoring active translations, creation rate, drop, port allocation failure va timeout bo‘yicha olib boriladi.
Bir public IP va port juftligini turli masofaviy endpointlarga qayta ishlatish NAT mapping turiga bog‘liq. Endpoint-independent mapping P2P va NAT traversalga qulayroq, symmetric NAT esa har maqsad uchun boshqa mapping yaratishi mumkin. Jadval ko‘rinishi ushbu xatti-harakatni tahlil qilishga yordam beradi.
Diagnostika
Paket qoidaga urilmasa, interfeys yo‘nalishi, manba subneti va qoida tartibi tekshiriladi. Qoida hit olgan, lekin javob yo‘q bo‘lsa, jadvaldagi translated tuple, upstream routing va firewall state ko‘riladi. Bir xil port bilan to‘qnashuv bo‘lsa, allocator boshqa port tanlashi yoki ulanishni rad etishi mumkin.
Jadvalni ishlab turgan tizimda to‘liq tozalash barcha faol NAT sessiyalarini uzishi mumkin. Muammo bitta oqimga tegishli bo‘lsa, imkon qadar shu yozuv tanlab o‘chiriladi. Logdagi vaqt, public IP va translated port audit uchun saqlanadi.
Yuqori mavjudlik
Active-passive gateway juftligida faqat konfiguratsiyani ko‘chirish yetarli emas. Failover paytida faol translation yozuvlari ikkinchi qurilmada bo‘lmasa, u qaytgan paketni ichki hostga bog‘lay olmaydi. State synchronization protokol, timer va sequence holatini uzatadi. Sinxronlash kechiksa, failoverdan oldingi eng yangi sessiyalar baribir uzilishi mumkin. Test davomida mavjud uzoq TCP sessiyasi va yangi ulanishlar alohida kuzatiladi.