"); //-->
18 年家里弄了一根光纤,算是和全世界连通了。
不过一直以来也只是家里手机上个网,看个监控,并没有很好的利用上。
最近研究一款无线调试器,需要一个服务器。
购买云服务器也是一个不错的选择,不过鱼鹰不想每年花那冤枉钱,毕竟鱼鹰所需的服务器性能不需要多好,够用就行。
刚好最近公司项目上也在研究网络相关的问题,对网络的认识比以前强多了,觉得可以把家里的宽带改装一下,弄个服务器玩一玩,这样就可以随时随地连接家里的服务器了(比如云盘)。
登录老家的树莓派:
文件传输 SCP(速度比较慢,1 MB左右,不知道有没有更快的传输方式,Samba只能用于局域网,公网配置比较复杂):
于是在五一之前,看了大量的内网穿透、点对点通信相关的知识。
原来因为种种考虑(ip资源、安全),导致我们的网络环境变得很复杂(对外上网还是比较简单的,但是要找局域网下的设备很难)。
比如我们手机的 ip 也是局域网下的局部 ip,你想通过手机 ping 通另一个远方的手机,基本不可能(苹果手机可以安装 iNetTools App 进行 ping 操作)。
而家里的宽带也基本都是内网下的 ip,和家里的 WiFi 类似,不过运营商(电信、联通、移动)的内网范围更大、可接入的设备更多。
大概拓扑如图:
因此,如果我们要让家里的服务器拥有公网 IP,需要打通以下链路:
1、公网 IP 直接分配给家里的光猫,而不是使用运营商局域网的 IP 地址。
2、现在的光猫一般同时拥有光电转换和路由、WiFi功能,但是路由和WiFi能力有限,很多时候修改起来也不方便,因此需要让公网 IP 直接到自己购买的路由器中,比如 TP-Link,这样进行内网穿透就很方便了。
3、路由器到服务器应该是固定 IP,这样在外通过公网 IP 就可以访问固定 IP,也就可以直接登录家里的服务器。
4、运营商提供的 IP 也不是固定的,隔一段时间或者重启光猫,就会更新 IP,而我们在外肯定比较难获取到家里的公网,因此需要一个机制让我们随时得到公网 IP。
新的网络拓扑如下:
首先需要查看自己的光猫的 IP 地址是否公网 IP。
登录光猫后台,查看 IP,地址如下为局域网 IP:
10.0.0.0 到 10.255.255.255192.168.0.0 到 192.168.255.255172.16.0.0 到 172.31.255.255
也可以手机连接家里的路由器进入 http://www.ip138.com,查看这里显示的 IP 和光猫是否一致,一致说明是公网 IP(一般都不一致,如果一致,那么恭喜你)。
可能老家是农村的,打个电信的电话,就可以很方便的将光猫的 IP 地址改为公网(这个 IP 也是动态的),这样就解决了第一个问题,同时可以让客服将光猫远程修改为桥接方式,这样公网 IP 就到了自己买的路由器里面,而光猫只进行光电转换。
不过改成桥接时,需要在我们购买的路由器(比如 TP-Link)里面进行拨号上网,因此需要通过客服获取到宽带的账号和密码。
如果能通过电话或 App 中的在线客服解决(光猫分配公网 IP、光猫设置桥接、获取拨号上网账号和密码),那是最方便的,不需要自己修改光猫。如果不行,那就需要特殊手段自己弄了,前提是一定要有公网的 IP,否则一切白搭。
要修改光猫为桥接,需要登录光猫超级管理账号才行,每家光猫超级账号、密码都不同,自己上网找方法。我家的是电信的,很多方法,下篇笔记会介绍这些方法。
然后就是获取宽带账号和密码,这样你的TP-Link才可以进行拨号上网(就是将光猫拨号上网的功能转移到路由器了)。
通过在路由器上设置,可以固定某个设备 IP 地址,比如把我买的树莓派固定 IP 地址为 192.168.1.2。
同时在TP-link设置这个 IP 为 DMZ 主机(当然也可以通过端口转发, 这样安全性更高,但是 DMZ 主机设置比较简单)。
这样我的树莓派就可以通过公网 IP 直接访问了。
可以通过手机(不接 WiFi)测试一下是否能 ping 通路由器的公网 IP(即使树莓派没接,也可ping通)。
最后就是如何让我们远在天涯也能知道这个公网 IP,从而访问服务器了。
这里需要使用 DDNS,通过域名来得到 IP,进而访问服务器。
这里鱼鹰用的公云的免费 ddns 功能。通过注册就可以使用这个功能。
比如我通过 ping embedded.f3322.net 就可以 ping 通我家里的服务器,这样基础功能就算完成了。
限于篇幅原因,这些实现细节鱼鹰会在后面的笔记中详细介绍,欢迎大家持续关注。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。