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

相关推荐
oneslide21 小时前
openssh10.0p1 源码构建安装 & rpm安装包构建
ssh
q_p4482 天前
Oracle VirtualBox查不到ip
oracle·虚拟机
mixboot2 天前
Ubuntu 24.04 修改 ssh 监听端口
ssh·ubuntu 24.04·ssh.socket
tritone2 天前
在优豆云免费云服务器上初探SSH与SCP的便捷操作
运维·服务器·ssh
beckyye2 天前
WebSSH的简单实现
ssh·webssh·xterm.js·远程终端
beckyyy2 天前
WebSSH的简单实现
前端·ssh
刚刚觉醒的小菜鸡2 天前
ssh连接本地虚拟机
linux·服务器·ssh
殷丿grd_志鹏2 天前
开源项目RuoYi-Cloud-Plus详解——公网内网穿透到虚拟机环境(持续更新)
数据库·开源·内网穿透·虚拟机
信创工程师-小杨2 天前
国产银河麒麟SP1桌面版本启动ssh服务报错解决办法
linux·服务器·ssh
我先去打把游戏先3 天前
VSCode通过SSH连接到Ubuntu虚拟机失败“找不到ssh安装”问题解决
笔记·vscode·单片机·嵌入式硬件·学习·ubuntu·ssh