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

相关推荐
蜉蝣fuyou11 小时前
VMware多版本安装包
linux·vmware·虚拟机
如若1234 天前
Ubuntu 无 sudo 安装花生壳并实现 SSH 内网穿透:Conda 环境部署、冲突排查与自动启动
linux·运维·ubuntu·ssh·内网穿透
芳草萋萋鹦鹉洲哦5 天前
【git】重新生成并添加 SSH Key(Mac)
git·macos·ssh
午安~婉5 天前
git中http与ssh连接
git·http·ssh
炸膛坦客5 天前
Git 和 GitHub:(七)将本地新建仓库与 GitHub 远程仓库关联起来(SSH)
git·ssh·github
小莫分享7 天前
sshw:用交互搜索和 Web 配置高效管理 SSH Server
linux·运维·golang·开源·ssh
Jerry小杰7 天前
运维神器|单端口搞定多台内网SSH!frp端口复用终极教程
运维·ssh
BD_Marathon8 天前
xshell无法连接上centos7
ssh
吳所畏惧9 天前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
xuefeiniao10 天前
CentOS + 宝塔服务器偶发 SSH、面板、网站全部无法访问排查记录(PHP-FPM 内存耗尽案例)
服务器·centos·ssh·php