redirect到同一本地端口会导致无限循环?

规则:

-t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp --dport 12345 -j DNAT --to-destination "127.0.0.1:12345"

它会循环吗? 定义明确吗? 如何避免循环(如果有的话)?

我的脚本生成这样的规则(并且不要把127.0.0.1当作例外):

-t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp --dport 12345 -j DNAT --to-destination "$addr:12345"

你是什​​么意思“ 将它循环 ”? 规则将被执行多次?

当数据包与规则匹配时,规则将不会被重新访问(重新检查)。 那么,怎么可能循环呢? 此外,NAT规则将仅在连接(连接build立)开始时被检查。 之后,所有数据包将由连接跟踪模块处理,以应用相同的已经匹配的规则。

如果您仍然有疑问,可以使用以下方法查看规则匹配的次数:

 $ sudo iptables -t nat -L -n -v