AIROBOT系统 之 网络配置


需求背景

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

内网转外网

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


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

电信网络公网IP

600


600


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


600


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


网络请求转发

600


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

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


为什么要设置这个东西?


因为我们的私有云电脑是属于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服务商。我这里选