İptables'daki mangle tablosu nedir?


28

Ubuntu sunucumdaki paketleri filtrelemek ve işlemek için iptable kuralları kullanıyorum. ama mangle masasını anlayamıyorum.

Bu iptables öğreticisinden alıntı yapmak :

Bu tablo, daha önce belirttiğimiz gibi, çoğunlukla paketleri yönetmek için kullanılmalıdır. Başka bir deyişle, TOS (Hizmet Türü) alanlarını vb. Değiştirmek için kullanılabilecek mangle eşleştirmelerini vb. Serbestçe kullanabilirsiniz.

Herhangi bir filtreleme için bu tabloyu kullanmamanız şiddetle tavsiye edilir; DNAT, SNAT veya Masquerading da bu tabloda çalışmayacaktır.

Birisi bana mangle masasını tarif edebilir ve ne zaman kullanmam gerektiğini anlamak için örnekler verebilir mi?


6
iptables(8)Adam sayfa bozmak tablo kullanımının birçok güzel örneklerini içeren istediğiniz bilgilerin hepsi var.
Michael Hampton

Yanıtlar:


23

Diğer iyi cevaplara ek olarak, yakın zamanda, her biri IP için mevcut yükü azaltan yükü arttıran PPPoE, PPP ve ATM'den getirilen trafiğin neden olduğu MTU (maksimum iletim birimi) tutarsızlıklarını ayarlamak için mangle tablosunu kullanmak zorunda kaldım. Ethernet çerçevesinin normal 1500 baytından.

Borunun her iki ucundaki sistemler, normal olduğu gibi, MTU'larını 1500'lük normal varsayılan değere sahip olacaktı ve bu yüzden büyüklükte IP çerçeveleri göndermeye çalışacaklardı. Mevcut gerçek yük kapasitesi daha küçük olduğundan, bu durum genellikle gönderenin paketlerin parçalanmamasını istediği ve paketlerin tamamen düşürülmesini istediği dışında paket parçalanmasına neden olacaktır.

İdeal bir dünyada, MTU keşfi yolu, uç noktaların MTU'larını gerektiği gibi azaltmasına izin verecekti, ancak bu keşif ICMP'ye bağlı ve kontrolüm dışındaki ağlar güvenlik nedeniyle ICMP'yi bırakacak şekilde sık sık yapılandırıldı.

Tek seçenek, taşıma katmanındaki maksimum segment boyutunu azaltmak üzere TCP SYN paketlerini değiştirmek amacıyla yönlendiricimdeki paket yönetimini kullanmaktı:

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452

Bu tür şeyler dağınıktır ve ideal olarak kaçınılmalıdır, ancak başka seçeneğim yoktu ve bu sorunu çözdü.

Bu örneklerin yanı sıra man sayfasının da yardımcı olacağını umuyorum.


23

Geçenlerde burada iyi bir açıklama buldum . Temel olarak, IP paketlerinin daha ileriye yönelik yönlendirme kararını etkilemesi için belirli başlıklar belirlemek için kullanılır. Varsa, TTL seçeneği muhtemelen en ilginç olanıdır:

TTL hedefi, paketin TTL (Yaşam Süresi) alanını değiştirmek için kullanılır. Paketlere yalnızca belirli bir TTL'ye sahip olmalarını söyleyebiliriz. Bunun iyi bir nedeni, kendimizi meraklı İnternet Servis Sağlayıcılarına vermek istemememiz olabilir. Bazı İnternet Servis Sağlayıcıları, tek bir bağlantıda birden fazla bilgisayarı çalıştıran kullanıcıları sevmez ve farklı TTL değerleri üreten tek bir ana bilgisayarı aradığı bilinen bazı İnternet Servis Sağlayıcıları vardır ve bunu, tek bir bilgisayara bağlı birden fazla bilgisayarın birçok belirtisinden biri olarak kabul eder. bağ.

Diğer hedefler TOS, MARK, SECMARK, CONNSECMARK.


4
Mangle ayrıca QOS'ta paket işaretlemesini işlemek için veya paketleri farklı rotalara dağıtmak için veri yükü dağıtımında kullanılır.
TomTom

8

Bir iptables noob olarak şunu söyleyebilirim: Mangle tablosu, paketlerin başlığındaki bazı özel girişleri değiştirmeye izin verir. (böyle: Hizmet Türü, Yaşam Süresi) (ayrıca özel işaretler ve güvenlik bağlam işaretleri belirlemeye izin verir)


2

İyi bir derin dalış var ama burada iptables hakkında öğretici anlamak için çok zor değil .

Mengle masası, paketin IP başlıklarını çeşitli şekillerde değiştirmek için kullanılır. Örneğin, bir paketin TTL (Yaşam Süresi) değerini, paketin dayanabileceği geçerli ağ atlama sayısını uzatma veya kısaltma olarak ayarlayabilirsiniz. Diğer IP başlıkları benzer şekillerde değiştirilebilir.

Bu tablo ayrıca, diğer tablolarda ve diğer ağ araçlarında daha fazla işlem yapmak için pakete bir iç çekirdek "işareti" yerleştirebilir. Bu işaret gerçek pakete dokunmaz, ancak işareti çekirdeğin paket sunumuna ekler.

Tüm parçaların birbirine nasıl uyduğunu ve birbiriyle nasıl etkileşime geçtiğini de açık bir şekilde açıkladığı gibi, bana çok yardımcı oldu.

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.