我讀過一些文章,提出了以下建議:
iptables -A INPUT -p tcp 1000:2000 -j ACCEPT
還有人指出上述方法不起作用,並且 iptables 僅支援帶有該--multiport
選項的多個連接埠聲明。
有沒有正確的方法來使用 iptables 開啟多個連接埠?
答案1
答案2
儘管您寫錯了(您已經忘記了--dport
),但您被告知的內容是正確的。
iptables -A INPUT -p tcp --dport 1000:2000
將開放 TCP 連接埠 1000 到 2000(含)的入站流量。
-m multiport --dports
只有當您要開啟的範圍不連續時才需要,例如-m multiport --dports 80,443
,這將開啟 HTTP 和 HTTPS僅有的- 不是介於兩者之間的。
請注意,規則的順序很重要,而且(正如 Iain 在其他地方的評論中提到的那樣)您的工作是確保添加的任何規則都位於有效的位置。
答案3
長話短說,博士但是…
不含多埠模組的純埠範圍:
iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
等效多重連接埠範例:
iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT
……以及關於多範圍多端口的變化(是的,這也是可能的):
iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT
...以及具有否定的等效多端口多範圍示例:
iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT
有福恩。
答案4
還有另一種方法可以直接在 Iptables 檔案中新增條目。地點/etc/sysconfig/iptables
-A INPUT -p tcp -m multiport --dports 1024:3000 -m state --state NEW -j ACCEPT
之後重啟iptable服務