我有两个网络(NET0、NET1),我的默认 ISP 网关在 NET0 中。NET0 和 NET1 之间的路由由 Ubuntu 服务器(GATEWAY1)完成。一切正常,NET0 和 NET1 中的所有主机都可以从两个网络访问。但是,如果 NET1 中的主机尝试打开与 Internet 中的主机(例如 8.8.8.8)的连接,则连接会失败。如果我在 GATEWAY1 上执行相同操作,则一切正常。我在 GATEWAY1 上进行了一些转储,发现没有数据包转发到路由器 ISP。GATEWAY1 上的路由表:
$ ip route list
default via 192.168.178.1 dev wlan0 proto dhcp src 192.168.178.21 metric 303
169.254.0.0/16 dev eth0 scope link src 169.254.251.133 metric 202
192.168.178.0/24 dev wlan0 proto dhcp scope link src 192.168.178.21 metric 303
192.168.179.0/24 dev eth0 proto kernel scope link src 192.168.179.1
在 NET0 中的默认网关 ISP 上,配置了一条通过 GATEWAY1 到 NET1 的静态路由。
我完成这项工作的唯一方法是在 GATEWAY1 上使用 NAT,但默认网关已经完成 NAT。
你知道哪里出了问题吗?我会很感激任何帮助。
我的网络如下所示
我目前的防火墙配置:
链输入(策略接受)目标协议选择源目标
接受所有--任何地方任何地方
接受所有--任何地方任何地方
接受所有--任何地方任何地方状态相关,已建立
链转发(策略接受)目标协议选择源目标
接受所有--任何地方任何地方状态相关,已建立接受所有--任何地方任何地方
链输出(策略接受)目标保护选择源目标
如果我刷新所有规则,就会出现上述情况,即两个连接网络中的所有主机均可访问,但 Internet 中没有主机。我还可以从 GATEWAY GW/NAT ping NET1 中的主机。如果我在 GATEWAY1 上运行 tcpdump,同时从 NET1 中的主机 ping 8.8.8.8,我可以看到传入数据包,但没有传出到 GW/NAT 的数据包。