İçeriğe atla
Makale

NAT Nedir? Ağ Adresi Çevirisi Türleri, PAT ve CGNAT

NAT'ın özel IP adreslerini genel adrese nasıl çevirdiğini, statik NAT'tan PAT ve CGNAT'a türlerini, sınırlarını ve bulutta NAT gateway'i anlattık.

Oğuzhan Gerçek··8 dk okuma
NAT Nedir? Ağ Adresi Çevirisi Türleri, PAT ve CGNAT

Kısa cevap: NAT (Network Address Translation, ağ adresi çevirisi), paket bir ağdan ötekine geçerken IP adresini, çoğu zaman port numarasını da değiştiren yöntemdir. Evlerde ve kurumlarda kullanılan PAT'ta özel adresli cihazlar, router ya da firewall'daki tek bir genel adresi paylaşarak internete çıkar; cevap, port numarasına göre doğru cihaza döner. Başlıca türleri statik ve dinamik NAT, PAT, SNAT, DNAT ve internet sağlayıcılarının işlettiği CGNAT'tır. NAT, IPv4 kıtlığına karşı zaman kazandırdı ama güvenlik önlemi değildir; korumayı firewall kuralları sağlar.

NAT nedir, nasıl çalışır?

RFC 2663 (Ağustos 1999) NAT'ı, IP adreslerinin bir adres alanından (realm) ötekine eşlendiği ve uç cihazlara saydam yönlendirme sağlayan yöntem olarak tanımlıyor. RFC 3022'ye (Ocak 2001) göre geleneksel NAT'ta oturumlar tek yönlüdür: özel ağdan dışarıya doğru açılır.

İç ağdaki cihaz bağlantı başlattığında NAT cihazı paketin kaynak adresini genel adresle değiştirir ve eşlemeyi bir çeviri tablosuna yazar; cevap gelince paketi tablodaki iç adrese geri çevirir. NIST SP 800-41 Rev. 1'e göre firewall'ların çoğu NAT yapabiliyor, dışarıdaki cihazlar ise içeridekilerle bağlantıyı kendileri başlatamıyor. NIST, loglara çevrilmiş genel adresin değil özel adresin yazılmasını istiyor. Kısa tanım sözlüğümüzde, NAT'ı üstlenen cihaz da router yazımızda var.

NAT neden var? IPv4 adres kıtlığı

RFC 791'e göre IPv4 adresi 32 bittir; bu, en fazla 2³², yani yaklaşık 4,3 milyar adres demek. RFC 1918 (Şubat 1996), küresel adres alanının tükeneceği kaygısıyla özel ağlara üç blok ayırdı; blokları LAN yazımızda listeledik. RFC'ye göre özel adresli paketler kurumlar arası bağlantılardan iletilmez; bu cihazların internete çıkması için adresin yolda çevrilmesi gerekir.

Number Resource Organization (NRO), 3 Şubat 2011'de IANA'nın beş bölgesel internet kayıt kuruluşuna (RIR) dağıtacak IPv4 adresinin kalmadığını duyurdu. Bu kuruluşlardan RIPE NCC son /22 tahsisini 25 Kasım 2019'da yaptı. Duyuruya göre son yıllarda bölgede bir IPv4 transfer pazarı doğdu ve CGNAT kullanımı arttı; ama ikisi de asıl sorunu çözmüyor: herkese yetecek kadar IPv4 adresi yok.

NAT türleri: statik NAT, dinamik NAT ve PAT

  • Statik NAT: Bir iç adresi bir dış adrese bire bir ve kalıcı olarak eşler. Cisco'ya göre e-posta, web ya da FTP hizmeti veren sunucular için kullanılır.
  • Dinamik NAT: İç adresleri bir genel adres havuzundan eşler; Cisco'ya göre adres sayısı cihaz sayısından az olduğunda işe yarar. Kayıt bağlantıyla oluşur, bir süre trafik olmazsa silinir.
  • PAT (NAPT, NAT overload): RFC 3022'nin tanımıyla birçok iç adres ve bunların TCP/UDP portları, tek bir genel adrese ve onun portlarına çevrilir; router cevabı port numarasına göre doğru cihaza döndürür (port yazımız). RFC'ye göre bu model, sağlayıcının verdiği tek adresle internete çıkan küçük ofis ve ev (SOHO) kullanıcılarının çoğuna uyar.

SNAT, DNAT ve port yönlendirme

Linux'ta NAT türleri, değiştirdikleri adrese göre adlandırılır. Red Hat belgelerine göre:

  • SNAT (source NAT): Paketin kaynak adresini belirli bir adrese çevirir; internete çıkış bu yolla olur.
  • Masquerading: Çıkış arayüzünün o anki adresini kullanan SNAT; adresi değişen bağlantılara uygundur.
  • DNAT (destination NAT): Gelen paketin hedef adresini ve portunu değiştirir; örneğin özel adresli bir web sunucusunu internetten erişilebilir kılar.

Port yönlendirme (port forwarding) de bir DNAT kuralıdır; NIST buna pinholing diyor. NIST'in örneğinde politika dışarıdan erişilen bütün HTTP sunucularının DMZ'de durmasını istiyorsa NAT, 80 numaralı TCP portunu iç ağa açmamalı. DMZ'yi firewall yazımızda anlattık.

Taşıyıcı sınıfı NAT (CGNAT) ve 100.64.0.0/10

RFC 6888 (Nisan 2013), CGNAT'ı (carrier-grade NAT) aynı IPv4 adresini birden çok abone arasında paylaştıran NAT tabanlı işlev olarak tanımlıyor. Abonenin modemi de NAT yaptığında trafik iki kez çevrilir; RFC 7021 (Eylül 2013) buna NAT444 diyor. Sağlayıcı ile abone cihazı arasındaki bağlantılar için RFC 6598 (Nisan 2012), 100.64.0.0/10 bloğunu paylaşılan adres alanı (shared address space) olarak ayırdı. Bu blok RFC 1918'den ayrıdır ve yalnızca sağlayıcı ağlarında kullanılır; abone ile sağlayıcı aynı özel aralığı kullanırsa adresler çakışabilir. CGNAT'ın iki sonucu var:

  • İçeri bağlantı zorlaşır: RFC 7021'in testlerinde eşler arası (peer-to-peer) uygulamalar ve evdeki sunuculara açılan FTP oturumları sorun yaşadı.
  • Kayıt ayrıntı ister: IP adresi tek başına aboneyi tanımlamaz. RFC 6302 (Haziran 2011), internete açık sunucuların kaynak portu ve UTC cinsinden, saniye hassasiyetinde zaman damgasını da kaydetmesini öneriyor (log yazımız).

NAT bir güvenlik duvarı değildir

Dışarıdan bağlantı başlatılamaması NAT'ı firewall gibi gösterir. NIST SP 800-41 bu görüşü reddediyor: NAT bir yönlendirme biçimi sayılmalı, firewall türü değil; firewall'un sağladığı korumaya NAT üzerinden güvenilmemeli. NIST'e göre aynı faydayı stateful bir firewall, protokolleri daha az bozarak sağlar.

RFC 4864 (Mayıs 2007) de aynı görüşte: IPv4 NAT güvenlik mekanizması olarak geliştirilmedi ve adres bitlerini çevirmek kendi başına güvenlik sağlamaz. Hissedilen koruma, önceden kurulmuş bir eşleme olmamasından gelir; bunu temel bir firewall da verir. RFC'ye göre NAT iç ağın yapısını gizler, ama ağ katmanında uçtan uca bir denetim izi çıkarmayı da engeller. Varsayılan ret ilkesini firewall yazımızda anlattık.

NAT'ın yan etkileri: VoIP, IPsec ve NAT-T

RFC 3022'ye göre NAT, IP adresinin uçtan uca anlamını ortadan kaldırır; bedelini, adresi ya da portu paketin içinde taşıyan protokoller öder. RFC 3027'ye (Ocak 2001) göre FTP, H.323, SIP ve RTSP, NAT'tan geçerken genellikle bozulur. IETF'in UDP tabanlı iletişimde NAT'ı aşmak için tanımladığı ICE (RFC 8445, Temmuz 2018) STUN ve TURN'ü kullanır.

RFC 3715'e (Mart 2004) göre IPsec'te AH, adresleri bütünlük denetimine kattığı için adres değişince doğrulama bozulur; ESP'nin şifreli yükü ise NAT'a kapalıdır. Çözüm NAT traversal (NAT-T): ESP paketleri UDP içine konur (RFC 3948, Ocak 2005) ve 4500 numaralı UDP portu kullanılır. IKEv1'de aradaki NAT RFC 3947 ile algılanır; RFC 7296'ya göre IKEv2 de NAT arkasındaki uçların paketlerini UDP ile kapsüller. VPN gateway'lerinde 4500 numaralı UDP portunu açık tutmanın sebebi bu; ayrıntısını VPN yazımızda anlattık.

IPv6'da NAT ve bulutta NAT gateway

IPv6, adres uzunluğunu 32 bitten 128 bite çıkarıyor (RFC 8200, Temmuz 2017); RFC 4864'e göre NAT'ın adres alanını "çoğaltma" faydasına IPv6'da gerek yok. Çeviri yine de sürüyor: NAT64 (RFC 6146, Nisan 2011), yalnızca IPv6 kullanan istemcileri IPv4 sunuculara ulaştırır.

Bulutta NAT, yönetilen bir hizmettir:

  • AWS: NAT gateway, özel alt ağdaki sunucuların VPC dışındaki hizmetlere bağlanmasını sağlar; dışarıdaki hizmetler bu sunuculara bağlantı başlatamaz. AWS'ye göre her IPv4 adresi, her tekil hedefe en fazla 55.000 eşzamanlı bağlantı taşıyor.
  • Azure: NAT Gateway istenmeyen gelen bağlantılara izin vermez. 31 Mart 2026'dan bu yana yeni sanal ağlarda alt ağlar varsayılan olarak özel; internete çıkmak için açıkça tanımlanmış bir yöntem gerekiyor. Microsoft'a göre her genel IP adresi 64.512 SNAT portu sağlıyor ve uzun boşta kalma süreleri port tükenmesi riskini artırıyor.

Bu katmanın tasarımını ağ ve trafik mühendisliği, kural tarafını ağ güvenliği hizmetimizde ele alıyoruz.

Sık sorulan sorular

NAT ne demek? Network Address Translation, yani ağ adresi çevirisi demek: paket bir ağdan ötekine geçerken IP adresinin, gerekirse portun da değiştirilmesi.

PAT nedir, NAT ile farkı ne? PAT, port numaralarını da çeviren NAT türüdür: birçok cihaz tek bir genel IP adresini paylaşır, cevap port numarasına göre doğru cihaza döner.

Statik NAT ile dinamik NAT arasındaki fark nedir? Statik NAT bir iç adresi bir dış adrese kalıcı olarak eşler ve sunucularda kullanılır. Dinamik NAT ise iç adreslere bir havuzdan geçici adres verir.

CGNAT nedir? İnternet sağlayıcısının ağında çalışan ve aynı genel IPv4 adresini birden çok abone arasında paylaştıran NAT'tır.

NAT güvenlik sağlar mı? NAT bir güvenlik önlemi değildir. Dışarıdan bağlantı başlatılamaması koruma izlenimi verir, ama korumayı firewall kuralları sağlamalıdır.

IPv6'da NAT var mı? IPv6'nın adres alanı, adres paylaşımı için NAT'a ihtiyaç bırakmaz. Yalnızca IPv6 kullanan istemcilerin IPv4 sunuculara ulaşması için ise NAT64 kullanılır.

Kaynaklar