如何在添加 Iptables 拒绝规则时排除特定的 IP 地址

如何在添加 Iptables 拒绝规则时排除特定的 IP 地址

我正在尝试添加传出流量的拒绝规则,但我想排除一个特定的 IP 地址,以便我可以 ssh。我尝试添加两个不同的规则

  1. sudo iptables -A OUTPUT -p tcp -d xxxx/32 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
  2. sudo iptables -A OUTPUT -p tcp -d xxxx/22 -j REJECT --reject-with tcp-reset

我尝试更改规则的顺序,但仍然无法覆盖“拒绝”规则并通过 ssh 进入 xxxx/32 服务器

答案1

删除以前违反的规则,然后尝试这个(它对我有用):

$ sudo iptables -A OUTPUT -p tcp ! -d x.x.x.x/32 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j DROP

这意味着如果传出流量是 SSH(TCP 22)但目的地不是 xxxx/32,则丢弃该流量。

相关内容