前面文章中通过NAS
搭建虚拟机安装OpenWrt(iStoreOS)
旁路由的方式实现了其他设备都能自动的科学上网,参考文档:群晖安装OpenWrt(iStoreOS)构建旁路由配置OpenClash,但是NAS
自己缺不能科学上网,因此我们来解决这个问题。
本来对NAS
网络也没有太在意,其他设备都能科学上网就可以了,不过最近Docker
被墙了之后,群晖NAS
里面Docker
的注册列表都加载不出来了,哪怕是配置了镜像地址也一样,镜像地址只影响安装镜像,这个列表并不走镜像地址,很不方便,因此想要把NAS
也配置成可以科学上网。
配置镜像地址后通过命令行还是可以拉取镜像的。
问题分析
原来的网络结构如下图:
可以看到其他设备通过把网关指向旁路由来实现网络流量通过旁路由发送和接收,可以直接统一在主路由中配置默认网关来实现自动指向旁路由。
如果NAS
也把网关指向旁路由,旁路由又通过NAS
网络联网,虽然不是很懂网络这块,但看路线似乎存在一个鸡生蛋蛋生鸡的问题了,测试下来没有成功:
问题解决
因为我的机器是DS920+
,有两个网口,目前只用了一个网口,另外一个长期闲置,因此把其中一个网口用于旁路由虚拟机和主路由连接,另外一个网口就是NAS
系统和主路由连接,这样就互不干扰了,然后把NAS
系统网络的网关指向旁路由即可,新网络连接如下:
配置路由
首先把两个网口都插上网线,并且已经配置好了相关旁路由,如果还没有配置的可以参考以前的文章:
群晖安装OpenWrt(iStoreOS)构建旁路由配置OpenClash
配置NAS网络
两个接口都插上网线后应该有两个IP
地址,如图所示:
现阶段可以把网关都指向主路由,后面再把NAS
用到的网络修改为旁路由
配置旁路由网络
先配置旁路由虚拟机的网络,在【Virtual Machine Manager】的网络模块新增一个网络:
新增一个【LAN2
】选择对应的网络接口:
然后选择虚拟机,进入【编辑虚拟机】,网络模块中选择刚才建立的网络。
可能需要重启一下虚拟机。
配置旁路由转发
进入旁路由后台,进入【网络】》【防火墙】》【端口转发】模块,点击【添加】:
如果已经配置过端口转发可以看到有端口转发列表,iStoreOS
似乎没有看到DMZ
配置,我这里配置5000
以上端口的转发,因为NAS
用到的端口一般都是这些,不要把80
端口转发了,路由后台用到了80
端口。
名称可以随便取,其他需要根据实际情况填写,内部IP
地址就是自己NAS
的IP
地址。
注意要【保存并应用】,否则并没有生效,配置完毕之后就可以通过旁路由的IP+NAS
端口访问测试下是否可以访问到NAS
系统:
应该能访问到NAS
系统,否则就是配置有问题。
配置主路由转发
主路由配置很简单,NAS
系统要提供公网服务,通常都需要在路由器上配置端口转发,有些路由器支持DMZ
直接配置,可以直接用DMZ
配置,没有DMZ
的话就要配置下需要转发的端口范围,把请求和响应转发出去。
以前在主路由上配置端口转发,把请求转发给NAS
系统,这里增加了旁路由之后,端口转发需要在主路由和旁路由上各配置一次,主路由转发给旁路由,旁路由再转发给NAS
系统,否则NAS
系统将不能通过DDNS
提供外网访问了。
群晖的QuickConnect
是可以通过外部网络访问的,群晖使用了自己的中转服务器,只能访问NAS
后台和一些内置应用,其他通过端口访问的应用均不能访问
我用的路由器支持DMZ
,直接配置DMZ
指向旁路由的IP
。
配置完毕。
配置NAS网关
在NAS
的控制面板中,进入【网络】》【网络界面】把NAS
系统的IP
地址的网关配置为旁路由的IP
地址
进入【网络】》【常规】配置默认网关为旁路由的IP
地址。
目前测试下来,Docker
的注册列表已经能加载出来,下载镜像也正常了,配置科学上网成功,其他功能测试也都正常,外网访问都没有问题。