我有一个单独的网络,其中一台机器的 IP 地址为 10.10.10.4。另一台机器(网关机器)有两个 NIC:eth0 和 eth1。 eth1(10.10.10.10)连接内网机器,与外界无直接连接。 eth0(192.168.1.171)连接到外部物理适配器。
现在,我想与 IP 地址为 192.168.1.185 的外网机器进行通信。我在内网机器中添加了默认网关,如下所示:
$ 路由添加默认网关 10.10.10.10
(外部网络的默认网关是192.168.1.1)。我还在网关机器中添加了默认网关,如下所示:
$ 路由添加默认网关 192.168.1.171 将交通引导至外界。
对于传入流量,我还使用路由命令包含了网络:
$ 路由添加-net 10.10.10.0 网络掩码 255.255.255.0 gw 10.10.10.10
网关机器还可以使用 iperf 等直接与外部机器(192.168.1.185)通信。
现在我面临的问题是,当我通过内部网络机器(10.10.10.4)ping 外部机器(192.168.1.185)时;我能够看到发往外部机器的数据包eth1内网机器(10.10.10.4)也能ping通10.10.10.10和192.168.1.171(eth0的IP)。
但是数据包无法到达 eth0 接口。因此,内部网络机器无法与外部网络通信。我使用 wireshark 验证了数据包是在 eth1 接口上接收的,该接口配置为内部机器 (10.10.10.4) 的默认网关。由于我还在网关机器中添加了默认路由,我希望数据包通过 eth0 到达外部网络,但这并没有发生,数据包没有到达 eth0 接口。有人能帮我解决这个问题并指出我是否遗漏了什么吗?非常感谢大家的帮助。
谢谢。