将数据包从 eth1 转发到 eth0

将数据包从 eth1 转发到 eth0

我有一个带有两个接口(eth1 和 eth0)的 Linux 机器。我有一个连接到 eth1 的设备,还有一台连接到 eth0 的 PC。它们的 IP 地址如下:

eth1:10.75.0.1 网络掩码 255.255.0.0

eth0:10.76.0.1 网络掩码 255.255.0.0

eth1 上的设备:10.75.255.210

eth0 上的 PC:10.76.0.3

我的路由表目前如下所示

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.75.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth1
10.76.0.0       0.0.0.0         255.255.0.0     U     0      0        0 eth0

我在 PC 上有一个程序需要连接到 eth1 上的设备。eth1 上的设备正在端口 53103 上广播一条消息。我想将这些数据包转发到 eth0,以便 PC 上的程序可以看到它们。我基本上想设置我的 iptable 规则,以便在 PC (eth0) 上的程序和 eth1 上的设备之间实现双向通信。程序使用的端口也是 53103。

我尝试了以下操作,但使用 tcpdump 时没有看到 eth0 上的数据包:

iptables -t nat -A PREROUTING -p udp --dport 53103 -i eth1 -j DNAT --to-destination 10.76.0.1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

相关内容