ESXi 系统上的虚拟机只能使用内部 IP

ESXi 系统上的虚拟机只能使用内部 IP

首先,我是网络新手,我知道一些基础知识,但仅此而已。

所以我有一个运行几个虚拟机的 ESXi 服务器。

设置如下:-主 IP(控制 ESXi 盒)-Internet IP(用于一般用途,访问网络和 VPN 等)-服务 IP(几个用于托管网站,这些都是公开的)

在我的 ESXi 盒子上有 2 个网络。-VM 网络(连接到 ESXi 服务器 NIC,主 IP 和 Internet IP 直接用于此)-VM 本地(托管内部网络以及 Internet IP)

两个网络上的虚拟机中都有一个 DD-WRT 路由器。它允许虚拟机本地网络使用互联网 IP 通过虚拟机网络访问互联网。

有点困惑?希望不会

现在 VM 本地网络运行良好,我上面有几台机器,有的只用于内部,有的用于外部。它们都使用它通过公共 IP 连接到互联网。

问题是,使用服务 IP 的 VM 网络上的几台机器没有在该网络上响应,只有内部 VM 本地网络响应。

这是网络配置的屏幕截图。 http://i.gyazo.com/9a9c603eb138719453d9d06485581e8d.png

eth1 配置文件

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=5.xx.xx.207
NETMASK=255.255.255.255
BROADCAST=5.xx.xx.255
GATEWAY=94.xx.xx.254
DNS1=8.8.8.8
DNS2=8.8.4.4

70-persistent-net.rules 配置,MAC 地址与 VM 设置中设置的 MAC 地址匹配,并且 eth1 与服务器主机给我使用的地址匹配(为 VMWare 生成的 vMAC)

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:10:85:23", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:0a:81:fb", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

你知道我做错了什么吗?我已经这样困了两天了,找不到答案 :/

谢谢杰克,

答案1

问题在于你的 IP 地址:

IPADDR=5.xx.xx.207
NETMASK=255.255.255.255
BROADCAST=5.xx.xx.255
GATEWAY=94.xx.xx.254

您已使用该子网掩码配置了单个 /32,它无法路由到任何地方。您的意思NETMASK=255.255.255.0是哪个是 /24?

即使这是正确的,网关也不在本地 IP 的子网中。与网关(以及本地子网中的其他地方)的通信发生在第 2 层,然后网关负责在第 3 层路由到本地子网外的目的地的流量。

您需要配置一个 /29 或更大的子网,并使用该子网内的本地 IP 地址和网关。

而且您不需要BROADCAST,网络脚本足够智能,可以解决这个问题。

相关内容