连接另一台电脑的虚拟机

    需求:

    想使用 电脑A (本机)连接 电脑B(宿主机) 中的虚拟机有两种方式 (电脑A和B必须在同一网络环境下)。

    方式一:通过配置windows防火墙中的入站规则,以开放端口的形式访问。缺点:在电脑A中无法配置电脑B中虚拟机的域名映射。方式二:通过更改虚拟机的网络连接模式,并且要修改虚拟机的IP地址,网段要和主机的网段保持一致。缺点:存在IP冲突的风险。本文采用方式一。

    原理:

    在NAT模式下,虚拟机 只能跟 宿主机 进行通信,所以如果我的本机需要访问这个虚拟机,需要通过宿主机(windows)的转发端口来访问 虚拟机。

    即设置宿主机的端口映射到虚拟机的端口上,本机通过连接宿主机的转发端口,实现连接虚拟机的效果。

    一、在宿主机配置虚拟机1、虚拟机 ==》 编辑 ==》虚拟网络编辑器 ==> 更改设置 ==> NAT设置 ==> 添加映射传入端口

    说明:

    主机端口: 配置在宿主机中开放的对应端口,需要确保端口不冲突;虚拟机IP地址: 宿主机的虚拟机IP地址;虚拟机端口: 虚拟机中服务对应的端口。比如,虚拟机中mysql服务的端口号为3306;以连接电脑B中的虚拟机中的MySQL为例,主机端口和虚拟机端口都设置为3306。修改完完之后,记得点击“确认”两次。

    二、设置宿主机防火墙搜索控制面板 – Windows防火墙 --> 高级设置 --> 入站规则 --> 新建规则 --> 端口 --> 下一步 --> 特定本地端口 --> 填写端口号。一直下一步保存就可以了

    注意:

    特定本地端口号:要和NET编辑中的“主机端口”的配置一样。比如之前设置的连接Mysql的本机端口号为3306,这里也设置为3306。

    之后一直点击下一步,保存即可。

    三、连接另外一台电脑的虚拟机在本机中连接服务填写ip地址时。主机ip填写的是宿主机(电脑B)的ip 地址,而不是虚拟机ip。服务连接的用户名和密码是虚拟机的用户名/密码。

    查看电脑B(windows)的ip地址

    代码语言:javascript复制ipcongfig以在电脑A(Mac)中连接Mysql为例,其他连接类似。

    注意:

    如果是运行项目,项目中的ip地址需要修改,比如之前使用的是虚拟机IP地址:192.168.150.101,需要修改为宿主机(电脑B)的ip地址:192.168.0.118。

    邀请人:“Michel_Rolle”

    我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!