准备出一系列的文章,如何将内网主机作为web服务器,内容包括本地内网映射、多层内网映射解决方案、绕过电信80端口封锁、DDNS功能的实现(非花生壳)、网站加速等。这是本系列文章的第一篇,最基础的部分-端口映射。
首先要把电脑变成内网服务器,有如下几点要求:
①有独立IP地址
②内网结构不过于复杂,一般适用于家庭宽带
③需要一台云服务器,最好是国内的
④一个域名最好是备案的
⑤拥有家里路由器和光猫的密码
⑥上行带宽不要太小,至少保证200KB/S以上
以上标红的为必须满足的要求,达不到请放弃。其他要求尽量满足,如果达不到可能会影响你的折腾体验。
接下来我们以如何将windows的远程桌面端口映射到公网为例,通过端口映射将内网主机映射到公网。为了方便大家理解,本次操作为实际操作,进行两次端口转发。
一、环境介绍
环境为普通家庭宽带,通过光猫接入,然后光猫再接入无线路由器,主机接在无线路由器上。
首先获取光猫的公网地址,用百度搜索 IP 即可。如图:
光猫公网地址为:115.204.x.x
光猫内网地址为:192.168.1.1
路由器内网地址为:10.1.1.1
主机地址为:10.1.1.111
大致架构了解一下,这也是大多数家庭宽带的结构图:
二、网关(光猫端口转发)
打开光猫配置页面 192.168.1.1 输入账号密码登录
如图找到端口映射(虚拟服务器)
名词释义:
服务协议:有TCP和UDP两种,一般只要开TCP即可。
局域网IP:需要转发到哪台设备,这个设备的内网地址
内部端口:需要转发到哪台设备,这个设备的端口
外部端口:从外部哪个端口转发进来
比如本次操作我们需要使用windows的远程桌面,端口为3389。将公网的3389端口转发到路由器的10000端口,那么局域网IP就是路由器的地址即192.168.1.2,外部端口为3389,内部端口为10000。
添加完成后我们就把公网地址的3389端口映射到了路由器的10000端口上。
三、路由器(端口二次转发)
在上一步中,公网的3389端口已经映射到了路由器的10000端口,那么如果这时候通过公网发起一个远程桌面,会被定向到路由器的10000端口。这时候我们需要路由器对端口进行二次转发。
打开路由器的管理界面 10.1.1.1 这里以TP-LINK的TL-WR886N为例,一般路由器都带有端口转发(虚拟服务器)功能。
找到虚拟服务器设置:
我们新建一条规则,把路由器的10000端口进行转发, 转发到主机的3389端口上:
确保电脑开了远程桌面,打开方法是右键我的电脑-远程设置-允许远程桌面连接。然后另一台电脑运行mstsc,打开远程桌面连接,直接输入家里的公网地址,开始连接。
成功连接上,操作还是相对流畅的。
四、实现的原理
随便画张草图将就看下
我们可以看到,当我们通过公网发起远程桌面请求的时候,访问默认3389端口。网关接收到了请求,将3389端口对应转发到路由器的10000端口,路由器又将10000端口转发到了主机的3389端口,即实现了外网访问内网主机。当然,如果做web服务器的话,将文中的3389端口替换为80或者443端口,是同样的原理。
接下来如何使用nginx反代理,使用域名访问,请看下一篇文章:
将你的电脑变成web服务器之二:利用Nignx反向代理绕过电信80端口封锁