域名映射到家庭网络(无公网IP)

下面几段文字是我对内网穿透的理解和原理分析。如果只想了解如何配置,请直接跳到最下方图文配置介绍。

由于IPv4的地址已经全部分配完毕,某些运营商不给普通用户公网IP,你的路由器可能连接到运营商上一级路由,更恶心的可能是,经过N层路由后,最终到达公网,这种做法被称作流量穿透。有些运营商就是大量使用流量穿透,这种宽带服务看似便宜,可是存在很多隐患。DNS劫持,缓存bug,由于N多用户使用同一公网IP,用户可能受很多网站的安全策略影响不能正常访问。

如果没有公网IP又没有域名,但就是想从外网访问家里网络,怎么办?

很多服务商提供免费的二级域名,其实不推荐的,一个普通顶级域名第一年优惠也就几块钱。而二级域名虽然免费但是域名不能自己指定,而且一般都很难记住,比如987dsf421h34k.free.xxx.com,而且很肯定是动态的域名,每次重启获得的域名都不一样。

如果没有公网IP,想要从外网访问内网是很难的,内网穿透又叫NAT穿透可以实现,但是也不推荐,为什么呢,先说下内网穿透的原理。

很多人都用过VPN,比如在家办公需要远程连接到公司电脑,一般通过代理服务器实现 家里电脑 –> 通过公网链接到公司代理服务器 -> 代理服务器通过内网连接到你的公司电脑

内网穿透的原理刚好反过来,比如有两台没有公网IP但是可以上网的主机A和B, 他们没有办法直接连接。这时候就需要一个有公网IP的代理服务器C做桥接。

首先C开放一个端口,比如1000,这个端口用来向外部提供访问服务,假设向A提供服务。

然后再监听一个端口,比如2000,这个端口用来让内网服务器主动请求来建立一个连接通道,这里假设B主动来连接。

于是B先跟C建立一个连接通道,然后A请求C的1000端口,C又把这个请求转发给B的2000端口。就相当于A请求到了B的2000端口。A和B之间可以通讯了。

A –> 外部网络,可能是其它地方的电脑,也可能是你的手机。

B –> 没有公网IP的内网主机,可能是家里的NAS,路由器。

C –> NAT服务器。

上面有点扯远了,回到内网穿透,由于A和B之间的请求必须经过C转发,所以C有能力截获A和B的通讯内容,这里不讨论http和https,总之有安全隐患,C基本都会有限流限速。

如果实在是想用内网穿透,可以自己搭建C服务器,让后在C上配置ngrok或frps。

AL云,YMX云,TX云都有VPS服务,网上有很多很详细很专业的内网穿透应用教程,这里就不啰嗦了。

拿某壳为例,配置无公网IP的外网访问。首先启用内网版插件,得到一个SN

拿这个SN去登录,密码默认admin

注册信息后,填入映射内容,我这里映射到路由器管理界面。

配置好后,点击域名诊断测试,如果有域名IP地址指向,说明配置成功

回到路由器,重启。我搞了好久,也没同步xx账号,原因竟然要 重 起…

免费版只有TCP协议,要想用web的http协议,要花6块钱,https要花更多…我就不测试了。

Padavan也支持其它免费内网穿透软件,比较火的Ngrok,frp,ddnsto….

喜欢折腾的,找一家靠谱的云服务提供商,在上面搭这些应用也是可以的。

这里不做推荐,厂家平成都打了马赛克,避免广告嫌疑,下图是参考价格,各家可能会有细微差别,希望这次能过审。