我该如何为每个 IP 而不仅仅是一个 IP 制定这个 IPTABLE 规则呢?

我该如何为每个 IP 而不仅仅是一个 IP 制定这个 IPTABLE 规则呢?
iptables -I PREROUTING -t nat -p udp -s 192.168.0.62 --dport 53 -j DNAT --to-destination 23.21.182.24

我想将 192.168.0.62 而不是 192.168.0.62 设置为全局规则,每个需要 DNS 的 IP 都应首先尝试使用 23.21.182.24。

是否可以?

答案1

你应该做这样的事情:

iptables -I PREROUTING -t nat -p udp -s 0.0.0.0/0 --dport 53 -j DNAT --to-destination 23.21.182.24

它简单地定义了一个0.0.0.0网络掩码为 的 IP 0,这基本上是任何 IP。您还可以通过在脚本开头定义变量来使其更加优雅,如下所示:

IPTABLES='/sbin/iptables'
UNIVERSE='0.0.0.0/0'
MYPORT='53'
MYIP='23.21.182.24'
.....
$IPTABLES -I PREROUTING -t nat -p udp -s $UNIVERSE --drop $MYPORT -j DNAT --to-destination $MYIP

这将使您的 iptables 管理更加灵活并且更易于维护/更新。查看 iptables 脚本的简洁示例这里

相关内容