AIROBOT系统 之 网络配置

需求背景

在上一个章节咱们讲究了私有云的部署,可是会有一个问题,我若是在外面,如何访问家里电脑上部署的私有云服务?其实这个问题在扩大化说 就是 如何能够在家庭网络之外 能够访问到 家庭网络:公网 访问 内网。php

内网转外网

顾名思义:就是想办法把本身的内网机器 能够直接 让外网能够访问。因为咱们互联网技术不是咱们国家发明的,在加入互联网以后咱们分配到的公网IP也很少,不像美国人口少IP还多,基本每家都有公网IP(好羡慕)。
html


在咱们国家须要公网IP必需要购买服务器或者家里安装电信网络。而我家的状况安装了电信公司提供的网络服务有一个 不固定的公网IP。咱们的文章我主要解释我家里的网络状况。后面会介绍几种非网络服务商提供的公网IP的方式。python

电信网络公网IP

600


600


如上图,经过ip138能够查询到,个人出口IP是上图。切记非电信供应商截图的IP不必定是经过你家,多是经过多种路由设备转入到你家,这种就不行的。能够看到电信猫的管理界面IP和 ip138查询的同样,就说明我家的IP是公网IPnginx


600


如上图,我家里的网络是 电信提供的猫 接入了一个 TP-LINK。家里的全部上网设备都是接入 TP-LINK进行上网。git


网络请求转发

600


最上面是TP-LINK的管理界面,下面是电信猫的管理界面。我会设置全部从 外网请求 的全部流量都转发到 TP-LINK这个设备。github

我举个例子,假如个人公网IP是 a.b.c.d。你经过任何方式的TCP和UDP协议 访问这个IP的任何端口数据包,都会转发到 TP-LINK这个路由设备。web


为何要设置这个东西?服务器


由于咱们的私有云电脑是属于TP-LINK 局域网的。若是咱们想要经过访问公网IP或者域名 能够访问到这个服务,就必须进行 数据包转发。须要从电信猫转发到TP-LINK,而后TP-LINK在转发到对应的私有云电脑上就能够了。微信


600


如上图,最上面的截图是nextcloud须要一个网址,能够看到个人网址是 http://xxx.home.54php.cn。   能够看到我将 home.54php.cn(54php.cn是我我的注册的) 全部子域名都解析到了个人公网ip上了(这里有个问题,就是电信的IP有时候会变的,如何解决这个问题会讲解的)网络


600


咱们能够想象一下,经过访问 http://xxx.home.54php.cn:10000  也就是 a.b.c.d 这个公网IP的 10000端口。首先 a.b.c.d 全部的请求都会转发到TP-LINK,而后TP-LINK管理界面有 虚拟服务器的功能【上面有截图】,能够看到经过TP-LINK 按照端口 将请求再次转发到对应机器。只要请求到了具体服务器上了指定端口(例如80),那就是服务器上的各类服务配合的事情了。例如经过nginx作web服务器转发到对应服务,例如php,python等等。


经过如上的操做 我就能够经过一个域名(其实也是IP,由于域名解析要作的事情就是找到对应的IP,也就是DNS服务的功能)。不知道是否给你们讲解清楚了,若是你们还有不明白的能够直接加入咱们技术交流群进行交流【QQ群:325264502】。这块你们弄清楚了就很是容易理解了。就是多个局域网相互转发数据包。


为何不能80或者443 默认端口?


由于电信公司非正规在电信公司备案企业或者我的,是不会开启默认服务端口,例如80,443,22等


公网IP常常变怎么办?

其实这也是为何不用IP直接访问的缘由,由于个人域名是不会变的,若是IP变了,我只须要经过一个方式将域名和IP的对应关系更新下就能够了。接下来就是DDNS登场了。咱们常常据说DNS,前面在加上一个D是什么玩意。这里多的一个D是动态的意思。通常咱们理解的一个域名和IP的对应关系是定死的。DDNS就是在本身知道本身的IP变了以后能够去更新域名的解析IP地址的。


600


你们能够看到个人*.home.54php.cn 所有到解析到家里了。为了达到咱们的目的咱们要使用一个可以提供ddns服务的dns服务商。我这里选择的是 DNSPOD。


目前在github上有人提供脚本:https://github.com/apanly/ArDNSPod。大体原理 就是 经过相似ip138这类网站获取目前本身的外网ip,而后在获取域名解析的IP,若是两个IP不同经过调用DNSPOD提供的接口更改域名绑定IP。


600


非电信网络得到公网IP

原理其实和电信网络差很少,只是不一样于电信服务商提供的公网IP,而是其余人提供了一个公网IP,而后经过别人家的公网IP服务转发到 咱们内网机器上。或者你能够理解 有一我的按照了电信网络而后通个了一种技术手段 可让咱们访问一个他们指定的域名 而后 能够转发到本身内网的机器上。


这种内网转外网的服务其实很是多,例如常常听到的花生壳,Ngrok,NAT。我记得我博客就有讲解过:Ngrok NatApp 微信本地化调试利器


如何得到这样的公网IP。你能够去任何服务器供应商购买服务器 就会获取一个免费或者付费的IP。例如个人 博客 就是在腾讯云购买的(为何买腾讯云,由于当时作活动便宜,因此不要争论为何不用阿里云,网易云等等)。而后在本身服务器上搭建各类内网转外网的服务端服务。


若是是购买服务器搭建内网转外网的服务,这种比较考验你们的功底,须要掌握的知识相对要求较高。


若是是别人搭建好了内网转外网的服务,你只须要搭建别人指定好的客户端软件进行设置就能够了。


若是是别人搭建好的,通常这种网站都会要求注册会员,而后进行必定免费 + 付费的方式给你们提供服务,而且这种通常有种缺点,只能有一个域名。不像我我的电信IP 能够绑定多个域名,多个端口,支持多种服务。可是好处是 能够是 80端口。


我的推荐若是只是玩玩 能够在网上找一些别人提供好的服务来体验下就能够了。能够搜索引擎搜索关键词:内网转外网 。


若是你们担忧被骗,能够加入咱们的QQ群,几我的合伙买个服务器(能够按月按年),搭建一个内网转外网的服务。到时候我能够技术支持。

参考资料



原文地址: AIROBOT系统 之 网络配置
标签: airobot    网络    ngrok    frp    花生壳   

智能推荐

相关文章
相关标签/搜索