Nedir?
iptables, gelen/giden trafiği yönetmek için kullanılan, kurallardan oluşan bir güvenlik duvarıdır. İstenmeyen iplerden gelen paketleri düşürmek, port forwarding gibi çeşitli işlemleri uygulamaya imkan tanır.
Yapısı
- Table
- Chain
- Rule
iptables, 3 temel parçadan oluşur:
Tables
Filter table:
iptables’daki default tablodur. Adından da anlaşılacağı gibi temel amacı paketleri filtrelemektir.
NAT table:
Network address translation kuralları için kullanılır. Paketlerin source ve destination adreslerini değiştirir.
Mangle table:
Bu tablo, paketin IP başlıklarını değiştirmek için kullanılır. Örneğin TTL(time to live) değeri değiştirilebilir.
RAW table:
Bağlantı takibi için RAW tablosu kullanılır.
Security table:
Güvenlik tablosu, SELinux veya SELinux güvenlik bağlamını yorumlayabilen diğer sistemlerin bu paketleri işleme şeklini etkileyecek olan paketler üzerine dahili SELinux güvenlik içeriği işaretleri göndermek için kullanılır.
Chains
Zincirler, kuralları uygulayabileceğiniz bir paketin rotasındaki noktalar/duraklar gibidir. iptables’da 5 zincir vardır, bunlar:
- Pre routing
- Input
- Forward
- Output
- Post routing
Tüm zincirler, tüm tablolarda mevcut değildir. Her zincir, paketler ve paket rotasındaki belirli bir nokta üzerinde işlem yapma seçeneği sunar.

Kurallar
Kurallar, ağ trafiğini işlemek için kullanıcı tarafından tanımlanmış komutlardır. Her zincir çağrıldığında gelen paket ile sırasıyla içinde bulunan kuralları karşılaştırır. Eğer karşılaştırılan kural paket ile uyumluysa bu kural çalıştırılır. Değilse bir sonraki kurala geçilir.
Her kural iki kısımdan oluşur:
Matching component
Kuralla eşleşecek paketi tanımlayan bilgiler: ip numarası, port numarası, interface’i
Target component
Eğer paket istenilen kriter/lerle eşleşirse tetiklenecek eylemdir. İki tip bulunur:
Terminating targets
Bu kural tetiklenince zincirden çıkar (break; gibi).
Non terminating targets
Bu kural tetiklendikten sonra, diğer kurallara bakılmaya devam edilir.
Kaynaklar:
- https://data-flair.training/blogs/what-are-iptables-in-linux/
- https://help.ubuntu.com/community/IptablesHowTo?action=show&redirect=Iptables


Leave a Reply