İptables'da bir port portu açmanın doğru yolu nedir


56

Aşağıdakileri tavsiye eden makalelerle karşılaştım:

iptables -A INPUT -p tcp 1000:2000 -j ACCEPT

Ve yukarıdakilerin işe yaramayacağını belirten diğerleri ve iptables sadece --multiportseçeneğe sahip çoklu port bildirimlerini destekliyor .

Iptables ile birçok port açmak için doğru bir yolu var mı?


Yanıtlar:


60

Bu doğru yoldur:

iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT

Örnek olarak. Kaynak buraya .


5
Kuralların durumunu bilmiyorsanız, -Ibundan biraz daha güvenlidir -A.
user9517

@Iain, bunun arkasındaki mantığı açıklayabilir misiniz?
jayhendren

2
@ jayhendren birçok kural setinde, örneğin -A INPUT -j REJECT --reject-with icmp-host-prohibitedINPUT ve diğer tabloların sonunda her şeyin kural attığı varsayılan bir düşüş olacaktır . Kullanmak -A, kuralı masanın sonuna, son kuraldan sonra ekler, böylece netfilter ilk maçta kazanılan eserler olarak değerlendirilmez. Kullanılması -Iek parçaları her zaman dikkate alınacaktır gibi masa ans başında kuralı.
user9517

4
@Iain ancak bazı kural setleri de başından filtre veya oran sınırı paketleri de kuralları vardır, bu yüzden işaret etmek faydalıdır -Ideğil her zaman size kuralkümesi bilmiyorsanız daha güvenli.
jayhendren

3
@ jayhendren Ben sadece yaptım düşünüyorum ve ayrıca her zaman biraz da biraz dedi .
user9517

54

Bana söylenen doğru, yanlış yazmış olmana rağmen (unuttun --dport).

iptables -A INPUT -p tcp --dport 1000:2000 1000 ila 2000 arası TCP bağlantı noktalarına gelen trafiği açacaktır.

-m multiport --dportssadece açmak istediğiniz aralık sürekli değilse, örneğin -m multiport --dports 80,443, aralarında olanları değil, yalnızca HTTP ve HTTPS'yi açacaksa gereklidir .

Kuralların sıralanmasının önemli olduğuna dikkat edin ve (Iain başka bir yerdeki yorumuna itiraz ettiğinden), eklediğiniz kuralların etkili olacağı bir yerde olduğundan emin olmak sizin görevinizdir.


1
İsterseniz ben de burada
allude olabilir

1
Hee hee hee! Devam et, mesaj tekrar etmeye değer!
MadHatter

2
Bu doğru cevap; daha ayrıntılı.
Andrew Kozak

10

TL; DR ama ...

Multiport modülsüz saf port aralığı: iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT

Eşdeğer multiport örneği: iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT

... ve çoklu aralıklar ile çoklu aralıklardaki çeşitlilik (evet, bu da mümkün): iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT

... ve muadili ile eşdeğer çoklu port çoklu aralık örneği: iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT

Phun var.

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.