为什么我的网络适配器在桥接时不显示 IP 地址?

网络工程 linux
2022-02-24 23:41:34

我已经设置了一个带有两个网络适配器的 Ubuntu 14.04 虚拟机。

  • eth0(桥接适配器)- 192.168.0.105
  • eth1 (NAT) - 10.0.3.15

我执行了 ping 命令以确保一切正常:

ping -I eth0 www.cnn.com
PING turner.map.fastly.net (185.31.17.73) from 192.168.0.105 eth0: 56(84) bytes of data.
64 bytes from 185.31.17.73: icmp_seq=1 ttl=55 time=29.6 ms

ping -I eth1 www.cnn.com
PING turner.map.fastly.net (185.31.17.73) from 10.0.3.15 eth1: 56(84) bytes of data.
From 10.0.3.15 icmp_seq=1 Destination Host Unreachable

因为我希望 eth1 能够通过 eth0 适配器访问 Internet,所以我根据这个Debian 教程桥接了它们。

现在该命令ifconfig向我显示以下内容:

  • br0 - 10.0.3.16
  • eth0(桥接适配器)- 无 IP
  • eth1 (NAT) - 没有 IP

我可以像这样 ping CNN:

ping www.cnn.com
PING turner.map.fastly.net (23.235.43.73) from 10.0.3.16 br0: 56(84) bytes of data.
64 bytes from 23.235.43.73: icmp_seq=1 ttl=63 time=26.6 ms

但不能再ping各个接口了。

为什么会这样?我如何确定我现在确实可以通过 eth1 访问 Internet?

1个回答

VMWare 中的桥接适配器用作直接连接到网络的适配器。这意味着它将获得您的 NIC IP 范围内的 IP 地址。如果为 NAT 配置了虚拟适配器,那么它将从 VMWare 的内部 DHCP 获取 IP 地址,并且范围将不同于桥接网络。你是说你已经桥接了 eth0 和 eth1。桥接适配器和 NAT 适配器不能桥接(Bridge、Switch 是 L2 术语)。您必须配置一些路由表来连接它们。

桥接网络

桥接网络通过使用主机系统上的网络适配器将虚拟机连接到网络。如果主机系统在网络上,桥接网络通常是让虚拟机访问该网络的最简单方法。在 Windows 或 Linux 主机系统上安装 Workstation 时,会为您设置一个桥接网络 (VMnet0)。

NAT 网络

使用 NAT,虚拟机在外部网络上没有自己的 IP 地址。相反,在主机系统上设置了一个单独的专用网络。在默认配置中,虚拟机从虚拟 DHCP 服务器获取此专用网络上的地址。虚拟机和主机系统共享一个在外部网络上不可见的网络身份。在 Windows 或 Linux 主机系统上安装 Workstation 时,会为您设置一个 NAT 网络 (VMnet8)。当您使用新建虚拟机向导创建新虚拟机并选择典型配置类型时,该向导会将虚拟机配置为使用默认 NAT 网络。您只能拥有一个 NAT 网络。

仅主机网络

仅主机网络创建一个完全包含在主机计算机中的网络。仅主机网络通过使用主机操作系统上可见的虚拟网络适配器在虚拟机和主机系统之间提供网络连接。在 Windows 或 Linux 主机系统上安装 Workstation 时,系统会为您设置仅主机网络 (VMnet1)。

请查看 VMWare 文档(第 5 章)

http://pubs.vmware.com/workstation-11/topic/com.vmware.ICbase/PDF/ws11-using.pdf