配置 Ubuntu vmware 来宾 NAT

配置 Ubuntu vmware 来宾 NAT

我有一台通过 vmplayer 运行客户 Ubuntu VM 的 Windows 主机。该虚拟机将被克隆,分发给几个人(运行 Windows 主机),并用于举办编程研讨会。我正在尝试(但目前失败了)设置网络以满足以下要求:

  1. 客人必须能够访问互联网
  2. 所有克隆都应该具有相同的主机名(假设作坊具体来说)
  3. 主机系统必须能够通过该名称访问其各自的客户机(例如ping 工作坊会 ping 运行在该主机上的客户机,而不会 ping 运行在任何其他克隆上的客户机)

到目前为止我已经尝试过:

  • 为客户机“安装”了 NAT 网络适配器
  • 尝试通过 DHCP 连接客户机,/etc/网络/接口

    auto eth0
    iface eth0 inet dhcp
       hostname Workshop
    

就连接到互联网而言,这是可行的。但是,我根本无法从主机连接到客户机。(例如ping 工作坊不起作用;如果我使用返回的地址是否配置它从主机上也不起作用)。

  • 然后我尝试为客户机分配一个静态地址:

    auto eth0
    iface eth0 inet static
         address 172.241.0.101
         netmask 255.255.0.0
         gateway 172.241.0.100
    

(172.241.0.100 是 VMWare Network VMNet8 Adapter(即上面的 NAT 适配器)静态分配给主机的地址)。现在,我可以ping 172.241.0.101并从主机 telnet 到它。我还可以从客户机 ping 和 telnet 到 172.241.0.100(主机),但仅此而已 - 没有连接到更广泛的网络。(我也无法通过其主机名访问客户机,但这不是关键,因为如果情况紧急,我可以直接使用它的地址 - 只要它对每个人都一样 - 而不是名称)。

现在,我想我可以使用桥接网络连接选项和 DHCP,这样在只有一台虚拟机的情况下就可以满足我的需求(在这种情况下我没有尝试,但我记得以前试过)。但是,如果有多台虚拟机具有相同的主机名,并且它们的主机连接到同一个网络,那就有问题了,不是吗?

我们将非常感谢您的解决方案和其他建议。

答案1

首先,是的,您将无法使用桥接网络连接,因为所有访客都具有相同的主机名,因此您必须使用 NAT。

您已正确完成部分配置,但是,问题应该出在您分配给客户机的默认网关上。使用 NAT 时,默认网关不是主机的 IP,而是连接到 NAT 网络的“虚拟交换机”的 IP。(主机 VMnet8 适配器只是连接到网络的另一个设备,用于允许主机与 VM 通信。)我们讨论的这个虚拟交换机获取.2子网中的 IP。因此,对于您来说,您/etc/network/interfaces应该阅读:

auto eth0
iface eth0 inet static
     address 172.241.0.101
     netmask 255.255.0.0
     gateway 172.241.0.2

这应该会授予您的客户虚拟机访问互联网的权限(通过172.241.0.2),并与您的主机通信(172.241.0.100)。所以请尝试一下,如果它有效,请告诉我。

如果不起作用(可能性极小),则需要找出虚拟交换机的 IP。您可以做的是让虚拟机通过 DHCP 获取 IP(即将其更改为iface eth0 inet dhcp您之前的 IP),然后执行route -n。这应该会显示它正在使用的默认网关。在您的静态配置中使用该 IP。


为了能够使用主机名 ping 客户虚拟机作坊,您可以执行以下操作。您需要hosts在 Windows 中的文件中添加一个条目,该文件位于C:\Windows\System32\drivers\etc\hosts。编辑该文件以在末尾包含以下行:

但是,要在 Windows 下编辑该文件,您需要在记事本或写字板中以管理员身份打开它...有时它甚至不允许您保存它,因此您需要将文件复制到某个地方,编辑它,删除 .txt 扩展名(如果有),然后返回并替换原始扩展名,然后“确认”它...哦,我多么喜欢 Linux。但无论如何,这是您需要添加的行:

172.241.0.101    Workshop

完成后,您应该能够ping Workshop从 Windows 主机成功退出。

当然,为了能够在您的工作室部署它,您需要在每一个 Windows 主机上编辑 hosts 文件,除非您还要克隆 Windows 机器。

提示:由于您要为客户机分配静态 IP,请确保所有 Windows 主机上的 VMplayer 中的“NAT 网络”都使用子网172.241.0.0/16,因为我认为 VMware 会随机为其虚拟网络(VMnet1、2 等)分配子网,因此 VMnet8 可能不会在另一台 Windows 主机上使用相同的子网。如果不是,您需要使用 VMware 中的虚拟网络编辑器手动为 VMnet8 分配一个子网。


编辑

好的。评论之后,您需要执行以下操作:

  1. 在 VMnet8 适配器上将您的 (Windows) 主机配置为“自动获取 IP 地址”。它应该会获取 IP 192.168.186.1

  2. 将你的 (Ubuntu) 客户机配置为 范围内的静态 IP 192.168.186.3 - 192.168.186.127。我们使用192.168.186.3。此外,将默认网关和 DNS 服务器配置为192.168.186.2因此你的 IP 地址/etc/network/interfaces应该是:

    auto eth0
    iface eth0 inet static
         address 192.168.186.3
         netmask 255.255.255.0
         gateway 192.168.186.2
         dns-nameservers 192.168.186.2
    
  3. 192.168.186.1通过 ping和从客户机测试本地连接192.168.186.2。您还应该能够从主机 ping 到客户机。

  4. google.com通过 ping或浏览互联网来测试客户机的互联网连接。

  5. 将该行添加192.168.186.3 WorkshophostsWindows 主机中的文件中。

  6. ping Workshop从 Windows 主机进行测试。

如果您想要使用除 之外的完全不同的网络/池中的 IP 192.168.186.0/24,则需要进入Edit > Virtual Network EditorVMware,找到 VMnet8,然后将最底部的 DHCP 设置更改为您想要的任何网络,并相应地更改静态 IP(默认网关始终是第二个可用 IP,x.x.x.2)。

在此处输入图片描述

答案2

我在 Windows 7 上使用 VMWare Player 和 Ubuntu 客户机时也遇到了类似的问题。但我能够从主机连接到客户机,从客户机连接到主机,但问题是我无法从客户机连接到互联网。阅读 @Alaa 的回答后,我只需再做一次调整,将 DNS 服务器名称添加到接口文件 (dns-nameservers 192.168.150.2),然后一切就都好了。

以下是我有效的配置。

主机上的 VMWare 接口配置:

以太网适配器 VMware 网络适配器 VMnet8:(客户端)

Connection-specific DNS Suffix  . : 
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::9c13:cbf2:1dc:259f%42(Preferred) 

IPv4 Address. . . . . . . . . . . : 192.168.150.1(Preferred) 
Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 
DHCPv6 IAID . . . . . . . . . . . : 704663638
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-06-50-32-88-53-2E-7A-D3-8E
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                    fec0:0:0:ffff::2%1
                                    fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled 

Guest Ubuntu的界面变化:

auto eth0
iface eth0 inet static
address 192.168.150.10
netmask 255.255.255.0
gateway 192.168.150.2
dns-nameservers 192.168.150.2

192.168.150.2 是 VMWare 的代理,它将客户机流量转发到主机。

相关内容