主机:系统win7,ip地址172.18.186.210

虚拟机:VMware Workstation 7,虚拟机下安装了Centos操作系统,ip地址是192.168.202.128,部署了LAMP,成为一个web服务器

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

网络环境:校园网(有认证服务器,需要账号认证才能上网),虚拟机采用NAT的方式联网

在校园网的环境下,可以把校园网内的其他主机看成是外网的主机。其实,虚拟机采用NAT联网的方式,可以让我们联想到计算机网络的相关知识,可以把我们的主机看成是一部路由器,然后虚拟机就是处在一个局域网中的一台主机,共享路由器一个端口的地址对外网进行访问,但是外网要访问这部主机,就需要在路由器上做 端口映射。于是乎,我们要做的就是在VMware上做端口映射,将主机的一个端口映射到虚拟机的ip地址,那么外网访问虚拟机,只要输入 主机的ip:port 就可以访问到虚拟机了。首先,设置虚拟机网络:

选择:编辑 --> 编辑虚拟网络,如下图所示:

 外网主机访问虚拟机下的web服务器(NAT端口转发)-----端口映射 随笔 第1张

得到如下的设置窗口(由于NAT的联网方式是使用VMnet8这个网卡的,所以我们编辑这个网卡,点击“VMnet8”):

 外网主机访问虚拟机下的web服务器(NAT端口转发)-----端口映射 随笔 第2张

可以看到,我的虚拟机是在192.168.202.0这个网段,我们点击NAT Settings(如上述红框内所示),出现如下界面:

 外网主机访问虚拟机下的web服务器(NAT端口转发)-----端口映射 随笔 第3张

点击上图红色框的“Add”,可以设置主机端口与虚拟机ip和端口的映射,里面存在的那个映射是我已经设定好的,点击Add之后会出现下面的设置界面:

外网主机访问虚拟机下的web服务器(NAT端口转发)-----端口映射 随笔 第4张                                            

我将主机的5901端口映射到虚拟机的“192.168.202.128”的80端口了,因为web服务自动开放的端口是80,所以,只要我们访问“http://172.18.186.210:5901”,就可以访问到虚拟机的80端口,也就是web服务了。如果是按照我之前的博文搭建的web服务器的话,你就能访问到“index.php”这个文件了(也就是之前新建的web服务器/var/www/html/下的一个php文件,/var/www/html/是web服务器的默认网页程序目录)。

其实说起来,虚拟机下的NAT上网和端口映射都是很简单的,操作方便,当然,里面包含了许多虚拟网络机制了,封装的好,面对用户透明,就显得很智能了。还有桥接等上网方式,面对不同的应用,都有其独特的优势,值得我们深入学习。

 

注:

1.查看指定端口的占用情况
C:\>netstat -aon|findstr "9050"

  协议    本地地址                     外部地址               状态                   PID

  TCP    127.0.0.1:9050         0.0.0.0:0              LISTENING       2016

2.关闭双方防火墙

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄