NAT (Network Address Translation, ağ adresi çevirisi), bir paketin IP adresini bir adres alanından başka bir adres alanına çeviren yöntemdir. RFC 2663 NAT'ı tam olarak böyle tanımlar: IP adreslerinin bir adres alanından diğerine eşlenmesi. Evdeki ya da ofisteki cihazlarınız özel (private) IP adresleri kullanır; internete çıkarken router bu adresleri genel (public) bir IP adresine çevirir, dönen cevabı da doğru cihaza geri iletir.
Port yönlendirme (port forwarding) ise NAT'ın ters yönde çalışan özel bir kullanımıdır: internetten router'ınızın genel IP adresine belirli bir porttan gelen bağlantıyı, yerel ağdaki belirli bir cihaza yönlendirir. Bu yazıda NAT türlerini, port yönlendirmenin mantığını, MikroTik RouterOS üzerinde resmî belgelerdeki örnek kuralları ve CGNAT arkasında neden port açamadığınızı anlatıyoruz. Güvenlik duvarı kavramının genel çerçevesi için güvenlik duvarı (firewall) nedir yazısına bakabilirsiniz.
NAT neden var?
IPv4 adresleri sınırlıdır ve bir evdeki ya da şirketteki her cihaza ayrı bir genel IP vermek pratik değildir. Bu yüzden yerel ağlar RFC 1918'de ayrılmış özel adres bloklarını kullanır ve internete tek (ya da birkaç) genel IP üzerinden çıkar. Özel ve genel IP farkını, RFC 1918 bloklarını ve CGNAT'ı ayrıntılı olarak özel ve genel IP adresleri (RFC 1918, CGNAT) yazısında anlattık. IP adresinin ne olduğunu merak ediyorsanız IP adresi nedir yazısından başlayabilirsiniz.
RFC 3022 (Traditional NAT) bu klasik senaryoyu anlatır: özel adres alanındaki bir ağı, genel olarak benzersiz adreslerin kullanıldığı dış ağa bağlamak. RFC'ye göre geleneksel NAT'ta oturumlar tek yönlüdür, yani özel ağdan dışarı doğru başlar. Dışarıdan içeriye oturum açılabilmesi için önceden belirlenmiş cihazlar ve servisler için statik eşleme gerekir. Port yönlendirme tam olarak bu statik eşlemenin günlük hayattaki adıdır.
NAT nasıl çalışır?

Yerel ağdaki bir bilgisayar bir web sitesine bağlanmak istediğinde paket router'a gelir. Router paketin kaynak adresini kendi genel adresiyle değiştirir ve bu dönüşümü bir tabloda (bağlantı izleme, connection tracking) tutar. Sunucudan gelen cevap router'a ulaştığında router tabloya bakar, hedef adresi tekrar yerel cihazın adresine çevirir ve paketi içeri gönderir. Kullanıcı tarafında bu işlem görünmezdir.
Birden fazla cihaz aynı genel IP'yi paylaştığında router yalnızca IP adresini değil port numarasını da çevirir. RFC 3022 bunu NAPT (Network Address Port Translation) olarak adlandırır: çeviri IP adresi ile birlikte TCP/UDP port numarası ve ICMP sorgu kimliği gibi taşıma katmanı tanımlayıcılarını da kapsar. Her (özel adres, özel port) çifti, benzersiz bir (genel adres, genel port) çiftine eşlenir. Aşağıdaki tablo bunu belgeleme amaçlı adreslerle temsilî olarak gösterir:
| Yerel cihaz (kaynak) | Router çıkışında görünen | Hedef |
|---|---|---|
| 192.168.1.10 : 51000 | 203.0.113.5 : 40001 | 198.51.100.20 : 443 |
| 192.168.1.11 : 51000 | 203.0.113.5 : 40002 | 198.51.100.20 : 443 |
NAT türleri: SNAT, DNAT, masquerade, PAT

NAT konusunda farklı belgelerde farklı isimler görürsünüz. RFC'lerin terimleri ile router üreticilerinin terimleri birbirine şöyle karşılık gelir:
| Terim | Ne yapar | Kaynak |
|---|---|---|
| Basic NAT | Yalnızca IP adreslerini çevirir; özel cihazlar için bir genel adres havuzu ayrılır | RFC 2663, RFC 3022 |
| NAPT (PAT) | IP ile birlikte port numaralarını da çevirir; birçok cihaz tek genel IP paylaşır | RFC 2663, RFC 3022 |
| Bi-directional NAT | Oturumlar hem dış ağdan hem iç ağdan başlatılabilir | RFC 2663 |
| Twice NAT | Paketin hem kaynak hem hedef adresi değiştirilir; çakışan adres alanlarında kullanılır | RFC 2663 |
| srcnat (SNAT) | NAT yapılan ağdan çıkan paketlerin kaynak adresini değiştirir | MikroTik Docs |
| dstnat (DNAT) | NAT yapılan ağa giden paketlerin hedef adresini değiştirir; port yönlendirme budur | MikroTik Docs |
| masquerade | srcnat'ın özel bir türü; kaynak adresi çıkış arayüzündeki IP'den otomatik seçer | MikroTik Docs |
PAT (Port Address Translation) terimi günlük kullanımda NAPT ile aynı anlama gelir; ev router'larının neredeyse hepsi bu yöntemle çalışır. MikroTik belgesine göre masquerade, genel IP adresinin rastgele değişebildiği durumlar için tasarlanmıştır; yani internet bağlantınız dinamik IP alıyorsa kuralı her seferinde güncellemenize gerek kalmaz.
Port yönlendirme (port forwarding) nedir?
Port yönlendirme, router'ın genel IP adresine belirli bir protokol ve porttan gelen bağlantıları, yerel ağdaki belirli bir IP adresine (ve isteğe bağlı olarak farklı bir porta) ileten DNAT kuralıdır. Örneğin evdeki bir sunucuya dışarıdan SSH ile bağlanmak, bir kameranın arayüzüne erişmek ya da bir oyun sunucusu açmak için kullanılır.
Kavramsal olarak bir port yönlendirmenin çalışması için şu parçaların doğru olması gerekir:
- Hedef cihazın sabit bir yerel IP'si olmalı. Cihazın adresi değişirse kural yanlış yere işaret eder. Bunun için DHCP sunucusunda statik kiralama (rezervasyon) kullanılır; ayrıntılar DHCP nedir yazısında.
- Router'da bir dstnat kuralı olmalı: protokol (tcp/udp), dış port, hedef iç IP ve gerekirse iç port.
- Güvenlik duvarı bu trafiğe izin vermeli. NAT yalnızca adresi çevirir; trafiğin geçip geçmeyeceğine filtre kuralları karar verir.
- Router'ın gerçekten genel bir IP'si olmalı. CGNAT arkasındaysanız kural doğru olsa bile dışarıdan gelen bağlantı size ulaşmaz (aşağıda anlatıyoruz).
- Test dış ağdan yapılmalı. Aynı yerel ağın içinden genel IP'ye bağlanmak ayrı bir konudur (hairpin NAT).
MikroTik'te NAT ve port yönlendirme örnekleri

MikroTik RouterOS'ta NAT kuralları /ip firewall nat menüsünde tanımlanır. Aşağıdaki komutlar MikroTik Docs: NAT sayfasındaki örneklerin aynısıdır; arayüz adları (WAN, LAN) ve adresler belgedeki örnek değerlerdir, kendi ağınıza göre değiştirmeniz gerekir. RouterOS'un genel yapısı için MikroTik nedir yazısına bakabilirsiniz.
Masquerade (yerel ağı internete çıkarmak)
10.0.0.0/24 ağındaki cihazların WAN arayüzü üzerinden internete çıkması için belgedeki masquerade kuralı:
/ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=masquerade out-interface=WANGenel IP adresiniz sabitse belge, aynı işi yapan src-nat kuralını da gösterir:
/ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=src-nat to-addresses=172.16.16.1 out-interface=WANBelgeye göre ikisi arasında önemli bir fark var: masquerade, bağlantı koptuğunda ilgili bağlantı izleme kayıtlarını temizler. src-nat'ta ise bu kayıtlar kalır ve bağlantı geri geldiğinde oturumlar kaldığı yerden devam edebilir. Masquerade kaynak adresi çıkış arayüzüne bağlı IP'den seçtiği için dinamik IP'li bağlantılarda pratiktir.
dst-nat ile port yönlendirme
Belgedeki örnekte router'ın 172.16.16.1 adresine TCP 22. porttan gelen bağlantılar, yerel ağdaki 10.0.0.3 adresine yönlendirilir:
/ip firewall nat add chain=dstnat action=dst-nat dst-address=172.16.16.1 dst-port=22 to-addresses=10.0.0.3 protocol=tcpBelge, kurala src-address eklenerek erişimin tek bir kaynakla sınırlandırılmasını daha güvenli bir seçenek olarak gösterir. Örneğin yalnızca bilinen bir yönetim adresinin bu porta ulaşmasını istiyorsanız kaynak adresi kısıtlamak, servisi tüm internete açmaktan çok daha az risklidir.
Hairpin NAT (NAT loopback)
Yerel ağdaki bir cihaz, aynı ağdaki sunucuya router'ın genel IP'si üzerinden bağlanmaya çalıştığında ek bir kural gerekir. MikroTik belgesine göre bu kural olmadan sunucu cevabı doğrudan istemciye gönderir; istemci de cevabın beklemediği bir adresten geldiğini görüp paketi düşürür. Belgedeki çözüm, sunucunun yerel adresine giden trafik için bir masquerade kuralıdır:
/ip firewall nat
add action=masquerade chain=srcnat dst-address=10.0.0.3 out-interface=LAN protocol=tcp src-address=10.0.0.0/24Belgede bu kural, 443 numaralı portu 10.0.0.3 adresine yönlendiren şu dst-nat kuralıyla birlikte kullanılır:
/ip firewall nat add chain=dstnat action=dst-nat dst-address=172.16.16.1 dst-port=443 to-addresses=10.0.0.3 to-ports=443 protocol=tcpCGNAT arkasında neden port açılamaz?
Bazı internet servis sağlayıcıları müşterilerine doğrudan genel IP vermez; birçok müşteriyi kendi tarafındaki büyük bir NAT cihazının arkasında toplar. Buna CGNAT (Carrier-Grade NAT) denir. RFC 6598, 100.64.0.0/10 bloğunu bu amaçla, yani CGN cihazları ile müşteri tarafındaki ekipman arasındaki bağlantılar için Paylaşılan Adres Alanı (Shared Address Space) olarak ayırmıştır.
Bu durumda iki kat NAT vardır: sizin router'ınızdaki NAT ve operatörün CGNAT'ı. Siz kendi router'ınızda port yönlendirme kuralı yazsanız bile, internetten gelen bağlantı önce operatörün cihazına ulaşır ve o cihazda sizin için bir kural yoktur. Router'ınızın WAN arayüzünde 100.64.0.0/10 aralığında bir adres görüyorsanız ya da WAN adresi, dışarıdan bakıldığında görünen genel IP'nizle aynı değilse büyük olasılıkla CGNAT arkasındasınız. Konunun ayrıntıları RFC 1918 ve CGNAT yazısında.
Bu durumda kullanılan başlıca yollar şunlardır:
- Servis sağlayıcınızdan genel (ve gerekiyorsa sabit) bir IP adresi talep etmek.
- Genel IP'si olan bir sunucu ile yerel ağınız arasında içeriden dışarıya kurulan bir VPN tüneli kullanmak; bağlantıyı yerel ağ başlattığı için CGNAT engel olmaz. VPN nedir ve WireGuard kurulum rehberi yazıları bu yapıyı anlamanıza yardımcı olur.
- Servisi doğrudan genel IP'si olan bir VPS ya da VDS üzerinde çalıştırmak.
Port yönlendirmede güvenlik uyarıları
Port yönlendirme, yerel ağınızdaki bir cihazı internetin geri kalanına açar. Bu yüzden her yeni kural bir saldırı yüzeyi demektir:
- Yalnızca gerçekten gereken portları yönlendirin. Bir cihazın tüm portlarını açmak (bazı arayüzlerdeki DMZ benzeri seçenekler) çoğu zaman gereksiz risktir.
- Mümkünse kaynak adresi kısıtlayın. MikroTik örneğindeki
src-addressgibi, erişimi bilinen IP'lerle sınırlamak daha güvenlidir. - Yönetim arayüzlerini doğrudan açmayın. Router, kamera ya da NAS yönetim panellerine dışarıdan erişim gerekiyorsa bunu bir VPN üzerinden yapmak daha güvenli bir yaklaşımdır.
- Hedef cihazı güncel tutun ve zayıf parolaları değiştirin. Açık bir SSH portu için Fail2ban ile brute force koruması gibi önlemler düşünün.
- NAT'ı güvenlik duvarı yerine koymayın. NAT'ın işi adres çevirmektir; neyin geçip neyin engelleneceğini filtre kuralları belirler. Bkz. firewall nedir.
Sık Sorulan Sorular
NAT ile port yönlendirme aynı şey mi?
Hayır. NAT genel addır; adres (ve port) çevirisinin tamamını kapsar. Port yönlendirme, dışarıdan gelen bağlantının hedef adresini değiştiren DNAT türünde bir kuraldır.
Masquerade ile SNAT arasındaki fark nedir?
Masquerade, SNAT'ın bir türüdür ve kaynak adresi çıkış arayüzündeki IP'den otomatik alır; dinamik IP'li bağlantılar için tasarlanmıştır. SNAT'ta kaynak adresi siz belirtirsiniz. MikroTik belgesine göre bağlantı koptuğunda masquerade ilgili bağlantı kayıtlarını temizler, src-nat temizlemez.
Port yönlendirme yaptım ama çalışmıyor, neden?
En sık nedenler: CGNAT arkasında olmak, hedef cihazın IP'sinin değişmiş olması, firewall filtre kurallarının trafiği engellemesi, hedef cihazın kendi güvenlik duvarının bağlantıyı reddetmesi ve testin yerel ağın içinden yapılması (hairpin NAT). MikroTik kullanıyorsanız kural değişikliğinden sonra bağlantı izleme tablosunu da temizleyin.
IPv6 kullanırsam NAT gerekir mi?
NAT'ın yaygınlaşmasının ana sebebi IPv4 adres kıtlığıdır. Bu yazı IPv4 NAT'ı ve RFC 2663 / RFC 3022 kapsamını anlatır; IPv6 tarafındaki yaklaşımlar farklıdır ve burada ele alınmadı.
Marka adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen kuruluşlarla bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: Güvenlik duvarı (firewall) nedir · DHCP nedir · MikroTik nedir · Özel ve genel IP adresleri · Router, modem, switch farkı · VPN nedir