今天无意间调通了家里的玩客云armbian系统内docker 运行的几个服务,也包含了armbian系统本身的公网访问,特别记录以下。
这里的意义在于,我使用的是移动的网络,路由器拨号后运营商给的地址非公网IPv4,而是内网地址,无法通过传统的IPv4内网穿透形式配置。
还好运营商内部、运营商之间的核心、接入层面都已经支持IPv6地址,所以我也是首次尝试使用IPv6地址绑定域名,结合lucky软路由实现了内网服务的域名+端口的访问内部多个服务。
IPv6地址分类
为了进一步了解IPv6 ,我又去翻了下中级的“网络工程师第五版”教程,记录下IPv6地址的分类
名称 | 前缀(二级制) | 前缀(16进制) | ip占比 | 类比IPv4 |
保留 | 0000 0000 | 1/256 | ||
单播 | 001 | 20-3F | 1/8 | 公网IP |
未分配 | 010-1111 1110 0 | 40-FE7F | ||
链路本地单播 | 1111 1110 10 | FE80::/10 | 1/1024 | 169.254.0.0/16 |
站点本地单播 | 1111 1110 11 | FEC0::/10 | 1/1024 | 私网192.168.0.0/16 |
组播 | 1111 1111 | FF00::/8 | 1/256 | 224.0.0.0/4 |
访问内网的实现
这里按我的理解,使用了IPv6后,是不需要任何的软路由、nat 、内网穿透,端口映射之类的技术。相当于我们设备有了IPv6单播地址后,接入运营商网络,就构成了一个大的没有围栏的互联网,他们之间都可以直接互访。
当然这里最重要的是保证拨号的光猫开启了IPv6,而且你的终端设备直连光猫。如果有无线路由器串在中间,那也要保证路由器开启了IPv6功能。比如我的小米3c路由器好像不支持。
当然直接使用IPv6地址是很不方便的,甚至浏览器直接输IPv6地址我测试也是不支持的。所以我们就要加一个域名,域名解析指向设备IPv6 。然后就可以通过域名访问设备的各个服务器了。
内网服务器设备参考
如果使用个人 PC来运行各种服务,7*24*365的运行,电费还是一个很大的制约。这几年小盒子的pc也越来越流行,但是动则1000+的rmb ,成本也是一个考量。
我是购买了2个小盒子硬件,玩客云WS1608,某鱼30入的,还有一个是某讯的N1 ,某鱼80.他们的优点是便宜、低功耗(2w),社区文档丰富、硬件刷机固件成熟,功能也基本满足家用服务的需求。
玩客云 晶晨S805 ,armv7架构,1G+8G的配置,会有些应用不支持armv7架构,但是刷个armbian(系统) +casaOS(web界面的应用商店+资源监控) ,
N1 晶晨S905, armv8架构, 2G+8G配置,比玩客云配置高些,可玩性更强
其实我觉得基本用用,玩客云也够了。一般应用推进 alist–网盘神器 ,lucky –内网服务的转发,其他看情况 openwrt .
应用还在进一步探索中。。。
不足
现在IPv6核心网络,各个运营商,云服务商技术上我觉的都已经支持了,但是在终端接入方面,可能有些没有开启。比如说企业的网络内,他们的防火墙、路由交换。
所以我现在只能是手机的4G 或5G网络直接访问我的域名才能连接到我内部服务器。公司网络全部都不行。