我試圖僅透過伺服器 IP 位址之一來存取伺服器上的某些連接埠。
例如,如果伺服器有兩個 IP 位址: 1.1.1.1 1.1.1.2
我只想透過 1.1.1.2 存取連接埠 25、26。我並不是試圖阻止任何外部IP位址訪問這些端口,只是想確保它們只能訪問伺服器上某個IP位址上的端口。
我一直在嘗試使用 iptables 編寫此內容,但到目前為止我還沒有成功 - 我想知道是否有人可以提供幫助?
答案1
假設您沒有針對這 2 個連接埠的現有規則或任何一攬子接受規則,那麼下面的這些行就是一個很好的範例。
這兩行將阻止對連接埠 1.1.1.1 上的連接埠 25 和 26 的存取。假設預設策略是接受資料包。
iptables -A INPUT -p tcp --dport 25 -d 1.1.1.1 -j REJECT
iptables -A INPUT -p tcp --dport 26 -d 1.1.1.1 -j REJECT
但通常情況下,我會採用拒絕或丟棄的預設策略,然後明確允許第二個 IP 位址上的 2 個連接埠。
iptables -P INPUT REJECT
iptables -A INPUT -p tcp --dport 25 -d 1.1.1.2 -j ACCEPT
iptables -A INPUT -p tcp --dport 26 -d 1.1.1.2 -j ACCEPT