FortiGate Session Table: Policy Değişti Ama Trafik Neden Eski Davranıyor?

FortiGate üzerinde policy veya NAT değişikliği yaptınız ancak trafik hâlâ beklediğiniz şekilde davranmıyor mu?

Sorun bazen konfigürasyondan değil, mevcut session state üzerinden kaynaklanabilir.

FortiGate stateful firewall olduğu için trafik başladığında bir session oluşturur. Bu session içerisinde policy, NAT, interface ve bağlantı durumuna ilişkin bilgiler tutulur.

Session’ı Kontrol Edin

Belirli bir kaynak için:

diagnose sys session filter clear
diagnose sys session filter src 10.10.10.25
diagnose sys session list

Gerekirse destination veya policy ID ile de filtreleyebilirsiniz:

diagnose sys session filter dst 192.168.20.10
diagnose sys session filter policy 15

Session çıktısında özellikle:

Policy ID → Source/Destination → NAT → Interface → State → Expire

bilgilerini kontrol edin.

FortiGate session table içerisinde aktif session’ın kullandığı policy_id görülebilir.

Policy Değişince Eski Session Ne Olur?

Burada önemli bir teknik ayrıntı var.

FortiGate’in varsayılan davranışında firewall-session-dirty değeri check-all olduğunda ilgili policy veya route değişikliklerinden etkilenen session’lar dirty olarak işaretlenir ve yeniden değerlendirilir.

Kontrol:

config system settings
 show
end

İlgili seçenek:

firewall-session-dirty

Başlıca davranışlar:

check-all → Etkilenen mevcut session’ları yeniden değerlendirir.
check-new → Değişiklikleri yeni session’lara uygular; mevcut session’lar eski state ile devam edebilir.
check-policy-option → Davranışı policy seviyesinde belirlemeye izin verir.

Dolayısıyla:

“Policy değiştiğinde FortiGate mevcut session’ı her zaman eski policy ile devam ettirir.”

demek doğru değildir.

Ama check-new, bazı özel session tipleri veya belirli routing/NAT senaryolarında mevcut session’ın eski bilgileriyle devam etmesi mümkündür. Fortinet’in güncel dokümantasyonunda da check-new kullanıldığında mevcut session’ların route değişiminden sonra eski path üzerinde kalabildiği belirtiliyor.

NAT ve Routing Değişikliklerinde de Session’a Bakın

Özellikle şu işlemlerden sonra session table kontrolü önemlidir:

Firewall Policy değişikliği → NAT/IP Pool değişikliği → VIP/DNAT değişikliği → Routing/SD-WAN değişikliği → VPN troubleshooting

Örneğin routing table yeni yolu gösterdiği halde mevcut bir session eski path’e bağlı kalıyor olabilir.

Bu nedenle:

Routing Table ne diyor?

kadar:

Aktif session hangi interface’i kullanıyor?

sorusu da önemlidir. Fortinet de policy route troubleshooting sırasında eski session’ın önceki path’i kullanmasının sorun yaratabileceğini özellikle belirtiyor.

Session Temizlemek Gerekirse Dikkat

Troubleshooting sırasında problemi gerçekten session kaynaklı olarak doğrulamak için yalnızca ilgili session temizlenebilir:

diagnose sys session filter clear
diagnose sys session filter src 10.10.10.25
diagnose sys session filter dst 192.168.20.10
diagnose sys session list
diagnose sys session clear

Önce list ile filtrenin doğru session’ları seçtiğini doğrulamak önemlidir.

Filtresiz diagnose sys session clear çalıştırmak tüm session’ları etkileyebilir ve production ortamında ciddi bağlantı kesintisine neden olabilir. Fortinet de yalnızca etkilenen session’ların filtrelenerek temizlenmesini öneriyor.

Benim Troubleshooting Sıram

Policy → Session → NAT → Route → Interface → Return Path

Özellikle yeni policy oluşturduğunuz halde trafik eski policy üzerinden görünüyorsa:

Önce session table’a bakın.

Çünkü troubleshooting sırasında sadece:

“Konfigürasyon şu anda ne diyor?”

değil,

“Mevcut session şu anda ne yapıyor?”

sorusu da cevaplanmalıdır.

🔥 Yeni konfigürasyon doğru olabilir; fakat aktif session state’i hâlâ problemin önemli bir parçası olabilir.

About Cem Kemal Erbaş

Buna da göz atın

FortiGate IPsec VPN Troubleshooting: Tünel UP Ama Trafik Neden Geçmiyor?

IPsec VPN çalışmıyorsa sorun her zaman Phase 1 değildir. FortiGate tarafında en önemli konu, problemi …

Bir yanıt yazın