在不插网线的情况下实现宿主机和VMware虚拟机的双向通信(如使用vscode通过ssh进行远程开发)
0 知识介绍
在开始操作前,有必要了解下VMware的三种主要网络模式(桥接、NAT、仅主机):
想象一下你的宿主机(比如你的笔记本电脑)是一栋公寓大楼。
1. 桥接模式
比喻:在这种模式下,你的虚拟机就像是公寓大楼里一个独立的房间,拥有自己独立的门牌号(IP地址)。这个门牌号和你宿主机所在的楼层(网络段)是同一个序列。快递员(网络中的数据包)可以直接根据这个门牌号找到你的虚拟机,反之亦然。
工作方式:虚拟机通过宿主的物理网卡,直接连接到你的本地局域网(LAN)。它会从你的家庭路由器或公司路由器那里获取一个IP地址,和宿主机平起平坐。
优点:
局域网内的其他设备(如另一台电脑、手机)可以直接访问这台虚拟机。
虚拟机可以无障碍地访问互联网和网络中的所有设备。
缺点:
可能会占用局域网内的IP地址资源。
安全性较低,虚拟机暴露在局域网中,可能受到网络攻击。
在某些有严格网络管理策略的公司或校园网中,可能无法获取到IP地址。
2. NAT 模式
比喻:这是最常用的模式。你的虚拟机像是公寓大楼里一个没有对外门牌号的套间,它共享宿主机的“主门牌号”(宿主机的IP地址)。当套间里的住户(虚拟机)想收快递(接收数据)或寄快递(发送数据)时,都必须通过大楼的前台(NAT设备) 来代办。外界只能看到大楼的地址,不知道具体是哪个套间发出的请求。
工作方式:VMware会在宿主机上创建一个虚拟的NAT路由器和一个DHCP服务器。虚拟机连接到这个虚拟路由器上,获取一个私有的内部IP地址。所有虚拟机对外的网络请求,都由这个虚拟路由器进行“网络地址转换”,使用宿主机的IP地址发出。
优点:
安全方便:虚拟机可以上网,但外部网络无法主动发起对虚拟机的连接,非常安全。
不冲突:虚拟机的IP地址是独立的,不会与物理网络中的IP地址冲突。
非常适合需要访问互联网但不需要被外部访问的日常使用场景(如浏览网页、下载软件)。
缺点:
默认情况下,局域网的其他机器无法直接访问虚拟机。如果需要,必须在VMware的NAT设置中配置端口转发,相当于告诉“前台”:“发送到主门牌号8080端口的快递,请转交给101套间”。
3. 仅主机模式
比喻:你的虚拟机像是公寓大楼里一个完全封闭的内部房间,这些房间之间可以互相串门,也可以和大楼的管理处(宿主机) 通信,但绝对无法走出大楼,与外面的世界隔绝。
工作方式:VMware会创建一个完全包含在宿主机内部的虚拟网络。虚拟机和宿主机的一个虚拟网卡连接在这个网络上。这个网络与物理网络是断开的。
优点:
极致安全:提供最好的隔离性,虚拟机完全无法访问互联网,也无法被任何外部机器访问。
性能最佳:因为没有外部网络干扰,虚拟机与宿主机之间的网络通信性能非常高。
缺点:
虚拟机不能上网。
典型应用:
网络安全测试:创建一个沙盒环境,安全地分析病毒或恶意软件。
模拟封闭网络:进行网络实验,搭建一个与世隔绝的集群环境。
1 实现方法
这里使用“仅主机”模式来实现不插网线的情况下宿主机和VMware虚拟机双向通信。
1.1 添加一个虚拟网络
(1)点击“编辑”->“虚拟网络编辑器”:
(2)点击“更改设置”:
(3)点击“添加网络”,选择需要添加的网络,这里选择VMnet1:,点击确定即可。
添加后的效果如下:
(4)默认的就是“仅主机模式”,点击“应用”即可(不需要在这里修改子网IP等信息):
1.2 修改虚拟机网络适配器
(1)点击“虚拟机”->“设置”->“网络适配器”,在网络连接栏里选中“自定义”,在下拉框里选择我们之前添加的虚拟网卡“VMnet1”:
随后点击确定即可。
1.3 修改虚拟机IP和子网掩码
这里修改虚拟机的IP为192.168.101.35,子网掩码为255.255.255.0:
注意:虚拟机IP应和虚拟网卡IP在一个网段内。
1.4 修改虚拟网卡IP和子网掩码
这里修改虚拟机的IP为192.168.101.37,子网掩码为255.255.255.0:
注意:虚拟机IP应和虚拟网卡IP在一个网段内。
1.5 连通性测试
将宿主机网线拔掉,ping虚拟机:
可以ping通,说明双向通信OK。
1.6 vscode使用ssh进行开发测试
ssh连接成功。