背景
最近刚入手了一台mac book,打算在本地搭建集群环境,但macos上使用虚拟机较为麻烦(或者说太贵了),打算先使用老电脑(Windows系统)的VMware虚拟机来跑,即在windows宿主机上的虚拟机进行集群搭建,然后在mac上进行远程连接和操作。
准备工作
首先需要保证本机和包含虚拟机的宿主机处在同一个局域网下,同一wifi下或同样的公司内网都可以,即网段前三位是相同的。宿主机准备好虚拟机搭建平台,VMware、virtual box、parallels desktop等都可以,并创建好虚拟机。本机准备好ssh连接工具,windows系统可以使用xshell,macos可以使用Royal TSX。关闭本机、宿主机、虚拟机的防火墙,避免请求被拦截。方案一:桥接模式
这种方法比较简单。桥接模式下,虚拟机相当于局域网的一台物理机,有自己的IP地址,所以处在同一局域网的本机可以直接访问虚拟机的端口,通过虚拟机IP+虚拟机的相关工具端口号+虚拟机的用户名和密码即可连接。个人不大喜欢这种方式,因为这相当于直接把虚拟机的所有端口都暴露出来了。
方案二:NAT模式
重点说说NAT模式。由于NAT模式下,虚拟机只能跟宿主机进行通信,所以如果我的本机(macOS)需要访问这个虚拟机的话,需要通过宿主机(windows)的转发端口来访问。因此,通过设置转发端口,本机直接连接该宿主机的转发端口即可。
1、在VMWare的网络编辑器中设置转发端口:
每个虚拟机的连接22端口都对应一个宿主机的端口,如图中的2201和2202
2、查看宿主机的IP地址
可以通过网络和internet设置查看,也可以使用命令ipconfig/ifconfig/ip addr等查看
例如图中的ip地址是192.168.3.11
3、本机使用ssh连接工具进行连接
可以使用xshell、royalTSX等。
本人macOS上使用的royalTSX工具连接,使用宿主机IP+宿主机的转发端口号+虚拟机的用户名和密码即可连接
成功连接!!
9、补充说明
该方法同样可以用于远程访问一些工具的端口
比如虚拟机上的redis工具的端口号是6379,则可以把该端口映射到宿主机的6310端口,此时本机只需要访问宿主机ip+6310端口即可调用虚拟机上的redis