作为一位多年的nas用户,如果问我最大的痛点是什么?我会选远程访问:内网的nas设置其实很简单,但涉及到外网访问难度就会提高一个等级。但如果无法远程访问,nas的使用范围将大受局限。
目前最简单的当然是DDNS+域名(内网穿透)的方式。但这种方式通常都需要花钱购买DDNS服务或者需要购买昂贵的品牌nas。公网ip+域名可以实现同样的功能,但IPV4环境下有大量的宽带用户无法拥有公网ip。
问题的原因本质上是IPv4的资源不足(房子太多,门牌号不够发了)。IPV6是一种终极解决方案,理论上它可以为地球上的每一粒沙子分配独立的IP地址。所以只要用上ipv6,我们可以轻轻松松给每个设备分配一个独立的IP地址。而且随着宽带技术的进一步普及,现在的运营商都已经提供了ipv6网络服务。
将光猫设置成桥接模式后(我家的光猫只有桥接模式一种,所以没法写教程了。不过网上有大量教程可供参考)。只要你的路由器支持ipv6,理论上我们只要打开路由器的IPV6功能,内网中的每个设备都会拥有一个独立的IPv6地址。
我用家里的华为路由器试了下,打开路由器的IPV6功能,再去nas里看下网络信息。果然有IPv6的地址分配下来了。
每个ipv6的地址都是唯一的,理论上我们只要用这个ip地址就可以登录nas了。但实际用这个ip外网登录的时候,显示的是这样信息。
原来主流的路由器都是为IPV4设备而设置,默认状态下是不会把内网设备暴露到公网上的。仅仅允许公网ping到它们。如果你需要公网访问它就必须修改防火墙设置。但品牌路由的防火墙设置往往没有那么丰富。概括起来就是:路由器不支持IPV6下的外网设备访问内网。
但如果你有一台像openwrt ,潘多拉或者梅林固件的路由器。只要稍微修改下防火墙设置就可以用上IPV6的独立IP。设置起来一点也不难。我们以基于openwrt的lede软路由为例:
进入到路由器界面的“网络”>“接口”选项,初始这里应该有三个选项:一个Lan口和两个Wan口(wan和wan6)。先点击wan选择编辑。
将“常规设置”里的协议改成PPPoE拨号模式,让软路由自己拨号。然后输入宽带的账号密码。
在高级选项中去掉IPV6管理,这里并不需要wan口的IPV6拨号。我们会单独设置一个“Wan6”口进行IPv6拨号。
然后先保存设置。然后选择“关闭”。
下一步进行wan6设置,点击Wan的“编辑”选项
在常规设置中的协议这里要选择“DHCPV6客户端”。
然后wan6“高级设置”这里的“IPV6管理”一定要打钩
物理设置这里选择@wan选项。如果没有此选项可以手动输入。
最后是防火墙设置这里,一定要选择好wan和wan6两个接口。我这里默认就是设置好的。
设置好这些之后,同样保存并关闭。最后我们在接口设置这里,选择“保存并应用”。让所有的应用生效。
如果顺利的话,就可以看到宽带拨号成功。ipv4和ipv6地址成功分配下来的信息。
注意划线的才是真实分配下来的ipv6地址,24开头。我们可以去www.test-ipv6.com 测试下网络是否连通了IPv6。如果网站的测试通过,说明我们已经成功拥有了IPV6地址。
拥有ipv6地址是第一步,接下来我们要设置防火墙,让外网设备可以访问内网的IPV6设备。
在“网络”>“防火墙”选项中选择新增,添加一条防火墙规则。
具体内容如下:
名称随意起,我这里就写“ipV6”
协议:tcp和udp
源区域:wan和wan6 两个拨号端口
其余选项不用修改
目标区域选择:Lan或者 Any zone都可以
目标IP 可以留空,添加详细一些的IP段会更安全一些
目标端口:把常用的控制端口写进入,用空格隔开。 指定开放的端口会更安全一些。
再选到高级设置,“限制地址”选择为“仅ipv6”。然后保存关闭。
照例“保存并应用”,让规则生效。
好了,此时最好重启一下你的群晖nas。然后找到“控制面板”>“网络信息”中IPv6的地址。复制下来。
以上这些设置顺利的话只要十几分钟就可以完成。然后我们可以关掉手机的WiFi功能,测试下外网访问是否能成功。
这里需要注意下IPv6的登陆格式。
比如我这里的ipV6地址是2409:8b43:311b:b6e0:211:32ff:fe12:3456
那么在浏览器中输入的格式就是:http://[2409:8b43:311b:b6e0:211:32ff:fe12:3456]:5000/
注意IP地址外需要加一个中括号。
成功,再试试用群晖软件登录。注意APP登陆是不需要加http和端口号。但需要在防火墙中要开放相应端口。
登录成功,用ipv6远程登录是不是很简单。不过目前ipv6的地址也是动态分配的。过段时间ip地址就会有变化。
且IPv6的地址太长太难记了。给它做个动态域名解析就方便很多了。我们这里用阿里云的ddns服务做个例子。
登陆阿里云的首页,点击右上角的控制台。然后搜索“云解析 dns”。然后去注册一个域名。
我注册了一个最便宜的域名,第一年是8块钱。
域名注册需要通过实名认证,个人用户需要上传证件信息。不过阿里的认证效率还是挺高的,域名购买认证的过程非常顺利。不到一个小时解析服务就正常工作了。
我们选择“解析设置”,先添加一条记录。记录类型选择:AAAA ipv6地址 然后再填入自己的域名信息。
添加完毕以后,显示“状态正常”就能正常使用了。
再来客户端设置下,以群晖为例。我们需要用到群晖的docker插件。
安装好docker之后,在注册表里搜索“ddns-go”或者“ddns”选择“jessy/ddns
-go”这个容器。
然后在映像中选中它,选择启动。
选择“高级设置”
选择“端口设置”>把本地端口也改为9876 >选择应用。接着选择下一步
再到“容器选项”中启动容器
此时就可以用群晖IP加9876的端口号登录容器进行配置。比如我这里的地址就是192.168.50.172:9876登陆
登陆到ddns服务的后台后,主要填写这几个内容。在阿里云服务中填入AccessKey的ID和Secret。这个相当于阿里云ddns服务的账号和密码。
这个AccessKey在阿里云后台的右上角,ID管理这里可以获得。
菜单栏下拉去掉ipv4设置,启动ipv6并填入你设置好的域名。
其他设置不用管,点击保存。如果设置无误。网页左边就会有解析成功的提示了。
如果提示不成功的话,可以重建一个容器。勾选“使用docker host 同一网络”试试
解析成功之后,我们就可以尝试用域名登陆nas。这回应该非常方便就可以登录。
登陆file这样的app也是一点问题都没有。
好了,这就是我认为比较完美的远程登录nas的方法了。最后来总结下:
1、用ipv6来登陆nas,完全摆脱了内网穿透的复杂设置,网速受限和需要付费等种种弊端。设置起来也不麻烦,一次劳动享用几年。
2、目前各地运营商都已经支持ipV6,获得独立IP地址并不困难。关键是路由器需要支持防火墙放行。只要可以设置防火墙,就可以轻松用ipv6地址访问到nas。
好了,本次教程就先分享到这里。码字不易,都看到这里了。点赞、收藏、转发一波再走呗。