场景
你在自己的台式机或笔记本中使用VMware Workstation搭建了一个虚拟机系统,如Debian、Fedora等Linux系统。现在你希望使用局域网中另一台电脑访问你电脑上的虚拟机系统,怎么办呢?
措施
这是需要使用VMware Workstation提供的NAT功能。
这里的VMware Workstation版本是最新的12.5(2017.03),推荐使用较新的软件。
具体步骤
1. 虚拟机网络配置为NAT
首先需要保证VMware Workstation中的虚拟机网络配置是NAT。
打开VMware Workstation,菜单栏中选择【虚拟机(M)】->【设置(D)】;
显示页面如下,保证网络适配器的网络连接模式是NAT。(一般默认的安装时就是NAT):
2. 查看虚拟机的IP
打开你的虚拟机系统,查看你的虚拟机系统的IP地址。这里是Debian系统为例,在终端(terminal)中输入:sudo ifconfig
。(Debian系统中ifconfig
需要管理员权限)
虚拟机系统的地址见红色下划线。
3. 修改NAT设置
打开VMware Workstation菜单栏的【编辑(E)】->【虚拟网络编辑器(N)…】。使用管理员权限,如下图:
点击红色区域的按钮【NAT设置】,显示如下图:
点击在端口转发的列表框下方的【添加(A)…】按钮,在弹出的框中框一次添加:
- 主机端口(推荐大于1024)
- 虚拟机IP地址(就是上面
ifconfig
的查询结果) - 虚拟机端口(对于Linux系统,需要以SSH方式访问,则填写
22
;如果做Web服务,推荐80
;其他需求自己再设定) - 描述(可选)
最后,点击一系列【确定】,等待VMware Workstation生效。
测试
打开浏览器,输入本机的IP+刚才设定的主机端口,如10.15.88.88:1234
;显示信息类似(应保证虚拟机系统安装了ssh服务器并启动中):
SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3
Protocol mismatch.
如图所示:
使用SSH登录
推荐使用MobaXterm Personal Edtion:
- 启动一个终端,输入命令行
ssh -p port username@hostIP
- 或者选择菜单栏中的【Session】,在弹出框中选择【SSH】,配置【Remote Host】, 【Specify username】,【Port】。设立的IP是电脑的IP而不是虚拟机的IP,端口是前面NAT设置中的主机端口。用户名是虚拟机的用户名,之后的密码也是虚拟机中该用户的登录密码。
问题
SSH访问超时,无法连接
处理
首先,保证虚拟机系统是开机状态;
其次,关闭防火墙(专业网络和来宾或公用网络),尝试连接。
关闭防火墙并不妥,推荐在【Windows防火墙】的【高级设置】中添加入站规则,运行前面设置的TCP端口连接。
另一种选择(连接服务器)
如果另一台电脑也安装了VMware Workstation,那么你可以选择使用VMwarel连接服务器。
设置虚拟机为共享:
选择虚拟机【右键】->【管理】->【共享】
按步骤下一步。
连接:
菜单栏【文件】->【连接到服务器】
输入:
- 服务器名称:虚拟机所在物理主机的IP或域名
- 用户名:物理主机的用户名
- 密码:物理主机用户名对于的登录密码