1. Önce sorunun gerçekten NAT Loopback olup olmadığını doğrulayın
Çözüme başlamadan önce problemin kapsamını netleştirmek gerekir. Çünkü port yönlendirme hiç çalışmıyorsa sorun NAT Loopback değil, genel port yönlendirme veya firewall sorunudur.
Basit test sırası şöyle olabilir:
Ev Wi-Fi ağına bağlıyken servise yerel IP ile girin. Örnek: 192.168.1.50:8123
Aynı servise dış alan adıyla girin. Örnek: evim.ddns.net:8123
Telefonu Wi-Fi’dan çıkarıp mobil veriye geçin.
Aynı dış alan adını mobil veriyle tekrar deneyin.
Mobil veride çalışıyor ama Wi-Fi içinde çalışmıyorsa NAT Loopback ihtimali güçlenir.
Bu test çok değerlidir. Çünkü dışarıdan da çalışmıyorsa önce port yönlendirme, güvenlik duvarı ve DDNS tarafı düzeltilmelidir.
2. Port yönlendirme kuralını kontrol edin
NAT Loopback için önce normal port yönlendirme doğru çalışmalıdır. Dışarıdan gelen trafik hangi iç IP’ye ve hangi porta gidecekse bu kural net olmalıdır.
Kontrol edilmesi gerekenler:
İç sunucunun IP adresi sabit mi?
Port yönlendirme doğru iç IP’ye gidiyor mu?
Dış port ve iç port doğru mu?
TCP / UDP protokol seçimi doğru mu?
Sunucunun kendi firewall’u bağlantıya izin veriyor mu?
Router kuralı WAN arayüzünden gelen trafiğe uygulanıyor mu?
Aynı port başka bir kurala çakışıyor mu?
Örneğin Home Assistant için 8123, kamera/NVR için farklı portlar, web sunucusu için 80/443, oyun sunucusu için oyuna özel portlar doğru yönlendirilmelidir. NAT Loopback bozuk olsa bile dışarıdan port yönlendirme çalışmıyorsa önce bu temel kural düzeltilmelidir.
3. Router’da NAT Loopback / Hairpin NAT ayarını arayın
Bazı modem ve router arayüzlerinde bu özellik açık bir seçenek olarak bulunur. Menü adı markaya göre değişebilir. Bazen “NAT Loopback”, bazen “Hairpin NAT”, bazen de “NAT Reflection” olarak geçer.
Aranabilecek menü adları:
pfSense tarafında bu özellik NAT Reflection adıyla geçer ve bazı ortamlarda split DNS altyapısının daha uygun olabileceği de belirtilir.
Eğer router arayüzünde bu seçenek varsa etkinleştirip cihazı yeniden başlatın. Sonra içerideyken dış alan adıyla tekrar test edin.
4. Split DNS kullanmayı düşünün
Her zaman NAT Loopback’i zorlamak gerekmez. Hatta bazı ağlarda daha temiz çözüm Split DNS kullanmaktır. Split DNS mantığında aynı alan adı dışarıdayken public IP’ye, içerideyken ise yerel IP’ye çözülür.
Örnek:
Böylece içerideki cihaz dış IP’ye gidip router’dan geri dönmeye çalışmaz. Direkt yerel sunucuya gider. pfSense dokümantasyonu da bazı ortamlarda NAT Reflection yerine split DNS altyapısının gerekebileceğini belirtir.
Split DNS özellikle şu senaryolarda mantıklıdır:
Router NAT Loopback desteklemiyorsa
İçeride aynı domain kullanılmak isteniyorsa
NAS, Home Assistant, kamera veya web sunucu içeriden daha hızlı açılsın isteniyorsa
Çok sayıda iç servis varsa
Router NAT Reflection performansı zayıfsa
Bunu router’ın DNS ayarlarından, Pi-hole / AdGuard Home üzerinden veya yerel DNS sunucusuyla yapmak mümkündür.
5. MikroTik kullanıyorsanız Hairpin NAT kuralı ekleyin
MikroTik gibi gelişmiş router’larda NAT Loopback çoğu zaman özel NAT kuralıyla çözülür. MikroTik dokümantasyonu Hairpin NAT senaryosunda LAN’daki cihazın public IP üzerinden yine LAN’daki sunucuya erişmesini açıkça anlatır.
Genel mantık şudur:
Önce dışarıdan gelen port için dst-nat kuralı olmalıdır.
Ardından LAN’dan public IP’ye giden ve tekrar LAN’a dönen trafik için masquerade / src-nat kuralı gerekir.
Hairpin NAT kuralı NAT listesindeki diğer kurallardan önce doğru sırada yer almalıdır.
Burada doğrudan her sisteme aynı komutu vermek doğru olmaz. Çünkü MikroTik yapılandırması WAN IP, LAN subnet, port ve interface isimlerine göre değişir. Ancak sorun MikroTik’teyse aranacak ana kavram Hairpin NAT olmalıdır.
6. OpenWrt kullanıyorsanız port forward içinde loopback ayarını kontrol edin
OpenWrt tarafında port yönlendirme kuralları içinde NAT loopback desteği bulunabilir. OpenWrt firewall/NAT örneklerinde DNAT, SNAT ve masquerading gibi NAT yapılandırmalarının firewall üzerinden yönetildiği açıklanır.
OpenWrt’de kontrol edilmesi gerekenler:
Port forward kuralı doğru zone üzerinden mi çalışıyor?
Hedef IP ve port doğru mu?
Loopback seçeneği etkin mi?
LAN zone’dan gelen trafik için kural geçerli mi?
Birden fazla LAN/VLAN varsa loopback yalnızca ana LAN’da mı çalışıyor?
Firewall yeniden başlatıldı mı?
OpenWrt’de birden fazla VLAN veya farklı firewall zone kullanılıyorsa NAT Loopback her zone için otomatik çalışmayabilir. Bu durumda kural kapsamı ayrıca düzenlenmelidir.
7. Çift NAT varsa yapıyı sadeleştirin
Evlerde sık görülen sorunlardan biri de çift NAT’tır. ISS modemi router gibi çalışır, arkasına ikinci bir router takılır ve iki cihaz da NAT yapar. Bu durumda port yönlendirme ve NAT Loopback karmaşık hale gelir.
Çift NAT belirtileri:
Ana modem farklı IP bloğu dağıtır.
İkinci router da ayrı IP bloğu dağıtır.
Port yönlendirme iki cihazda da yapılmak zorunda kalır.
DDNS ikinci router’da doğru public IP’yi göremeyebilir.
İçeriden dış alan adıyla erişim tutarsız çalışır.
Online oyun, kamera, NAS veya VPN bağlantıları sorun çıkarır.
Mümkünse ISS modem bridge moda alınır ve asıl router tüm NAT/firewall işini üstlenir. Bridge mod mümkün değilse modem üzerinde DMZ veya doğru port yönlendirme yapılabilir; ancak bu yapı güvenlik açısından dikkatli kurulmalıdır.
8. Router yönetim paneli dış alan adını yakalıyorsa yönetim erişimini kapatın
Bazı modemlerde içeriden public IP veya DDNS adresine gidildiğinde beklenen sunucu yerine modem/router giriş ekranı açılır. Bu durumda router, dış IP’ye gelen isteği kendi yönetim paneli gibi yorumluyor olabilir.
Kontrol edin:
Router yönetim paneli WAN tarafından açık mı?
Web yönetim portu 80 veya 443 mü?
Aynı portu iç sunucu için yönlendirmeye çalışıyor musunuz?
Remote Management / Uzaktan Yönetim açık mı?
Router HTTPS yönetimi ile web sunucusu portu çakışıyor mu?
Güvenlik açısından WAN üzerinden router yönetimini kapatmak daha doğru olur. Eğer yönetim portu 80/443 kullanıyorsa ve siz web sunucusu yayınlıyorsanız port çakışması yaşanabilir.
9. DDNS ve DNS çözümlemesini kontrol edin
Bazen NAT Loopback sanılan sorun aslında DNS çözümleme problemidir. DDNS adresi eski public IP’ye gidiyorsa içeriden veya dışarıdan bağlantı beklenen yere ulaşmaz.
Kontrol edin:
DDNS güncel public IP’yi gösteriyor mu?
Alan adı doğru IP’ye çözülüyor mu?
Router DDNS güncellemesini yapabiliyor mu?
Cloudflare proxy açık mı?
İçeride farklı DNS, dışarıda farklı DNS sonucu mu var?
IPv6 kayıtları bağlantıyı farklı yere mi götürüyor?
Özellikle Cloudflare kullanılıyorsa port, proxy ve SSL ayarları da kontrol edilmelidir. Bazı servisler Cloudflare proxy arkasında beklenmedik davranabilir.
10. Router NAT Loopback desteklemiyorsa çözümü router’dan beklemeyin
Bazı ISS modemleri NAT Loopback’i hiç desteklemez. Arayüzde ayar yoktur, firmware kapalıdır veya cihaz sadece temel ev kullanımı için tasarlanmıştır. Bu durumda aynı modemle NAT Loopback’i zorlamak zaman kaybı olabilir.
Alternatif çözümler:
Split DNS kullanmak
Pi-hole veya AdGuard Home ile yerel DNS tanımı yapmak
Hosts dosyasıyla geçici yerel çözüm yapmak
Daha gelişmiş router kullanmak
ISS modemini bridge moda almak
OpenWrt / pfSense / MikroTik gibi gelişmiş cihazla yönetmek
İç ağda yerel IP ile, dışarıda domain ile erişim kullanmak
Burada en pratik çözüm çoğu ev kullanıcısı için Split DNS’tir. Çünkü hem performanslıdır hem de router’ın desteklemediği NAT Loopback özelliğine bağımlı kalmaz.