![在 CentOS 7 上使用 VMWare 时子网无法访问互联网](https://linux22.com/image/685716/%E5%9C%A8%20CentOS%207%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20VMWare%20%E6%97%B6%E5%AD%90%E7%BD%91%E6%97%A0%E6%B3%95%E8%AE%BF%E2%80%8B%E2%80%8B%E9%97%AE%E4%BA%92%E8%81%94%E7%BD%91.png)
使用 VMWare Pro,我有两个安装了 Centos 7 的节点 - 一个通过两个网卡连接到我的路由器。另一个是我想在不同子网上连接到互联网的另一个节点。它看起来像这样:
192.168.1.1 - internet router
|
192.168.1.108 - (eno16777736) should route to the internet router
192.168.120.131 - (eno33554960) for subnet to pass traffic to 108
|
192.168.120.134 - Node on subnet
我们将具有两个 NICS 的那个称为“网关”。目前网关已启用 IP 转发。iptables/firewalld/selinux 目前已禁用,以排除此路由不成功的原因。
我能够将其隔离到网关:
ping -I eno33554960
返回目标主机不可达,但ping -I eno16777736
由于它与互联网路由器位于同一子网,因此可以到达服务器。
我以为 CentOS 会自动设置跨 NIC 的路由,但我可能错了……这是网关中的路由表:
default via 192.168.1.1 dev eno167777336 proto static metric 100
192.168.1.0/24 dev eno16777736 proto kernel scope link src 192.168.1.108 metric 100
192.168.120.0/24 dev eno33554960 proto kernel scope link src 192.168.120.131 metric 100
我还想知道这是否可能是 VM 设置。NIC 1(互联网子网)设置为桥接(无复制),NIC 2(私有子网)设置为 VMNet2(仅主机),这是在虚拟网络编辑器中设置的。此网络已选中“连接主机虚拟适配器”和“使用本地 dhcp”。
答案1
当您从 192.168.120.0/24 网络中的主机 ping 时,互联网路由器需要知道如何将回复发送回该子网,但它可能只知道它所连接的网络(192.168.1.0/24)和到互联网的默认路由。
您需要:
- 在您的 Internet 路由器上配置静态路由,将 192.168.120.0/24 网络的返回流量引导至 192.168.1.108 作为下一跳。
- 在“网关”上的 eno16777736 接口上启用 NAT。
如果你的互联网路由器是典型的 ISP 提供的路由器,你可能无法配置静态路由,而必须NAT 路由。