vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。
这里只写了Host-Only(仅主机模式)
Host-Only(仅主机模式)
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:
通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。
首先设置“虚拟网络编辑器”,可以设置DHCP的起始范围。
设置虚拟机为Host-Only模式。
开机启动系统,然后设置网卡文件。
如果采用了手动设置ip则使用此命令 sudo vi /etc/netplan/01-network-manager-all.yaml 设置文件,保存设置的文件并退出,然后通过命令sudo netplan apply应用虚拟机的网卡的配置。
也可以通过图形界面模式设置网卡,因为不需要特意设置DNS所以这里我们自动获取即可。
然后我们可以看到Host-Only模式下虚拟机的ip地址为192.168.229.128
利用远程工具测试能否与主机通信。
可以看到主机与虚拟机之间可以通信,现在设置虚拟机联通外网。
首先要先让VMware Network Adapter VMnet1设置为自动获取ip
然后将Internet连接共享给VMware Network Adapter VMnet1。,下图中的无线网络连接也可以是有线网络连接,只要是你主机用来上网的网卡即可。
之后我们再看看主机与虚拟机能否ping通?
我们发现已经ping不通了,说明VMware Network Adapter VMnet1的IP由于之前的共享,已经被修改了。我们查看一下VMware Network Adapter VMnet1的IP
发现VMware Network Adapter VMnet1的IP变为了192.168.137.1 ,所以我们就要将虚拟机的DHCP的子网和起始地址也进行修改,点击“虚拟网络编辑器”,将子网IP和DHCP的起始地址进行修改。
然后重新配置网卡,sudo vi /etc/netplan/01-network-manager-all.yaml ,设置为如下
从上到下,必须下面的比上面的代码要至少右移一个空格。
注意冒号后面如果有内容,内容必须与冒号保持一个空格,
【注意】:ethernets: 表示以太网
ens33: 表示虚拟机网卡名称,通过ip addr命令可以查看自己的网卡名
dhcp4: yes 表示ipv4下,自动获取ip地址 no表示手动设置ip
gateway4: 192.168.137.1 表示ipv4下,网关地址为192.168.137.1 即必须要和VMware Network Adapter VMnet1的IP地址一样
nameservices: 表示DNS
addresses: [192.168.137.1] 表示DNS地址列表 也必须要和VMware Network Adapter VMnet1的IP地址一样 设置成192.168.137.1
然后保存,应用配置
sudo netplan apply
最后尝试ping www.baidu.com
成功ping通
再尝试与主机通信
可以通信,大功告成。
总结
- ubuntu18.04版本对于网卡配置的命令已经改成更简单的 netplan了,只要打开/etc/netplan/下的.yaml文件,进行上述设置,之后再通过sudo netplan apply即可,当然也可以通过图形界面的方式进行配置
- 在进行网卡共享之前要先将VMware Network Adapter VMnet1设置为自动获取IP,之前没有设置,导致一再失败。
- 由于桥接模式和NAT模式都无需更改DNS,子网ID以及DHCP起始终止地址,配置时只需设为自动和默认就可以实现联网和通信,故只展示了Host-Only模式下针对 ubuntu18.04版本的网络配置,实现主机与虚拟机之间互通和虚拟机联网的功能。