外网主机访问虚拟机下的web服务器

本文介绍了如何在外网通过主机IP和端口访问虚拟机(Centos,VMware Workstation 7)上的LAMP服务器。在NAT网络环境下,通过VMware设置端口映射,实现外网对虚拟机web服务的访问。通过主机的5901端口映射虚拟机的80端口,访问地址为http://172.18.186.210:5901。

之前在Centos虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见博文:http://blog.youkuaiyun.com/ai_net/article/details/7693165

但是,在本机访问虚拟机的时候,因为系统原因,还是会有一些问题的,解决方法有:http://blog.youkuaiyun.com/ai_net/article/details/7693788

除了上面一篇博文写到的问题之外,我更想尝试的是利用本机的ip+port来访问虚拟机上的web服务器,因为这样的话,我就能够将我的web服务器部署成为一个能让外网访问的服务器了,首先说下我的环境:

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

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

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

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

                            &nb

### 配置虚拟机以允许外部网络访问其上部署的Web应用程序 #### 设置端口转发 为了使外部网络能够访问位于虚拟机内的Web应用,需配置NAT环境下的端口转发。这意味着要设定规则让NAT设备将来自外界指定端口的数据包重定向给目标虚拟机的相关端口[^1]。 对于具体实施而言,在宿主机管理软件(如VMware Workstation, VirtualBox等)中找到对应选项来创建一条新的端口映射记录。此过程中,“源端口”指的是希望对外开放的服务端口号;而“目的IP地址”以及“目的端口”,则应指向运行着所需Web服务的那个虚拟实例及其监听的具体端口[^3]。 例如,在VirtualBox环境中执行上述操作: 1. 打开VirtualBox并选择对应的虚拟机; 2. 进入`设置 -> 网络 -> NAT -> 端口转发`; 3. 添加新条目:协议通常为TCP,主机IP留空表示接受任何请求,主机端口设为你想要公开出去的那个数值(比如8080),来宾(Guest) IP填写虚拟机的实际内网地址(可通过命令`ifconfig`获取),来宾端口则是Web服务器正在使用的那个(假设是80)。 ```bash # 获取虚拟机内部IP地址 $ ifconfig ``` #### 调整防火墙策略 考虑到安全因素,默认情况下很多操作系统都会启用防火墙阻止未授权连接尝试进入系统。因此还需要确保相关端口已被加入白名单以便正常通信[^4]。 在Linux平台上可以通过修改iptables规则集达到这一效果: ```bash sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT ``` 这条指令的作用就是告诉本地防火墙允许接收针对tcp/8080的所有传入流量。当然实际工作中更推荐采用更加精细的安全组策略而非简单粗暴地关闭整个防护机制。 另外值得注意的是某些云服务商也会自带一层额外的安全屏障——即所谓的“安全组”。当涉及到此类场景时同样不可忽视这部分配置工作。 #### 必要的路由调整 一般来讲只要按照前述方法完成了端口转发与防火墙开口这两步就已经足够满足大多数需求了。不过假如遇到特殊情况可能还需进一步优化路由表项,使得数据报文能顺利抵达目的地而不至于迷失方向。但这部分相对较为少见且复杂度较高,除非确实遇到了连通性障碍否则不必特别关注。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值