iptables 规则 -d !(不是目的地)给我错误

iptables 规则 -d !(不是目的地)给我错误

如何使用 [!] 选项指定目标 IP?

我正在尝试将出站 WAN DNS 流量重定向到我的 sinkhole,但无法使 --destination [!] 选项正常工作。

例如:

iptables -A OUTPUT -d ! 134.134.134.134 -j ACCEPT

返回:

Bad argument `134.134.134.134'

我根本不知道我的语法有什么问题。

答案1

你把 放!错了地方。它属于 -d

iptables手册页中:

       [!] -d, --destination address[/mask][,...]

例如:

iptables -A OUTPUT ! -d 134.134.134.134 -j ACCEPT

答案2

尝试放在 --option 之前

[root@pineapple ~]#  iptables -A OUTPUT -d! 134.134.134.134 -j ACCEPT
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).

[root@pineapple ~]# iptables -A OUTPUT ! -d 134.134.134.134 -j ACCEPT
[root@pineapple ~]# iptables -nvL | grep 134
78 92618 ACCEPT     all  --  *      *       0.0.0.0/0           !134.134.134.134 

相关内容