VMWare ESXi 虚拟机可以联系网关,但不能联系 DNS 服务器

VMWare ESXi 虚拟机可以联系网关,但不能联系 DNS 服务器

我遇到了一个奇怪的问题。我有一台 VMWare ESXi 服务器,上面运行着两台虚拟机。它们运行良好,可以在网络上毫无问题地通信。

我现在正尝试添加第三个。我正在安装 Ubuntu 8.04 Server。我为其分配了一个静态 IP 地址,这是一个全新安装。安装后,我可以 ping 网关,但无法 ping DNS 服务器。它与其他两个 VM 位于同一网络上,通信正常。我尝试重新安装操作系统,但仍然无法连接。

这是 /etc/network/interfaces

auto eth0
iface eth0 inet static
    address 192.168.1.23
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    dns-nameservers 208.67.222.222 #opendns
    dns-search mydomain.com 

这是路线

Destination | Gateway     | Genmask       | Flags | Metric | Ref | Use | Iface
localnet    | *           | 255.255.255.0 | U     | 0      | 0   | 0   | eth0
default     | 192.168.1.1 | 0.0.0.0       | UG    | 100    | 0   | 0   | eth0

由于我在 FortiGate 后面运行这个,所以当我尝试 ping 208.67.222.222 时,sniff 命令会给我这个结果

arp who-has 192.168.1.1 tell 192.168.1.23
arp reply 192.168.1.1 is-at MAC
192.168.1.23 -> 208.67.222.222: icmp: echo request
192.168.1.23 -> 208.67.222.222: icmp: echo request
192.168.1.23 -> 208.67.222.222: icmp: echo request
192.168.1.23 -> 208.67.222.222: icmp: echo request
192.168.1.23 -> 208.67.222.222: icmp: echo request

如您所见,我似乎从未收到任何响应。我注意到一件有趣的事情,即 arp 回复的 MAC 看起来不正确。不过,我已清除 FortiGate 的 ARP 缓存并检查了条目,它似乎是正确的。它列出的 MAC 是路由器的 MAC。但是,如果我从另一个也是 Ubuntu 8.04 且配置几乎相同的虚拟机 ping,我会得到这个结果。

192.168.1.22 -> 208.67.222.222: icmp: echo request
208.67.222.222 -> 192.168.1.22: icmp: echo reply
192.168.1.22 -> 208.67.222.222: icmp: echo request
208.67.222.222 -> 192.168.1.22: icmp: echo reply
192.168.1.22 -> 208.67.222.222: icmp: echo request
208.67.222.222 -> 192.168.1.22: icmp: echo reply

那么,我可能错过了什么?

谢谢。

答案1

arp who-has 192.168.1.1 tell 192.168.1.23
arp reply 192.168.1.1 is-at MAC

arp 回复的 MAC 看起来不对。... 它列出的 MAC 是路由器的 MAC

应该如此。VM 要求提供路由器的 MAC 地址。

我猜测 FortiGate 上的某些设置有错误。

您可以交换 192.168.1.22 和 192.168.1.23 上的地址吗?将会发生以下两种情况之一:

  1. 问题如下.22
  2. .22 在另一台机器上运行良好,但新机器无法与 .23 配合使用

另外,192.168.1.22 可以 ping 192.168.1.23 吗?192.168.1.23 可以 ping 192.168.1.22 吗?我相信可以,但每条信息都有帮助。

还有一件事,Fortigate 上的 sniff 命令是否允许您指定接口?您可以在外部接口上进行捕获吗?

你应该看到类似

your.ip.address. -> 208.67.222.222: icmp: echo request
208.67.222.222 -> your.ip.address: icmp: echo reply

答案2

我找到了问题所在。问题在于 SSL VPN 的设置方式。我已将 VPN 配置为使用相同的 IP 范围。例如,我已将常规本地网络配置为

192.168.1.1

然后我将 SSL 配置为

192.168.1.[100-105]

当发生这种情况时,它还会为 SSL VPN 设置默认网关 0.0.0.0。因此,为了解决我的问题,我指定 SSL VPN 使用此网关

192.168.2.[100-105]

然后我将其默认网关更改为 192.168.2.1。之后一切正常。

相关内容