mal*_*cot 10 networking nat vmware-player
我有一个 Windows 主机,它通过 vmplayer 运行来宾 Ubuntu VM。该虚拟机将被克隆,分发给几个人(运行 Windows 主机)并用于进行编程研讨会。我正在尝试 - 到目前为止失败 - 设置网络以满足以下要求:
到目前为止我尝试过的:
尝试通过 DHCP 连接来宾,在/etc/network/interfaces 中:
auto eth0
iface eth0 inet dhcp
hostname Workshop
Run Code Online (Sandbox Code Playgroud)就连接到互联网而言,这是有效的。但是,我根本无法从主机连接到来宾。(例如ping Workshop不起作用;如果我使用ifconfig返回的地址,它也不会从主机运行)。
然后我尝试为来宾分配一个静态地址:
auto eth0
iface eth0 inet static
address 172.241.0.101
netmask 255.255.0.0
gateway 172.241.0.100
Run Code Online (Sandbox Code Playgroud)(172.241.0.100 是由 VMWare 网络 VMNet8 适配器静态分配给主机的地址 - 即上面的 NAT 适配器)。现在,我可以ping 172.241.0.101并从主机 telnet 到它。我还可以从访客 ping 和 telnet 到 172.241.0.100(主机),但仅此而已 - 与更广泛的网络没有连接。(我也无法通过其主机名访问来宾,但这在这里并不重要,因为如果推送紧急,我可以直接使用其地址 - 只要每个人都相同 - 而不是名称)。
现在,我想我可以将桥接网络连接选项与 DHCP 一起使用,这将为我提供在一台 VM 的情况下我需要的东西(在这种情况下我没有尝试过,但我记得以前做过)。但是,如果多个 VM 具有相同的主机名并且它们的主机连接到同一个网络,这将是有问题的,不是吗?
您的解决方案和其他建议将不胜感激。
首先,是的,您将无法使用桥接网络连接,因为所有来宾都将具有相同的主机名,因此您必须使用 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
Run Code Online (Sandbox Code Playgroud)
这应该授予您的来宾 VM 访问互联网的权限(通过172.241.0.2),并且还可以与您的主机进行通信(172.241.0.100)。所以尝试一下,让我知道它是否有效。
如果它不起作用(极不可能),那么您需要找出虚拟交换机的 IP 是什么。您可以做的是让虚拟机通过 DHCP 获取 IP(即,将其更改为iface eth0 inet dhcp您以前拥有的那样),然后执行route -n. 这应该会向您显示它正在使用的默认网关。在静态配置中使用该 IP。
为了能够使用其主机名Workshop ping 来宾 VM ,您可以执行以下操作。您需要hosts在 Windows中的文件中添加一个条目,该条目位于C:\Windows\System32\drivers\etc\hosts. 编辑该文件以在最后包含以下行:
但是,要在 Windows 下编辑该文件,您需要在记事本或写字板中以管理员身份打开它...有时甚至不允许您保存它,因此您需要在某处复制该文件,编辑它,删除 .txt 扩展名(如果有),然后返回并替换原始扩展名,并“确认”它......哦,我多么喜欢 Linux。但无论如何,这是您需要添加的行:
172.241.0.101 Workshop
Run Code Online (Sandbox Code Playgroud)
完成此操作后,您应该能够ping Workshop从 Windows 主机成功访问。
当然,为了能够在您的工作室中部署它,您需要在每个 Windows 主机中编辑主机文件,除非您还克隆了 Windows 机器。
提示:由于您要为来宾分配静态 IP,请确保所有 Windows 主机上的 VMplayer 中的“NAT 网络”都使用该子网172.241.0.0/16,因为我认为 VMware 会为其虚拟网络随机分配一个子网( VMnet1、2 等),因此 VMnet8 可能不会在另一台 Windows 主机上使用相同的子网。如果不是,您需要使用 VMware 中的虚拟网络编辑器手动为 VMnet8 提供一个子网。
好的。在评论之后,您需要执行以下操作:
将您的 (Windows) 主机配置为在 VMnet8 适配器上“自动获取 IP 地址”。它应该得到 IP 192.168.186.1。
将您的 (Ubuntu) 来宾机器配置为范围内的静态 IP 192.168.186.3 - 192.168.186.127。让我们使用192.168.186.3. 另外,将默认网关和 dns 服务器配置为192.168.186.2所以你/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
Run Code Online (Sandbox Code Playgroud)
通过 ping192.168.186.1和192.168.186.2从来宾计算机测试本地连接。您还应该能够从主机 ping 到来宾。
通过 pinggoogle.com或浏览互联网来测试来宾机器中的互联网连接。
将该行添加192.168.186.3 Workshop到hostsWindows 主机中的文件中。
ping Workshop从 Windows 主机测试。
如果您想使用除 以外的完全不同网络/池中的 IP 192.168.186.0/24,您需要Edit > Virtual Network Editor在 VMware 中找到 VMnet8,并将其最底部的 DHCP 设置更改为您想要的任何网络,并相应地更改静态 IP (默认网关将始终是第二个可用 IP,x.x.x.2)。

| 归档时间: |
|
| 查看次数: |
95183 次 |
| 最近记录: |