关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得

作者:值友3615445481

由于6.2版本docker被GWF屏蔽,导致docker在拉取镜像的时候无法读取到列表,只能设置源镜像地址,使用命令来拉取;

而后续更新到7.2之后列表确实可以拉取了,但是拉取镜像依然报错如下:

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图

镜像拉取是没什么问题的,后面还是会弹出拉取镜像的弹窗,镜像也可以正常拉取,但是没有版本可以选择了:

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图1

强迫症的我当然不愿意了,于是开始了折腾之路!

在google和baidu上爬了几天,也咨询了群晖的客服之后,看起来只有一条路子可以用了,那就是”科学上网“,想让群晖科学上网有很多途径,我只列出我尝试过的:

1、主路由使用软路由,软路由中搭建clash、v2rayN等工具

2、使用旁路由(虚拟机搭建),群晖网关、DNS指向旁路由,或者更狠一点软路由和主路由互指

3、docker搭建clash,ssr等工具,群晖使用代理服务器端口访问

以上三种方法其实我都尝试过,软路由使用过ikuai,openwrt,istoreOS等

方法1:软路由使用我自己的redmi AX6000刷的,不过使用了一段时间之后由于自己每天瞎折腾,导致有一次防火墙策略设置失败,家里断网了,所有远程都登录不上去,而且软路由总是有些莫名其妙的问题和自己搞不懂的地方,遂放弃了用软路由做主路由的这么一个想法,也就是第一个方法我直接放弃了;但是不得不说第一个方法的功能是最多的,也是最直接了当的,后面也会讲到一个坑,个人觉得只有用第一种方法有可能完全解掉这个问题,大家可以在留言区讨论

方法2:是我折腾过最多的方法,这个方法实施起来还是比较简单的,网上有很多群晖虚拟键装软路由的方法,其中ikuai设置有一些问题,不知道为什么不支持群晖反代,所以我并不能直接远程访问后台,teamviewer登录也无法方法,原因未知,所以旁路由方案ikuai我直接放弃了,我只尝试过istoreOS和openwrt;

istoreOS看起来有点像一个小NAS,甚至还可以在里面搭建网心云等等,不过我后来还是使用了openwrt,可能是因为我自己觉得这个像一个正经的路由器?

方法3:也比较简单,有现成的docker和教程,只不过这个方案是我在踩坑之后才尝试的方法,很久之前我也用过这个方案,但是已经忘了当时为什么放弃这个方案了,这次也尝试了下,代理功能是正常的,访问也是OK的,设置也很简单,通过代理服务器访问,当然这个功能有些问题,比如订阅地址不能实时更新,(或许是我不会,设置脚本之后每次更新的都是乱码,而且下文也有讲到设置特殊规则,即便能自动更新,规则也需要再次手动编辑

设置如下:

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图2

以上三种方法设置之后都可以使docker恢复正常,并且可以选择版本

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图3

是不是以为这样就好了?

接下来说坑吧!

其实以上三种方法实时过程中间也有很多小坑,都被我不断找资料逐渐解决了,最终完整的搭建成功,也达到了我的目的;然而现在碰到了无法解决的问题:

问题1:DDNS无法正常解析

因为我自己有幸得到了IPV4公网地址(其实是执拗的我为了IPV4公网已经换了电信、移动、联通三家运营商了,手机号都携转了),有了IPV4我就就可以直接使用群晖自带的DDNS来解析我的IP地址来公网访问了,很方便;而且像公司这种只有IPV4出口的网络也可以直接访问,而不是像之前只有ipv6公网地址必须用cloudfare等中转,或者打隧道等等;

然而,如果群晖使用了旁路由或者搭建docker之后,你的IPV4地址会变化,我同时也自建了ali的DDNS解析,每次变更都有邮件。示例如图:

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图4

图上可以看到,IP地址由之前的60开头变成了141开头,60是我自己的某一时刻的NAS真实动态IPV4公网地址,141开头的是”科学上网“代理之后的IP地址,也就是说通过科学的方法,我改变了群晖的出口IP,使它看起来像国外的,这样群晖上拉取docker就跨越了GWF,能够正常拉取了,但是也引发了另外的问题:

DDNS解析失效了

DDNS解析是将IP转化为网址,通过动态监控我们的IP来固定到一个你设定好的网址,这样你每次只需要访问你设定好的网址+端口就可以随时访问你的NAS,但由于我们的出口IP产生了变化,实际解析到的地址对应的不是NAS的IP,而是代理后的IP,也就是某个服务器的IP,这样直接访问之前的网址当然就不通了

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图5

而我们的群晖DDNS我咨询过客服之后,客服表示自动识别的都是出口IP,也就是代理后的IP,无法选择;当然这里可以手动输入,然而我的IPV4公网是动态的,如果手动输入了就不叫DDNS了,下次不能访问还要再次手动输入,很麻烦。

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图6

后来我又咨询了客服,客服表示群晖的DDNS是需要访问固定了两个网址,如果这两个网址设置成直连,也有可能DDNS识别的出口IP就不会是代理之前的

关于docker“查询注册表失败”,及NAS科学上网的一点折腾之路心得插图7

也就是上面的两个IP,我修改了订阅地址的规则,将这两个网址设置为了直连,

然并卵!

设置了之后出口IP还是代理之后的IP,所以这个代理后的出口IP变化的事,当前我还没有找到方法,大家可以在评论去讨论下

问题2:反代&端口映射失效

因为我有公网IP嘛,所以我给我自己的路由器设备以及虚拟中搭建的软路由都可以开启反代,这样我就可以远程调试,(上班摸鱼

但是上文已经说过,DDNS解析IP地址失败后,面临的第二个问题就是反代也一并失效了,想来也是,隧道服务器的ip想必是没有开启端口映射的,我所有的反代都失效了,路由器和虚拟机中的设备都失效了,这又是一个让我无忍受的事情,后来我又检查了像nastoo等需要端口的工具,全部都失效了,

等于我为了让NAS可以科学上网,我放弃了我的IPV4。。我只能通过quick connect或者teamviewer来连接我的NAS了。。

折腾了大概四五天吧,我发现无论是旁路由还是docker代理服务器,都会导致DDNS读取到的出口IP变化,从而导致无法直接通过域名访问NAS,后来我只好把软路由都卸载了,代理也关闭了

写道这里其实还有一个方法,那就是通过第三方的DDNS服务来检测本机IP,但是这个方法我还没有实验,不确定是否可以读到我的NAS的真实IPV4地址,从而实现分流;也就是外网访问NAS访问的是IPV4公网地址,而NAS访问外网是通过代理服务器IP,看起来及矛盾有相关。

未完待续。。。。。

阅读更多网络存储精彩内容,可前往什么值得买查看

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。

原文链接:http://k.sina.com.cn/article_1823348853_6cae187502001axat.html

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享