场景:因为项目开发,自己电脑的配置不够用,于是用实验室里的一台电脑A当做主机器,上边运行IDEA等,另一台电脑B(192.168.1.155)充当服务器,运行虚拟机,虚拟机上运行mysql、redis等。
一、首先,关闭电脑B的window防火墙
控制面板->系统和安全->Windows Defender防火墙->启用或关闭Windows Defender防火墙->
二、先保证电脑A能连接电脑B,需要再B上vmware开启端口映射功能
三、虚拟机相关设置
1.虚拟机中使用NAT模式,这里电脑B中使用Vmware创建虚拟机,在编辑中打开虚拟网路编辑器
2.端口转发处添加相关内容
1)主机端口:即网络中其它机器访问此物理机的端口。
2)虚拟机IP地址:也就是NAT模式下,分配给虚拟机的IP地址,这里192.168.10.130是我本机虚拟机的ip地址 。(可通过ifconfig命令查看虚拟机地址)。
3)虚拟机端口:是虚拟机设置的供外部访问的端口,默认为22。
此时在主机B中设置完毕后,在主机A中通过Xshell连接主机B中的虚拟机。端口号为9999,也就是在刚才NAT设置里面设置的端口号,此端口是对外提供转发功能的端口。192.168.1.155是主机B的ip地址。(不要忘记在用户身份验证中设置密码)。
即通过主机B的IP和9999端口,访问到NAT设置的虚拟网卡,然后NAT对该请求进行转发到IP为192.168.10.130(虚拟机ip),端口22进行处理,192.168.10.130:22,此IP和端口也就是NAT模式下的真实虚拟机的IP和端口。
四、主机A上的navicat连接主机B虚拟机中的mysql
1.先将两台机器相连接
新建连接,选择SSH,然后勾选使用SSH通道
,然后输入要远程连接的地址(即主机B的ip地址)
,端口为NAT中设置的端口号, 继续输入登陆linux系统的账号
和密码
,这一步相当于远程连接虚拟机中的linux系统。
2.再连接到主机B虚拟机中的mysql
切换至常规,输入任意连接名(为了区分),接着输入主机名,默认为localhost,这里填写主机B中虚拟机的ip地址,填写登陆mysql的账号和密码,这一步相当于登陆mysql数据库
然后连接完成!