桥接虚拟接口对于 ifconfig 不可用或不可见

桥接虚拟接口对于 ifconfig 不可用或不可见

我正在运行 Ubuntu 9.04、内核 2.6.28-18 和 vmware-server 2.0.1。

我正在尝试设置一个虚拟 Linux 机器以使用桥接接口而不是 NAT 或仅主机。NAT 和仅主机都可以正常工作。运行时vmware-config.pl,我将 /dev/vmnet0 设置为桥接 eth0,将 /dev/vmnet1 设置为仅主机,将 /dev/vmnet8 设置为 NAT。

当我运行时,ifconfig -a我看到物理接口 (eth0)、vmnet1 和 vmnet8 都已启动并已分配 IP 地址。我还看到与此不相关的其他各种接口。

在 Web 控制台中,当我要求客户机的网卡进行桥接时,它显示桥接设置“不可用”,并显示已禁用的设备图标。在客户机内部,我确实有一个 eth0 接口,我可以将其设置为任何我喜欢的设置,但它看不到我的外部网络或主机。

我确实在 vmware/hostd.log 中看到了错误,其中指出:“设备 vmnet0 上的网络桥未运行。虚拟机将无法与主机或网络上的其他计算机进行通信”,这证实了问题的存在。vmnet
-bridge 正在运行,我在进程表中看到以下内容:

/usr/bin/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0 -i eth0

我确认 /var/run/vmnet-bridge-0.pid 文件存在并且指向正确的进程。

我看见这个问题与 Ubuntu 9.04 和桥接接口有关,其中发帖人确定由于 vmware-config.pl 脚本中的缺陷,vsock 库未构建。我应用了补丁,重新运行了脚本,并确认 vsock.ko 和 vsock.o 位于我的 /lib 目录结构中。vsock 确实出现在lsmod.

我的 /etc/vmware 目录有 /vmnet1 和 /vmnet8 子目录。它们包含用于按预期运行 DHCP 和 nat 类型服务的配置实用程序。没有 vmnet0 子目录。我的 /etc/vmware/netmap.conf 文件确实显示了 vmnet0 的条目;包括名称和我从脚本配置的设备。

我的 /dev 目录包含设备 vmnet0 到 vmnet9。它们的主要设备号为 119,次要设备号为 0 到 9。/proc/net/dev 显示 vmnet1 和 vmnet8 的统计信息,但不显示 vmnet0 的统计信息。我有一个 /proc/vmnet 目录,但它是空的。

当我使用 启动或停止 vmware 服务时/etc/init.d/vmware start,我看到以下内容:

Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family:                           done
   Virtual ethernet                                                    done
   Bridged networking on /dev/vmnet0                                   done
   Host-only networking on /dev/vmnet1 (background)                    done
   DHCP server on /dev/vmnet1                                          done
   Host-only networking on /dev/vmnet8 (background)                    done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   VMware Server Authentication Daemon (background)                    done
   Shared Memory Available                                             done
Starting VMware management services:
   VMware Server Host Agent (background)                               done
   VMware Virtual Infrastructure Web Access
Starting VMware autostart virtual machines:
   Virtual machines                                                    done

那里看上去没什么问题。

我做了什么新鲜事,导致 vmnet0 且只有 vmnet0 没有出现在接口列表中?

答案1

哎呀!我发布这篇文章后立即找到了答案。显然 vmnet-netifup 没有为 vmnet0 运行。我运行后:

`/usr/bin/vmnet-netifup -d /var/run/vmnet-netifup-vmnet0.pid /dev/vmnet0 vmnet0`

它运行正常。那么为什么当其他两个可以自动启动时它却不能呢?这仍然是一个悬而未决的问题。

相关内容