Iptables

使用 iptables 阻塞埠 25(僅出站)

  • June 21, 2020

我最近開始使用以下規則阻止 OpenVZ 7 節點上的埠 25:

iptables -I FORWARD -p tcp --dport 25 -j DROP

這工作正常,但它似乎阻止入站和出站,但我只想阻止出站。這可能嗎?

如果這意味著什麼,我使用以下命令為特定 IP 地址再次打開埠 25:

iptables -I FORWARD 1 -d 192.168.0.1 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -I FORWARD 1 -s 192.168.0.1 -p tcp -m tcp --dport 25 -j ACCEPT

我很高興地說,由於 Kahn,我已經完全正常工作了,這是執行 OpenVZ 7 的其他人應該使用的解決方案:

執行以下命令:

iptables -A FORWARD -o br0 -p tcp --dport 25 -j DROP

這將丟棄 br0 上的出站埠 25(VM 繼承的介面)

然後,如果它需要為特定 IP 地址打開,請執行:

iptables -I FORWARD 1 -s 192.168.0.1 -p tcp -m tcp --dport 25 -j ACCEPT

我刪除了我原來的答案,因為它沒有幫助,因為我讀得太快並且沒有註意到我們正在處理容器化。可以忽略以下註釋(除非您想查看如何記錄 iptables 活動)。

給定容器中介面的名稱,您可能會更幸運:

iptables -A FORWARD -o docker0 -p tcp --dport 25 -j DROP

docker0如果您的介面名稱在哪裡。如前所述,來自容器的流量通過 FORWARD 鏈(再次 - 容器化),因此 OUTPUT 和 INPUT 鏈在這裡沒有價值。

引用自:https://unix.stackexchange.com/questions/593884