我正在尋找一種方法,僅允許本地 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,如上面所述。您需要按此特定順序插入規則,並且我假設沒有其他預定義規則。