使用 iptables 和 nftables 重写数据包目的地

使用 iptables 和 nftables 重写数据包目的地

我有一台 RHEL 7 (IP 192.168.0.10/24) 和一台 RHEL 8 (IP 192.168.0.11/24) 主机,这两台主机都从路由器获取了重复的数据包,这些数据包原本是发往另一台主机 (IP 192.168.1.10/24) 的。如何在 RHEL 7 主机上使用 iptables,在 RHEL 8 主机上使用 nftables 来修改目标 IP,以便每台主机都能像接收目标一样接收数据包?

rhel7主机上的示例数据包:

[root@rhel7 ~]# tcpdump -nni eth0 port 20800
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:43:53.339859 IP 1.2.3.4.22551 > 192.168.1.10.20800: Flags [S], seq 2316850366, win 29200, options [mss 1460,sackOK,TS val 3894703027 ecr 0,nop,wscale 7], length 0

我认为必须在预路由表中做一些事情,但我没有成功:

iptables -t nat -I PREROUTING -d 192.168.1.10 -j DNAT --to 192.168.0.10

有什么建议吗?我假设一旦弄清楚了 iptables 命令,就可以使用 iptables-translate 找到 nftables 命令。

相关内容