在 iptables 中開啟一系列連接埠的正確方法是什麼

在 iptables 中開啟一系列連接埠的正確方法是什麼

我讀過一些文章,提出了以下建議:

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

還有人指出上述方法不起作用,並且 iptables 僅支援帶有該--multiport選項的多個連接埠聲明。

有沒有正確的方法來使用 iptables 開啟多個連接埠?

答案1

這是正確的方法:

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

舉個例子。來源這裡

答案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服務

相關內容