iptables:DNAT 规则是否会立即将 UDP 数据包从一个目标 IP 重定向到另一个目标 IP?

iptables:DNAT 规则是否会立即将 UDP 数据包从一个目标 IP 重定向到另一个目标 IP?

有一个 UDP 客户端(192.168.206.45)和一个 UDP 服务器(192.168.212.21)连接

我想在执行如下命令后“立即”使用 DNAT 规则将 UDP 数据包从一台服务器(192.168.212.21)重定向到另一台服务器(192.168.215.46):

iptables -t nat -A PREROUTING -d 192.168.212.21 -j DNAT --到目的地 192.168.215.46

问题 :

  1. 立即重定向数据包很少起作用。DNAT 规则是否及时起作用?因为 DNAT 规则通常仅在 UDP 连接重新启动后才起作用。

  2. 我该如何修复该问题以便及时重定向 UDP 数据包?

感谢您的阅读。

答案1

iptables DNAT 目标提供有状态 NAT 功能。任何数据包首先在 conntrack 表上进行匹配,如果存在 NAT 条目,则数据包以相同方式进行 NAT。如果删除前一个连接条目,iptables 规则将应用于下一个数据包,并将创建新的连接条目。

您可以按照说明删除 UDP 的 conntrack 条目这里

相关内容