NAT (Ağ Adresi Çevirisi), yerel ağlardaki özel IP adreslerini genel IP adreslerine çevirerek internete çıkış sağlayan bir ağ teknolojisidir. İlk olarak 1994 yılında, IPv4 adres yetersizliğini geçici olarak çözmek amacıyla RFC 1631 belgesiyle tanımlanmıştır. IPv4, yaklaşık 4.3 milyar adres sağlayabilse de, 1990'lı yılların başında internetin hızla yaygınlaşması bu sayının yetersiz kalacağını ortaya koymuştur. NAT bu soruna çözüm olarak geliştirilmiştir ve cihazların internete erişimini, sınırlı sayıda genel IP adresini paylaşarak sağlar.
NAT ayrıca, yerel ağdaki cihazların IP adreslerinin dış dünyadan gizlenmesine olanak tanıyarak ağın dış tehditlere karşı daha az görünür olmasını sağlar. Ancak bu gizlenme, güvenliğin temelini oluşturmaz; yalnızca dış erişimi kısıtlar. Zamanla NAT, yalnızca adres tasarrufu için değil, ağ mimarisi basitleştirme ve uygulama erişimi kontrolü için de kullanılmaya başlanmıştır.
Çalışma Prensibi
NAT, genellikle bir yönlendirici (router) ya da güvenlik duvarı (firewall) üzerinde çalışır ve IP paketlerinin içeriğini analiz ederek hem kaynak hem de hedef IP adreslerini değiştirir. Bu işlem sırasında, IP başlığı içindeki kontrol toplamları (checksum) da yeniden hesaplanır. NAT cihazı, "iç" (genellikle özel IP kullanan yerel ağ) ve "dış" (genel internet) olarak tanımlanan iki farklı ağ bölgesi arasında konumlanır.
Bir istemci (örneğin 10.0.0.1 adresli bir cihaz) dış dünyadaki bir sunucuya erişmek istediğinde, NAT cihazı istemcinin özel IP adresini geçici olarak genel bir IP adresiyle (örneğin 203.0.113.25) değiştirerek paketleri yönlendirir. Gelen yanıt paketleri ise, NAT’ın oluşturduğu çeviri tablosuna (mapping table) göre orijinal istemcinin özel IP adresine yeniden yönlendirilir. Bu işlem sırasında paket başlıklarında yer alan IP adresleri ve port numaraları değiştirilmiş olur.
NAT Türleri
NAT uygulamaları, farklı kullanım senaryolarına göre çeşitli türlerde yapılandırılabilir. Bunlar:
- Statik NAT (Static NAT): Her özel IP adresi için sabit bir genel IP adresi atanır. Bu yapılandırma, belirli bir iç ağ cihazının her zaman aynı genel IP adresiyle dışarıdan erişilebilir olmasının istendiği durumlarda tercih edilir. Statik NAT genellikle e-posta veya web sunucuları gibi sabit hizmet noktaları için kullanılır.
- Dinamik NAT (Dynamic NAT): NAT cihazı, tanımlı bir genel IP adresi havuzundan kullanılmayan bir adresi seçerek iç istemcinin özel IP adresini çevirir. Ancak bu yöntem, havuzda yeterli sayıda genel IP adresi yoksa istemcinin internete erişimini engelleyebilir.
- NAPT (Port Adresi Çevirisi) / PAT (Port Address Translation): En yaygın kullanılan NAT türüdür. Aynı genel IP adresini farklı port numaraları ile eşleştirerek birden fazla iç istemcinin aynı anda dış dünyaya erişmesini sağlar. Bu sayede binlerce cihaz yalnızca bir genel IP adresi ile internete çıkabilir. Her yeni bağlantı için NAT, kaynak port numarasını benzersiz şekilde değiştirir.
- 1'e 1 NAT (1-to-1 NAT): Her özel IP adresi, kendine özel tek bir genel IP adresiyle eşleştirilir. Hem gelen hem giden trafik için simetrik bir yapı sunar ve yapılandırması daha nettir. Özellikle mail sunucusu gibi çift yönlü iletişim gerektiren hizmetlerde bu tür kullanılır. WatchGuard Fireware XTM gibi cihazlar üzerinde bu tür NAT yapılandırmaları sıkça kullanılmaktadır.
NAT Davranışları ve Uyum Sorunları
NAT cihazlarının uygulamalara etkisi iki önemli sorun üzerinden değerlendirilir: ilki, bazı uygulamaların IP adresine duyarlı olması nedeniyle NAT ile uyumsuz çalışabilmesidir; ikincisi ise farklı üreticilerin NAT davranışlarında standartlaşma olmaması nedeniyle öngörülemezlik yaşanmasıdır. NAT davranışları simetrik, tam konik (full-cone), kısıtlı konik (restricted-cone) ve port-kısıtlı konik (port-restricted-cone) olarak sınıflandırılır.
Simetrik NAT, en katı modeldir ve yalnızca bağlantı başlatılan hedeften dönüş trafiğine izin verir. Full-cone NAT ise, bir çeviri tanımlandıktan sonra tüm dış kaynakların bu çeviri yoluyla iç ağa ulaşmasına olanak tanır. Bu davranış farklılıkları, VoIP (Voice over IP), P2P (Peer-to-Peer) ve bazı oyun uygulamaları gibi bağlantı başlatımı iki yönlü olan sistemlerde ciddi uyumsuzluklara neden olabilir.
Bu sorunları tespit etmek ve yönetmek amacıyla STUN (Session Traversal Utilities for NAT) gibi protokoller geliştirilmiştir. STUN, istemcinin NAT arkasında olup olmadığını ve NAT türünü tespit edebilmesini sağlayan basit bir istemci-sunucu test mekanizmasıdır. Bu tespitler doğrultusunda uygulamalar, NAT uyumlu çalışma modlarına geçebilir.
NAT ve Güvenlik
NAT, tek başına bir güvenlik duvarı değildir ancak IP gizliliği sağladığı için temel bir koruma katmanı sunabilir. Dış ağlar, NAT arkasındaki iç sistemlerin IP adreslerini doğrudan bilemez. Ancak NAT, yönlendirilen paketlerin içeriğini analiz etmez ve ağ saldırılarına karşı aktif bir savunma sağlamaz. NAT ile birlikte, güvenlik duvarları, paket filtreleme, IDS/IPS gibi sistemlerin entegre kullanılması gereklidir.
Özellikle port yönlendirme (port forwarding) yapılan durumlarda, NAT’ın varsayılan olarak engellediği dış erişim noktaları açıldığından, bu alanlar kötü amaçlı yazılımlar için potansiyel hedef haline gelebilir.
NAT (Ağ Adresi Çevirisi), IPv4 adreslerinin sınırlı olması nedeniyle geliştirilmiş bir çözümdür ve bugün birçok ağ yapısında kullanılmaktadır. IP adreslerinin paylaşımı, yerel adreslerin dış ağdan gizlenmesi ve belirli trafik yönlendirme senaryoları için uygulanabilir bir yöntem sunar. Bununla birlikte, NAT’ın ağ iletişiminde bazı teknik kısıtlamalara neden olduğu bilinmektedir. Özellikle eş zamanlı bağlantı kurulması gereken uygulamalarda veya uçtan uca bağlantıya ihtiyaç duyan protokollerde NAT, ek yapılandırmalar ya da yardımcı mekanizmalar gerektirebilir.
Ayrıca, NAT cihazlarının davranışları üreticiye ve modele göre değişiklik gösterebilir. Bu durum, uygulama geliştiricileri açısından öngörülemezlik oluşturur. Standart dışı uygulamalar ve çeşitli NAT türleri arasında farklılıkların olması, uygulama uyumluluğunu doğrudan etkiler. NAT’ın bu teknik yönleri göz önüne alınarak, kullanım amaçları doğrultusunda ağ mimarisi içinde konumlandırılması gerekir. IPv6 gibi alternatif çözümlerin yaygınlaşmasıyla birlikte NAT’ın rolü ve kullanım alanları gelecekte değişebilir.