İptables tabloları ve zincirleri nasıl geçilir?


22

Linux'un 3 yerleşik masaya sahip olduğunu ve her birinin aşağıdaki gibi kendi zincirlerine sahip olduğunu biliyorum:

FİLTRE : ÖNLEME, İLERİ, POSTROUTING

NAT : ÖNLEME, GİRİŞ, ÇIKIŞ, POSTROUTING

MANGLE : ÖNLEME, GİRİŞ, İLERİ, ÇIKIŞ, POSTROUTING

Ancak, eğer varsa, hangi sırayla nasıl geçildiklerini anlayamıyorum. Örneğin, ne zaman nasıl geçtikleri:

  1. Yerel ağımdaki bir bilgisayara bir paket gönderiyorum
  2. Farklı bir ağdaki bir PC’ye bir paket gönderdiğimde
  3. Bir ağ geçidi bir paket aldığında ve iletmek zorunda olduğunda
  4. bana bir paket aldığımda
  5. başka bir durum (varsa)

Yanıtlar:


28

Wikipedia'da işleme sırasını göstermek için harika bir şema var .

Daha fazla ayrıntı için iptables belgelerine, özellikle tablo ve zincirlerin geçiş bölümlerine de bakabilirsiniz . Ayrıca bir akış şeması içerir .

Sıra, ağ filtresinin nasıl kullanıldığına (köprü veya ağ filtresi olarak ve uygulama katmanı ile etkileşime girip girmediğine) bağlı olarak değişir.

Genel olarak (yukarıda belirtilen bölümdeki ayrıntılarda daha fazla şeytan olmasına rağmen) zincirler şöyle işlenir:

  • "Dışarıdan trafik inbound olarak GİRİŞ zincirini Bkz için bu ana".
  • FORWARD zincirini "bu ana bilgisayarı yönlendirici olarak kullanan trafik" olarak görün (kaynak ve hedef bu ana bilgisayar değil ).
  • ÇIKIŞ zincirini " bu sunucunun göndermek istediği trafik " olarak görün.
  • PREROUTING / POSTROUTING, tablo türlerinin her biri için farklı kullanımlara sahiptir (örneğin nat tabloları için, PREROUTING, gelen (yönlendirilmiş / iletilen) SNAT trafiği içindir ve POSTROUTING, giden (yönlendirilmiş / iletilen) DNAT trafiği içindir. Daha fazla bilgi için belgelere bakın. ayrıntıları.

Çeşitli tablolar:

  • Mangle geçiş paketlerini (Hizmet Türü, Yaşam Süresi vb.) Değiştirmektir.
  • Nat, NAT kurallarına uymaktır.
  • İşaretleme ve bağlantı takibi için Raw kullanılacaktır.
  • Filtre, paketleri filtrelemek içindir.

Yani beş senaryo için:

  1. Gönderen ana makinenize iptables ile ev sahipliği yapıyorsa, ÇIKIŞ
  2. Yukarıdaki ile aynı
  3. FORWARD zinciri (ağ geçidinin iptables ile birlikte barındırılması şartıyla)
  4. Eğer "ben" iptables'lı sunucuysa, INPUT
  5. Yukarıdaki (kuralların genel kuralı olan) zincir kurallarına ve akış şemasına bakın (ve bu IPTable'larla ne yapmaya çalıştığınıza da değişir )

Ayrıca son zamanlarda bu bağlantıya rastladım - stuffphilwrites.com/2014/09/iptables-processing-flowchart . Phil Hagen'ın orada güzel bir akış şeması var.
slm

1
Başka bir iyi kaynak - digitalocean.com/community/tutorials/… .
slm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.