“conntrack -D --src-nat”命令后新的源网络地址转换不起作用

“conntrack -D --src-nat”命令后新的源网络地址转换不起作用

iptables POSTROUTING我使用以下命令将 Linux 服务器配置为具有辅助 IP 地址并用于执行源网络地址转换 (SNAT)。

ip addr add 10.11.198.99/25 dev eno3

iptables -t nat -A POSTROUTING -p udp -o eno3 -s 10.11.198.45 -d 239.169.45.122 -j SNAT --to 10.11.198.99:60003

这一切都非常有效,tcpdump 显示源 IP 地址10.11.198.45已替换为10.11.198.99.

然后,我刷新 iptables NAT 表以删除iptables POSTROUTING链规则,删除辅助 IP 地址,并conntrack -D --src-nat使用以下命令删除流条目

iptables -t nat -F 

ip addr del 10.11.198.99/25 dev eno3 

conntrack -D --src-nat

之后,我添加了新的辅助IP地址并添加了新的iptables POSTROUTING链规则

ip addr add 10.11.198.79/25 dev eno3 

iptables -t nat -A POSTROUTING -p udp -o eno3 -s 10.11.198.45 -d 239.169.45.122 -j SNAT --to 10.11.198.79:60003

此时,我无法看到源网络地址转换生效,显示tcpdump源 IP 地址10.11.198.45未替换为10.11.198.79。看来该conntrack -D --src-nat命令会导致后续iptables SNAT POSTROUTING添加的链规则不起作用。

如何使源网络地址转换再次工作?

相关内容