(如果有帮助,请点个赞;如果有错误,请指出;如果转载,请注明出处)
首先介绍一下问题的背景:
(1)本人想要几个服务器做测试,所以打算在家里搭几个服务器。(当然,可以选择vps之类,但这不符合极(diao)客(si)的性格)
(2)然后,我需要把服务器连到公网上,所以我需要一个公网的IP。(但是申请固定IP要花钱,也不符合屌丝的性格)
(3)所以比较常见的办法是,使用ddns服务。免费的花生壳是个比较多人推荐的方案。于是我就尝试了一下。
步骤:(具体步骤请自行搜索)
(1)注册花生壳
(2)到路由器设置ddns(我的tplink里面有嵌入式的花生壳)
(3)设置转发规则,把端口映射到局域网里面的机器上(例如http一般会转发80端口)
(4)在家里的服务器上搭一个简单的web服务器测试是否能用。
结果:无法在外网访问到web页面
原因排查:
(1)防火墙问题(后来把http启用了,但依然无法访问)
(2)外部通过http访问我的网页时,ddns无妨解析到我正确的IP
结果证明,是第二个原因
(1)百度查询到的和花生壳检测到的一致
(2)路由器中显示的如下
上面说明,花生壳上的IP并不是我真正的IP。
后来思考了一下,我猜到是运营商并没有分配公网IP给我,因此百度和花生壳检测到的IP,应该是我在电信运营商那里的出口路由的IP。
专业的说法是NAT(Network Address Translation,网络地址转换)。
NAT问题是个比较讨厌的问题,但也是一个客观存在的问题。解决这个问题的办法是:NAT穿越。
至于如何实现NAT穿越,比较细分的技术问题,有兴趣的请自行搜索。
最后的解决办法:
弄了一个新版本的花生壳(继续屌丝了一下,试用资格是答问题抽奖抽回来的),实现了NAT穿越。
挖个坑,迟下有空的话,自己搭一个服务器尝试一下。不过应该很费时间,这个坑可能填不了。迟下写网游加速器的时候,再看看有没有时间一起写了。
******************************************************* 2015年1月12日,分割线来了,继续挖坑 ******************************************************************
由于工作的需要(美名曰:路由器远程管理平台开发),目前需要在日常的办公电脑上对一些远程的路由器进行管理。
因为路由器和办公电脑都处于不同的内网之中,所以两者需要实现通信。很明显,NAT穿越是一个回避不了的问题。
我将会在后续的博客中总结一下这次远程管理平台的开发经验,欢迎关注和交流。
插个广告:
目前的免费wifi比较热,智能路由器也炒很火。很多小企业需要采购路由器进行二次开发的,以及重新贴标销售。
如果有需要定制路由器,定制rom,或者需要咨询路由器开发的相关事宜,欢迎联系本人。