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

相关推荐
宾有为1 天前
【Linux】Linux 常用指令
linux·服务器·ssh
爱喝矿泉水的猛男1 天前
ssh远程访问另一台windows(可扩展到docker环境)
docker·ssh·zerotier
❀͜͡傀儡师1 天前
Docker一键部署Nexus Terminal,高颜值SSH新体验
docker·容器·ssh
qinyia2 天前
WisdomSSH解决因未使用Docker资源导致的磁盘空间不足问题
运维·服务器·人工智能·后端·docker·ssh·github
qinyia2 天前
WisdomSSH如何高效检查服务器状态并生成运维报告
linux·运维·服务器·数据库·人工智能·后端·ssh
LiuYaoheng4 天前
Git配置SSH Key到GitHub的详细教程
git·ssh·github
wa的一声哭了5 天前
Webase部署Webase-Web在合约IDE页面一直转圈
linux·运维·服务器·前端·python·区块链·ssh
哈里谢顿5 天前
~/.ssh/config 作用详解
ssh
没有名字的鬼5 天前
RK3399 SSH连接设置
linux·ssh·rk3399·mobaxterm
小Lu的开源日常5 天前
踩坑日记:为什么Git 突然 Push 不上去了
git·ssh·github