Linux VM IPtables 中的 IP 转发不起作用

Linux VM IPtables 中的 IP 转发不起作用

我正在尝试在 Linux VM 中使用 IPtables 及其 NAT 功能来使网络连接正常工作。我有一台 RHEL Linux Box。它有两个接口 eth0 和 eth1。我在这个 Linux Box 后面有一个 Windows 服务器,它们的路由指向 eth0。

我的目标是,通过 eth0 进入 Linux VM 的流量(目标 IP 地址)应转发到 Linux VM 的 eth1,并且该流量应使用 eth1 IP 地址进行源 NAT

我添加了以下 iptables 规则,将所有通过 eth0 进入的流量转发到 eth1,并确保它位于 FORWARD 链的顶部

$iptables -A FORWARD -i eth0 -d DEST IP ADDRESS -o eth1 -j ACCEPT

我使用下面的命令在我的 Linux 机器上启用 IP 转发

sysctl -w net.ipv4.ip_forward=1

我使用了下面的命令,这样通过 eth1 离开的所有流量都将应用带有 eth1 IP 地址的源 NAT

$iptables -t nat -A POSTROUTING -d DEST IP ADDRESS -o eth1 -j MASQUERADE

现在,当我开始测试时,我看到我生成的到目标 IP 地址的流量到达 eth0 接口,但我没有看到该流量被转发到 eth1。eth1 上的数据包捕获没有显示任何流量,我在 Linux 机器上也有指向 eth1 的默认路由

有人能帮助我了解我哪里出了问题以及我该如何解决吗?

提前致谢。

相关内容