在不插网线的情况下实现宿主机和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连接成功。

相关推荐
噎住佩奇8 小时前
Shell提示符变为bash-4.2
linux·ssh
小树苗m9 小时前
将dockers通过远程ssh配置在pycharm中
运维·pycharm·ssh
不染尘.10 小时前
线程编程模型和进程间通信概述
linux·windows·vscode·ssh·信息与通信
longerxin202015 小时前
在 Linux 上使用 SCP 将文件传输到 Windows(已开启 SSH)
linux·运维·ssh
JinBeen19 小时前
sourcetree下码云gitee的ssh经常失效问题
android·gitee·ssh
吳所畏惧19 小时前
Linux环境/麒麟V10SP3下离线安装Redis、修改默认密码并设置Redis开机自启动
linux·运维·服务器·redis·中间件·架构·ssh
qq_340474021 天前
4 Win11中虚拟机VMware Workstation很慢的问题
vmware·win10虚拟机速度慢
东北小狐狸-Hellxz1 天前
解决java客户端连接ssh失败问题
java·网络·ssh
小龙1 天前
【Git 报错解决】SSH 公钥认证失败(`Permission denied (publickey)`)
运维·git·ssh
♛识尔如昼♛1 天前
操作系统(2)第一章- 操作系统的体系结构
虚拟机·操作系统体系结构