如何使用 Iptables 允許除兩個特定連接埠之外的所有連接埠僅用於本地 ip

如何使用 Iptables 允許除兩個特定連接埠之外的所有連接埠僅用於本地 ip

我正在尋找一種方法,僅允許本地 IP (192.168.2.*) 在我的 debian 伺服器上的所有連接埠上進行連接,但兩個特定連接埠 X 和 Y 除外,這應該允許任何 IP。如果 IP 不是本機 IP,則應封鎖除連接埠 X 和 Y 之外的所有連接埠的所有連線。

我該如何使用 Iptables 處理這種情況?

答案1

我不確定我是否理解你的意思,但這裡是如何做到的。

若要允許本機 IP 範圍 192.168.2.0/24 除兩個連接埠(X 和 Y)之外的所有連接埠,您可以使用下列規則:

iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport X -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport Y -j DROP
iptables -A INPUT -s 192.168.2.0/24 -p tcp -j ACCEPT

對於其他非本機 IP,僅允許連接到 X 和 Y,您可以使用:

iptables -A INPUT -p tcp --dport X -j ACCEPT
iptables -A INPUT -p tcp --dport Y -j ACCEPT
iptables -A INPUT -p tcp -j DROP

您沒有指定協定(TCP 或 UDP),我假設使用 TCP,如上面所述。您需要按此特定順序插入規則,並且我假設沒有其他預定義規則。

相關內容