VMware NAT端口映射外网访问虚拟机linux

本文目的:

一. SSH连接

二. 访问HTTP


  

VMware Workstation提供了两种虚拟机上网方式,一种bridge,一种NAT,bridge可以获得公网地址,而NAT只能是内网地址了。

NAT相当于把主机当成了一个NAT转换器,我们可以添加端口映射,使得外网可以访问利用NAT上网的虚拟机。

主机环境:    Win7

公网IP:         128.206.82.47

虚拟机版本:  VMware Workstation 10

虚拟机系统:  CentOS 6.5

虚拟机IP:     192.168.111.129

当前情况:     本机安装虚拟机系统后, 通过虚拟机IP可以在本地win7使用SSH连接, 但是外网不能通过SSH连接虚拟机。

一. SSH连接

1.首先关掉防火墙

1
/etc/init.d/iptables stop

打开VMware Network Editor,找到这个虚拟机使用的网卡。 选择Type类型为NAT方式的网卡(VMnet8) 

 VMware NAT端口映射外网访问虚拟机linux

2.点击NAT setting...

VMware NAT端口映射外网访问虚拟机linux

3.点击Add (你可以看到我已经添加好了的端口)

Host port:                           你打算用本地win7 的哪一个端口作监听端口

Virtual machine IP address : 你的linux 的IP未多少,你就填多少

Virtual machine port:           你打算用监听端口映射到虚拟机linux哪个端口, 22未SSH端口, 80未HTTP端口

VMware NAT端口映射外网访问虚拟机linux

4.关闭本地Win7防火墙

由于咱们之前关闭了虚拟机linux的防火墙, 但是没有关闭本机Win7对应的监听端口防火墙,所以也得设置一下Win7的防火墙。

如果 Windows 防火墙阻止某一程序,而您希望允许该程序通过防火墙进行通信,通常可以通过在 Windows 防火墙允许的程序列表(也称为“例外列表”)中选中该程序来实现。若要了解如何进行此操作。

但是,如果没有列出该程序,则可能需要打开一个端口。例如,当您与朋友联机进行多人游戏时,可能需要为该游戏打开一个端口,这样防火墙才能允许游戏信息到达您的计算机。端口始终保持打开状态,因此请确保关闭不需要打开的端口。

  1. 通过单击「开始」按钮 VMware NAT端口映射外网访问虚拟机linux,然后单击“控制面板”,打开“Windows 防火墙”。 在搜索框中,键入防火墙,然后单击“Windows 防火墙”。

  2. 在左窗格中,单击“高级设置”。 VMware NAT端口映射外网访问虚拟机linux 如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。

  3. 在“高级安全 Windows 防火墙”对话框的左窗格中,单击“入站规则”,然后在右窗格中,单击“新建规则”。

  4. 按照新建入站规则向导中的说明进行操作。

5.连接测试

因为咱们是通过映射的方式从外网连接到虚拟机的linux,

所以host name 就是本机Win7的IP地址, Port 为 Win7 刚刚设置的监听端口 5022, User name 就是你自己的Linux 用户名。

VMware NAT端口映射外网访问虚拟机linux

然后就大功告成了。


二.连接HTTP

1. 安装HTTP

1
yum install httpd

  启动HTTP服务

1
/etc/init.d/httpd start

做完这步在虚拟机Linux上打开浏览器 输入127.0.0.1 或者 本地Win7 输入 虚拟机Linux IP地址 192.168.111.129

就可以看到HTTP的效果, 但是外网不可以访问网页,因为要设置端口映射。

2. 设置端口映射

不多说了, 看上面SSH连接的1、2、3、4 步方法来设置端口映射就好, 只要报映射端口改为80就行, 注意别把监听端口搞冲突了。

3.访问测试

远程机器上使用本地Win7 IP地址访问, 再加上监听端口, 格式为 http://Win7 IP:Port

Win7 IP:  128.206.82.47

Port:         5080

所以我的测试时是 http://128.206.82.47:5080/


我所遇到的问题:

1. 设置监听端口是不知道为什么我设置成10022或10080虚拟机Linux就马上不能上网。

2. 之前没有关闭本地Win7的防火墙, 所以一直连接不上SSH

一些建议:

1. 在设置外网连接虚拟机Linux之前, 请确定外网能ping同本地Win7的IP。(可以当废话)

2. 不确定下次重启后虚拟机Linux IP会不会动态变化, 为虚拟机Linux设置个静态IP就好。

上一篇:linux C学习笔记02--共享内存(进程同步)


下一篇:Java Bug -- java.util.ConcurrentModificationException