0 前言
网上有好多VMware的网络配置教程,各个方法都不一样,新人往往云里雾里,本人亦深受其害,偶尔成功一次,也不明白原理,下一次照样犯错,故写博客记录。
1 达成的效果
主机和虚拟机之间,可以互相ping通,若主机可以上网,则虚拟机亦可以正常连接网络。
注:与当前主机处于同一个局域网的其他主机是不能访问当前主机上的虚拟机的。
2 准备工作
2.1 开启ping回应
win10默认是不开启ping回应的,要设置为开启状态。
步骤:控制面板-Windows Defender防火墙-左侧的 高级设置-入站规则,在列表中搜索:
在这两项上,右键-启用规则,之后一路确定。
2.2 主机IP
在主机上,win+r,打开运行,输入cmd
,打开命令行,输入ipconfig
,显示如下:
我主机是笔记本,连接的是无线网,因此选择无线局域网适配器,如果连接的是有线网,就选择以太网适配器。
记住主机IP地址,以我为例,是 192.168.31.134
。
3 安装VMware,安装操作系统
网上有现成的安装教程,自己搜索就是,也可以参照我自己写的安装教程。
4 原理
在实现之前,得先说一下NAT的原理,从根本上理解。
图1 NAT-网络拓扑结构图
先记住这个拓扑图,后面的设置都是按照这个图来的。
虚拟机的IP都是由虚拟交换机决定的,由虚拟NAT负责连接外网,而虚拟网卡VMware Network Adapter Vmnet8只是负责主机与虚拟机之间的通信。
5 NAT网络配置
打开VMware Workstation Pro,选择虚拟机的网络连接类型,新建虚拟机,一般默认就是NAT模式,之后确定,返回主页面:
选择编辑-虚拟网络编辑器,单击更改设置:
按照箭头指向,勾选对应内容:
注意下面的子网IP,前两部分必须和主机IP的前两部分一样,即192.168,第三部分得不一样,不能是31,这里填80,第四部分补0。子网掩码都是255.255.255.0,填写完毕后,点击 NAT设置:
填入网关IP,前三部分,即网段必须是192.168.80,和前面保持一致,第四部分随意,这里填2,网关IP整体就是192.168.80.2,图1中的虚拟交换机IP就是这里的网关IP,点击确定后返回,再点击 DHCP设置:
注意起始和结束的IP网段也必须是192.168.80,这个范围不要包括网关IP:192.168.80.2,图1中的虚拟DHCP服务器设置完成,之后一路确定,NAT网络设置结束。
6 测试
开启虚拟机,Ubuntu默认的IP设置是自动获取,不需要更改,当然设置静态IP也是可以的,参照图1即可。此时Ubuntu是可以正常连接外网的。
接下来测试图1中的虚拟网卡作用,在主机上,win+q,打开搜索框,输入 网络连接,回车,打开网络连接面板:
这里的VMware Network Adapter Vmnet8就是图1中的虚拟网卡,另外三个分别是主机的无线网卡、主机的有线网卡、VMware仅主机模式的虚拟网卡。右击Vmnet8,选择属性:
选择IPV4,点击属性:
可以选择自动获取,也可以手动设置,注意,手动的话,IP不能和虚拟网关IP一样,即不能是192.168.80.2,之后一路确定,设置完成。
在Ubuntu终端和win10命令行中,互相ping各自的IP地址,然后在虚拟网卡Vmnet8,右键-禁用,在互相ping各自的IP地址,体会前后的区别。
7 总结
自己动手设置几次,配合图1的拓扑结构图,多理解一下:
- 在NAT配置下;主机的网络适配器中的VMware Network Adapter Vmnet8,仅仅影响主机与虚拟机之间的通信,绝不影响虚拟机的连外网!
- 禁用VMware Network Adapter Vmnet8,主机是ping不通虚拟机的,自然也不能SSH远程连接。
- 有时候,突然发现主机无法ping通虚拟机,而虚拟机正常连接外网,并且可以ping通主机,这时候,只需要把VMware Network Adapter Vmnet8禁用,然后在启用就可以了,不需要其余配置。
8 问题
遇到的其余问题:
1 有的教程提到,需要把主机的正在使用的网卡,与VMnet8共享,经过测试,在NAT模式下,这是多余的。
9 参考
https://blog.csdn.net/w_j_r/article/details/81290995 https://www.cnblogs.com/linjiaxin/p/6476480.html