Palo Alto NAT Nasıl Çalışır? Source NAT, Destination NAT ve Troubleshooting Rehberi

Bir kullanıcı internete çıkamıyor.

Bir sunucu dışarıdan erişilemiyor.

Public IP doğru.

NAT kuralı da ekranda doğru görünüyor.

İlk şüpheli çoğu zaman:

“NAT çalışmıyor.”

oluyor.

Ancak Palo Alto Networks firewall’larda NAT problemi gibi görünen birçok olayın gerçek nedeni NAT olmayabilir.

Sorun;

routing,

Security Policy,

zone seçimi,

return path,

yanlış NAT rule sıralaması

veya doğrudan session davranışı olabilir.

Bu nedenle NAT troubleshooting yaparken yalnızca Policies > NAT ekranına bakmak yerine paketin firewall içerisindeki yolculuğunu anlamak gerekir.

Palo Alto NAT nedir?

Network Address Translation — NAT, firewall üzerinden geçen paketlerin source veya destination IP adreslerini ve gerektiğinde portlarını değiştirmek için kullanılır.

Palo Alto Networks NGFW üzerinde başlıca iki temel NAT senaryosu vardır:

Source NAT — SNAT

ve

Destination NAT — DNAT

Bunların yanında U-Turn NAT, port translation, bi-directional NAT ve farklı gelişmiş kullanım senaryoları da bulunur.

NAT Policy ile Security Policy’nin aynı şey olmadığını özellikle vurgulamak gerekir.

NAT Policy adresi çevirir.

Security Policy trafiğe izin verir veya engeller.

Dolayısıyla doğru NAT rule’un eşleşmesi, trafiğin otomatik olarak izinli olduğu anlamına gelmez. Palo Alto Networks de NAT trafiğinin ayrıca uygun bir Security Policy ile izin verilmesi gerektiğini belirtiyor. Palo Alto Networks TechDocs

Source NAT nedir?

Source NAT, paketin kaynak IP adresini değiştirmek için kullanılır.

En yaygın kullanım senaryosu iç ağdaki private IP adreslerinin internete çıkarken public IP adresine çevrilmesidir.

Örneğin:

Internal Client
10.10.10.25
      ↓
Palo Alto Firewall
      ↓
Source NAT
      ↓
203.0.113.100
      ↓
Internet

Dış dünyadaki sunucu artık:

10.10.10.25

adresini değil:

203.0.113.100

adresini görür.

PAN-OS üç temel Source NAT tipini destekler:

Static IP

Dynamic IP

Dynamic IP and Port — DIPP Palo Alto Networks TechDocs

Static IP Source NAT

Static IP NAT, bir source IP’nin belirli bir translated IP’ye 1:1 eşlenmesini sağlar.

Source port değiştirilmez.

Örneğin:

10.10.10.25 → 203.0.113.25

şeklinde sabit bir mapping oluşturulabilir.

Belirli bir internal host’un her zaman aynı translated IP ile görünmesinin gerekli olduğu senaryolarda kullanılabilir. Palo Alto Networks TechDocs

Dynamic IP Source NAT

Dynamic IP NAT, kaynak IP’yi NAT pool içerisindeki kullanılabilir bir adrese dinamik olarak çevirir.

Ancak source port değiştirilmez.

Burada önemli nokta NAT pool kapasitesidir.

Çünkü Dynamic IP modelinde adresler 1:1 mantığına yakın şekilde kullanıldığından yeterli translated IP bulunması gerekir. Palo Alto Networks, NAT pool’daki kullanılabilir adresler tükendiğinde yeni translation gerektiren bağlantıların düşebileceğini belirtiyor. Palo Alto Networks TechDocs

Dynamic IP and Port — DIPP nedir?

Kurumsal ortamlarda internet çıkışı için en sık karşılaşılan yöntemlerden biri:

Dynamic IP and Port — DIPP

kullanımıdır.

DIPP hem source IP’yi hem de source port’u değiştirebilir.

Böylece çok sayıda internal host tek bir public IP veya küçük bir public NAT pool üzerinden internete çıkabilir.

Örneğin:

10.10.10.25:50432
10.10.10.26:49120
10.10.10.27:55001
          ↓
        DIPP
          ↓
203.0.113.100:farklı-portlar

Firewall session’ları translated source port’lar sayesinde birbirinden ayırabilir.

Palo Alto Networks DIPP’yi çok sayıda internal host’un ortak public address pool kullanmasını sağlayan Source NAT yöntemi olarak tanımlar. Palo Alto Networks TechDocs

Persistent DIPP nedir?

Bazı uygulamalar klasik DIPP davranışına karşı daha hassas olabilir.

Özellikle STUN kullanan:

VoIP,

video conferencing,

gerçek zamanlı iletişim

uygulamalarında aynı internal IP/port çiftinin farklı session’larda farklı public IP/port kombinasyonlarına çevrilmesi sorun yaratabilir.

Persistent DIPP belirli private source IP/port çiftinin translated IP/port mapping’ini sonraki session’larda koruyabilir.

PAN-OS 11.1.1 ve sonraki sürümlerde Persistent DIPP NAT policy seviyesinde yapılandırılabiliyor. Palo Alto Networks TechDocs

Destination NAT nedir?

Destination NAT gelen paketin destination IP adresini değiştirmek için kullanılır.

En yaygın örnek dışarıdaki kullanıcıların public IP üzerinden iç network veya DMZ’deki sunucuya erişmesidir.

Örneğin:

Internet Client
       ↓
203.0.113.10:443
       ↓
Palo Alto Firewall
       ↓
Destination NAT
       ↓
10.20.30.10:443
       ↓
Web Server

Burada kullanıcı:

203.0.113.10

adresine bağlanır.

Firewall destination address’i:

10.20.30.10

olarak çevirir.

PAN-OS Destination NAT tarafında static translation ve dynamic IP/session distribution gibi modelleri destekler; port forwarding/port translation da uygulanabilir. Palo Alto Networks TechDocs

Palo Alto DNAT’ta en sık yapılan hata

Palo Alto NAT troubleshooting konusunda en kritik bilgilerden biri Security Policy içerisindeki pre-NAT / post-NAT mantığıdır.

Şöyle bir senaryo düşünelim:

Internet
   ↓
203.0.113.10:443
   ↓
Firewall
   ↓
DNAT
   ↓
10.20.30.10:443

Public IP:

203.0.113.10

Server IP:

10.20.30.10

Public taraf:

Untrust

Server taraf:

DMZ

Security Policy oluştururken Palo Alto’nun beklediği mantık şöyledir:

Source Zone:
Untrust

Destination Zone:
DMZ

Destination Address:
203.0.113.10

İlk bakışta bu yapı garip görünebilir.

Çünkü:

Destination Zone = Post-NAT zone

ama:

Destination Address = Pre-NAT address

kullanılır.

Palo Alto Networks dokümantasyonu Security Policy adreslerinin original/pre-NAT paket adreslerine, destination zone’un ise trafiğin translation sonrasında ulaşacağı zone’a göre belirlenmesi gerektiğini açıkça belirtir. Palo Alto Networks TechDocs

Bu Palo Alto NAT troubleshooting sırasında bilinmesi gereken en önemli kurallardan biridir.

NAT Policy içerisindeki Destination Zone hangisi olmalı?

İşin daha ilginç kısmı burada başlar.

Aynı DNAT örneğinde NAT rule’un Destination Zone’u ile Security Policy Destination Zone’u aynı olmak zorunda değildir.

NAT Policy:

Source Zone      : Untrust
Destination Zone : Untrust
Destination IP   : 203.0.113.10

olabilir.

Security Policy ise:

Source Zone      : Untrust
Destination Zone : DMZ
Destination IP   : 203.0.113.10

olabilir.

Neden?

Çünkü Palo Alto NAT rule eşleşmesini değerlendirirken önce original destination IP için route lookup gerçekleştirir.

Public IP’nin normal routing sonucu Untrust tarafına işaret ediyorsa NAT rule’un destination zone’u:

Untrust

olur.

DNAT belirlendikten sonra gerçek sunucunun:

10.20.30.10

adresine göre destination zone:

DMZ

olarak belirlenir ve Security Policy bu post-NAT zone’u kullanır. Palo Alto Networks TechDocs

Kısaca:

AlanKullanılan değer
NAT Rule Destination AddressPre-NAT IP
NAT Rule Destination ZoneOriginal destination route lookup sonucu
Security Policy Destination AddressPre-NAT IP
Security Policy Destination ZonePost-NAT gerçek destination zone

Bu tablo tek başına birçok Palo Alto NAT problemini çözebilir.

PAN-OS NAT işlem sırası nasıl çalışır?

Burada sık yapılan başka bir hata var.

Paket akışını:

Packet → NAT → Routing → Security Policy

şeklinde düşünmek tam olarak doğru değildir.

PAN-OS davranışını troubleshooting açısından daha doğru şekilde şöyle düşünebiliriz:

Incoming Packet
      ↓
Original Packet Information
      ↓
Route Lookup
(original destination üzerinden)
      ↓
NAT Rule Match
      ↓
Post-NAT Destination belirlenir
      ↓
Security Policy Match
Pre-NAT addresses
+
Post-NAT destination zone
      ↓
Session oluşturulur
      ↓
Address/Port Translation
      ↓
Egress

Palo Alto’nun resmi dokümantasyonuna göre firewall ingress sırasında önce route lookup yaparak egress interface ve zone’u belirler, ardından NAT rule eşleşmesini değerlendirir. Security Policy original source/destination address’leri fakat post-NAT zone’ları kullanır. Gerçek IP/port translation paket firewall’dan çıkarken uygulanır. Palo Alto Networks TechDocs

Bu ayrıntı özellikle packet-flow troubleshooting sırasında çok değerlidir.

NAT kuralları hangi sırayla değerlendirilir?

Palo Alto NAT rulebase yukarıdan aşağıya değerlendirilir.

İlk eşleşen NAT rule uygulanır.

Aynı paket üzerinde sonraki NAT rule’lar değerlendirilmez. Palo Alto Networks TechDocs

Bu nedenle genel prensip:

Specific NAT Rules → üstte

General NAT Rules → altta

olmalıdır.

Örneğin:

Rule 1
10.10.10.25 → özel public IP

Rule 2
10.10.10.0/24 → genel internet DIPP

mantıklı bir sıralamadır.

Tersine:

Rule 1
10.10.10.0/24 → genel DIPP

Rule 2
10.10.10.25 → özel public IP

yazılırsa 10.10.10.25 ilk rule tarafından yakalanabilir ve ikinci NAT rule’a hiç ulaşmayabilir.

Palo Alto Networks bu nedenle NAT rule’ların most specific → least specific sırasıyla konumlandırılmasını önerir. Palo Alto Networks TechDocs

U-Turn NAT nedir?

U-Turn NAT, içerideki bir kullanıcının yine kurum içerisindeki ancak public IP/FQDN üzerinden yayınlanan bir servise erişmek istediği senaryolarda kullanılır.

Örneğin:

www.company.com

DNS tarafından:

203.0.113.10

olarak çözülüyor.

Ancak gerçek sunucu:

10.20.30.10

adresinde ve DMZ’de bulunuyor.

Internal kullanıcı:

10.10.10.25

tarayıcıya:

https://www.company.com

yazıyor.

DNS cevabı:

203.0.113.10

oluyor.

Trafik:

Internal Client
10.10.10.25
        ↓
203.0.113.10
        ↓
Firewall
        ↓
U-Turn DNAT
        ↓
10.20.30.10
        ↓
DMZ Server

şeklinde tekrar kurum içerisine yönlendirilir.

Palo Alto Networks resmi dokümantasyonunda bu yapıyı Destination U-Turn NAT olarak tanımlar. Palo Alto Networks TechDocs

U-Turn NAT’ta Source NAT her zaman gerekir mi?

Hayır.

Bu tamamen topolojiye ve return path’e bağlıdır.

Sunucunun dönüş trafiği aynı firewall üzerinden dönüyorsa yalnızca destination translation yeterli olabilir.

Fakat server’ın dönüş yolunun client’a doğrudan gidebildiği veya asymmetric routing oluşabilecek topolojilerde Source NAT kullanmak gerekebilir.

Dolayısıyla U-Turn NAT için:

“Mutlaka SNAT gerekir.”

veya

“SNAT hiçbir zaman gerekmez.”

gibi genel bir kural doğru değildir.

Asıl soru:

Return traffic aynı stateful firewall üzerinden geri gelecek mi?

olmalıdır.

NAT troubleshooting’e nereden başlanmalı?

Ben NAT problemi gördüğümde yapılandırmayı rastgele değiştirmek yerine trafik akışını belirli bir sıra ile kontrol etmeyi tercih ederim.

1. Routing doğru mu?

İlk soru:

Firewall destination’a nasıl ulaşacak?

PAN-OS üzerinde routing table kontrol edilebilir:

show routing route

Belirli bir route’u incelemek için:

show routing fib virtual-router <VR-NAME>

kullanılabilir.

Palo Alto’nun networking CLI cheat sheet’i bu komutları routing troubleshooting için önerir. Palo Alto Networks TechDocs

DNAT’ta route lookup mantığının özellikle önemli olduğunu unutmayın.

Çünkü NAT rule’un destination zone seçimi original destination üzerinden yapılan route lookup’a bağlıdır.

2. Doğru NAT rule gerçekten eşleşiyor mu?

Konfigürasyona bakarak:

“Bu rule kesin match olur.”

demek yerine test etmek daha doğrudur.

PAN-OS CLI üzerinde:

test nat-policy-match

kullanılabilir. Palo Alto Networks TechDocs

Örneğin güncel CLI hiyerarşisinde şu parametreler desteklenmektedir:

test nat-policy-match
 from <zone>
 to <zone>
 source <ip>
 destination <ip>
 source-port <port>
 destination-port <port>
 protocol <protocol-number>
``` :chatgpt-content-reference{index="16"}


Web arayüzünde de:

**Device → Troubleshooting → NAT Policy Match**

üzerinden aynı kontrol yapılabilir. :chatgpt-content-reference{index="17"}

Bu araç NAT troubleshooting sırasında son derece değerlidir.

## 3. Üstte başka NAT rule var mı?

NAT rulebase'i sadece gözle kontrol etmeyin.

Çünkü rule:

**doğru olabilir**

ama hiçbir zaman kullanılmıyor olabilir.

Özellikle geniş:

```text
Source: any
Destination: any

veya büyük subnet’leri kapsayan kurallar, altındaki daha spesifik NAT rule’ları gölgeleyebilir.

Hatırlanması gereken kural:

First match wins. Palo Alto Networks TechDocs

4. NAT Rule zone’ları doğru mu?

Source Zone gelen paketin zone’udur.

Destination Zone ise NAT rule eşleşmesinde original destination’a yapılan route lookup ile belirlenir.

DNAT senaryolarında bunun post-NAT server zone’uyla karıştırılması çok yaygın bir hatadır.

Örneğin:

Internet → Public IP → DMZ Server

NAT rule:

Untrust → Untrust

olabilir.

Security Policy ise:

Untrust → DMZ

olabilir.

İki rule’da destination zone’un farklı olması yanlışlık değildir.

PAN-OS’un NAT çalışma mantığının sonucudur. Palo Alto Networks TechDocs

5. Pre-NAT ve Post-NAT IP’leri doğru mu?

Troubleshooting sırasında dört değeri birbirinden ayırın:

Original Source IP
Original Destination IP

Translated Source IP
Translated Destination IP

Örneğin:

Original Source:
198.51.100.50

Original Destination:
203.0.113.10

Translated Source:
198.51.100.50

Translated Destination:
10.20.30.10

Bu dört değeri net yazmadan DNAT troubleshooting yapmak gereksiz yere karmaşıklaşır.

Özellikle Security Policy’de destination address:

203.0.113.10

yani pre-NAT destination olmalıdır. Palo Alto Networks TechDocs

6. Security Policy izin veriyor mu?

NAT rule doğru eşleşse bile Security Policy trafiğe izin vermiyorsa bağlantı kurulmaz.

DNAT örneğinde Security Policy mantığı:

From:
Untrust

To:
DMZ

Destination:
203.0.113.10

şeklindedir.

Burada yine:

Zone → post-NAT

Address → pre-NAT

mantığı kullanılır. Palo Alto Networks TechDocs

Security rule oluştururken yalnızca service/port yaklaşımı yerine mümkün olduğunda App-ID ve application-default gibi Palo Alto’nun policy best practice’lerini de dikkate almak gerekir. Palo Alto Networks TechDocs

7. Return traffic aynı firewall üzerinden dönüyor mu?

Stateful firewall troubleshooting’in vazgeçilmez sorusudur:

Cevap paketi nereden dönüyor?

Client:

10.10.10.25

üzerinden firewall’a geliyor.

Firewall DNAT yapıyor:

203.0.113.10
↓
10.20.30.10

Server ise response paketini başka gateway üzerinden gönderiyorsa:

asymmetric routing

oluşabilir.

İleri trafik firewall üzerinden geçerken dönüş trafiği başka yerden gider.

Böyle bir durumda NAT rule tamamen doğru olsa bile session beklediğiniz şekilde çalışmayabilir.

Bu nedenle:

Forward Path + Return Path

birlikte incelenmelidir.

8. Session üzerinde NAT gerçekten uygulanmış mı?

Firewall’ın ne yapmasını beklediğinize değil, gerçekte ne yaptığına bakın.

Palo Alto Networks NAT örneklerinde session çıktısını translation doğrulamak için kullanıyor.

Örneğin:

show session all filter destination 203.0.113.10

ile ilgili session bulunabilir.

Palo Alto’nun resmi Source + Destination NAT örneğinde de show session all filter destination ... komutu translated source ve destination bilgilerini doğrulamak için kullanılıyor. Palo Alto Networks TechDocs

Session detayında:

original source,

original destination,

translated source,

translated destination,

source/destination zone,

NAT rule,

Security Policy

gibi bilgileri birlikte değerlendirmeniz gerekir.

Çoğu NAT problemi burada oldukça hızlı şekilde görünür hale gelir.

9. NAT pool kapasitesini kontrol edin

Özellikle yoğun Source NAT ortamlarında konfigürasyon doğru olsa bile translation kaynakları tükenebilir.

Palo Alto CLI’da NAT pool kullanımını kontrol etmek için:

show running ippool

ve:

show running global-ippool

komutları kullanılabilir. Palo Alto Networks TechDocs

Bu nokta binlerce veya yüz binlerce concurrent session bulunan internet edge tasarımlarında önemlidir.

Sorun:

“NAT kuralı eşleşmiyor.”

değil,

“NAT resource kalmadı.”

olabilir.

Destination NAT ve port translation

DNAT yalnızca IP adresini değiştirmek zorunda değildir.

Örneğin kullanıcı:

203.0.113.10:443

adresine bağlanırken internal uygulama:

10.20.30.10:8443

portunda çalışıyor olabilir.

Firewall:

203.0.113.10:443
        ↓
10.20.30.10:8443

şeklinde destination address ve destination port translation gerçekleştirebilir.

PAN-OS bu tür port translation senaryolarını Destination NAT içerisinde destekler. Palo Alto Networks TechDocs

Troubleshooting sırasında bu nedenle yalnızca IP adreslerini değil:

source port

ve

destination port

bilgilerini de kontrol etmek gerekir.

NAT problemi için pratik kontrol listesi

Bir Palo Alto NAT sorunu geldiğinde benim önerdiğim sıra şöyledir:

  1. Original packet nedir? Source IP, destination IP, source port ve destination port’u yaz.
  2. Route lookup ne söylüyor? Original destination hangi zone/interface’e gidiyor?
  3. Hangi NAT rule eşleşiyor? test nat-policy-match ile doğrula.
  4. Üstte daha genel bir NAT rule var mı? Rule order’ı kontrol et.
  5. Translation doğru mu? Pre-NAT / post-NAT değerlerini karşılaştır.
  6. Security Policy doğru mu? Pre-NAT addresses + post-NAT destination zone mantığını kontrol et.
  7. Session oluşuyor mu? Session table’da NAT ve policy sonucunu gör.
  8. Return path aynı firewall’a geliyor mu? Asymmetric routing ihtimalini ele.
  9. NAT pool kapasitesi yeterli mi? Özellikle DIPP ortamlarında kontrol et.
  10. Uçtan uca gerçek servis çalışıyor mu? Yalnızca ping yerine ilgili TCP/UDP/application akışını test et.

Bu yaklaşım rastgele policy değiştirmekten çok daha hızlı sonuç verir.

Palo Alto NAT troubleshooting için temel CLI komutları

Sık kullandığım temel set şöyle özetlenebilir:

show routing route

Routing table’ı kontrol eder.

show running nat-policy

Çalışan NAT policy table’ını gösterir.

test nat-policy-match

Belirli bir trafik için hangi NAT rule’un eşleşeceğini test eder.

show session all filter destination <IP>

İlgili session’ları bulmaya yardımcı olur.

show running ippool

NAT pool kullanımını gösterir. Palo Alto Networks TechDocs

Bunları rastgele değil belirli bir packet flow üzerinden kullanmak gerekir.

NAT troubleshooting’in asıl mantığı

NAT troubleshoot ederken:

“NAT rule doğru mu?”

sorusu tek başına yeterli değildir.

Daha doğru sorular şunlardır:

Paket hangi zone’dan geliyor?

Original destination için route ne söylüyor?

Hangi NAT rule ilk eşleşiyor?

Translation sonrasında trafik hangi zone’a gidiyor?

Security Policy hangi original address ve post-NAT zone kombinasyonunu görüyor?

Session gerçekten oluşuyor mu?

Dönüş paketi aynı firewall üzerinden geliyor mu?

Bu soruların tamamına cevap verdiğinizde NAT problemi genellikle çok daha görünür hale gelir.

Kısa özet

Palo Alto NAT troubleshooting için akılda tutulması gereken üç temel unsur:

Routing + NAT + Security Policy

Ancak bunların birbirinden bağımsız olmadığını bilmek gerekir.

Özellikle DNAT tarafında şu kural kritik:

Security Policy Address = Pre-NAT
Security Policy Destination Zone = Post-NAT

ve NAT rulebase için:

First match wins.

Bu nedenle:

Specific NAT rules üstte, general NAT rules altta tutulmalıdır. Palo Alto Networks de NAT rulebase’in yukarıdan aşağı değerlendirildiğini ve daha spesifik kuralların daha yukarıda bulunmasını öneriyor. Palo Alto Networks TechDocs

Firewall çoğu zaman cevabı zaten verir.

Önemli olan yalnızca konfigürasyona değil:

paketin gerçek yolculuğuna bakmaktır.


Sık Sorulan Sorular

Palo Alto Source NAT nedir?

Source NAT, paketin kaynak IP adresini değiştirir. PAN-OS Static IP, Dynamic IP ve Dynamic IP and Port (DIPP) Source NAT tiplerini destekler. Palo Alto Networks TechDocs

Palo Alto DIPP nedir?

Dynamic IP and Port, çok sayıda internal host’un bir veya daha fazla public IP üzerinden farklı translated source port’larla internete çıkabilmesini sağlayan Source NAT yöntemidir. Palo Alto Networks TechDocs

Palo Alto Destination NAT Security Policy’de hangi IP kullanılmalıdır?

Security Policy source ve destination address alanlarında original/pre-NAT adresler kullanılmalıdır. Destination zone ise post-NAT gerçek destination zone olmalıdır. Palo Alto Networks TechDocs

NAT rule’da destination zone pre-NAT mı post-NAT mı?

NAT rule’un destination zone’u original destination IP için yapılan route lookup sonucuna göre belirlenir. DNAT sonrası gerçek server zone’u ise Security Policy’nin destination zone’unda kullanılır. Palo Alto Networks TechDocs

Palo Alto NAT kurallarını hangi sırayla işler?

NAT rules yukarıdan aşağı değerlendirilir ve ilk eşleşen rule uygulanır. Bu nedenle daha spesifik NAT kuralları daha genel kuralların üzerinde tutulmalıdır. Palo Alto Networks TechDocs

Palo Alto’da NAT rule nasıl test edilir?

CLI üzerinden test nat-policy-match, web arayüzünde ise Device → Troubleshooting → NAT Policy Match kullanılabilir. Palo Alto Networks TechDocs

U-Turn NAT nedir?

Internal kullanıcıların public IP/FQDN kullanarak yine kurum içerisindeki bir sunucuya erişmesini sağlayan Destination NAT senaryosudur.


Cem Kemal Erbaş sitesinden daha fazla şey keşfedin

Subscribe to get the latest posts sent to your email.

About Cem Kemal Erbaş

Check Also

🔐 Rol Bazlı Politika = Daha Az Gürültü, Daha Fazla Görünürlük

Klasik firewall politikalarında kaynak genelde IP adresidir. Fakat modern kurumsal ağlarda IP artık tek başına …

Bir yanıt yazın