İptables'daki OUTPUT ve FORWARD zincirleri arasındaki fark nedir?


22

CentOS 6.0

IPtables çalışıyorum ve FORWARD ve OUTPUT zincirleri arasındaki fark konusunda kafam karıştı. Eğitim belgelerimde şöyle yazıyor:

Bir zincire (-A) ekliyorsanız veya (-D) listesinden siliyorsanız, onu üç yönden birinde seyahat eden ağ verilerine uygulamak istersiniz:

  • GİRİŞ - Gelen tüm paketler bu zincirdeki kurallara göre kontrol edilir.
  • ÇIKTI - Tüm giden paketler bu zincirdeki kurallara göre kontrol edilir.
  • FORWARD - Başka bir bilgisayara gönderilen tüm paketler bu zincirdeki kurallara göre kontrol edilir.

Bu beni şaşırtıyor, çünkü aklımda, bir ana bilgisayar için ayrılan paketler tükeniyor. Öyleyse bir paketin başka bir bilgisayara gideceği, ancak "giden" OLMAMASI gereken senaryolar var mı? İptables ikisi arasında nasıl ayrım yapardı?

Yanıtlar:


26

ÇIKIŞ ana bilgisayar tarafından gönderilen paketler içindir. Hedefleri genellikle başka bir ana bilgisayardır, ancak geridöngü arabirimi aracılığıyla aynı ana bilgisayar olabilir, bu nedenle OUTPUT'tan geçen tüm paketler aslında dışarıda değildir.

FORWARD, ne host tarafından yayılan ne de host'a yönlendirilen paketler içindir. Bunlar, sunucunun sadece yönlendirdiği paketlerdir.

Paket yönetimi ve NAT içine kazmaya başladığınızda, hikayenin tamamı daha karmaşıktır .


İlginç ... yani benim anlayışım için, OUTPUT'un sistemden "çıkan" paketler için olduğunu ve FORWARD'ın sistemden kaynaklanan veya hedeflenmeyen paketler için olduğunu söylemek doğru olmaz mı? o ve bunun yerine sistemi "geçiyor"?
Mike B,

1
Tam olarak değil, "iletilen" paketler de ağ arayüzü tarafından "çıktı" dırlar. Aynı paketler "iletilmeden" önce "giriş" olurlar. Paket, yabancı sisteme yönelik paket içeri girer , iptables iletmek için TAMAM karar verir, paket "çıkış zincirine" girer, iptables denetler, çıktı için "tamam" dır, paket yaprakları .. basittir!
Grizly

2
@Grizly Hayır, bellekten (bu cevabı yazarken özellikle test etmediğimi itiraf ediyorum) ve bağlantı verdiğim şemaya göre, bir paket her zaman tam olarak üç filterzincirden birini ( INPUTveya OUTPUTveya FORWARD) geçer. (Başka bir zincirin daha önce düşürmediğini farz ediyorum .) mangleVe natzincirler farklı, belki de manglezinciri düşünüyorsunuz ?
Gilles 'SO- kötülük yapmayı bırak'

0

Anladığım kadarıyla:

GİRİŞ: dst IP ana bilgisayarda, birden fazla alt ağa sahip birden fazla bağlantı noktası olsa bile

ÇIKIŞ: src IP, ana bilgisayardan bağlantı noktasıdır

FORWARD: Ana bilgisayardaki dst IP'si veya ana bilgisayardan src IP adresi yok

görüntü tanımını buraya girin

Örneğin, A yönlendiricisine

GİRİŞ:

192.168.10.1 -> 192.168.10.199

192.168.10.1 -> 192.168.2.1

ÇIKIŞ:

192.168.10.199 -> xxxx

192.168.2.1 -> xxxx

İLERİ:

192.168.10.1 -> 192.168.2.199

192.168.10.1 -> 192.168.8.1

192.168.10.1 -> 192.168.8.199

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.