|
|
本帖最后由 mht 于 2020-2-18 19:39 编辑
测试环境:DSM 6.2-23739 、 ASUS AC86U 梅林 384.11_2
假设已经设置好IPv6环境,黑群已经取得IPv6地址。
因为是黑群无法使用synology提供的ddns,还要免费,所以不用大家常用的国内那两家的DNS。
在测试了一堆后确定使用dynv6的DDNS。(顶级域名和https签名也有免费的就不在这里说了)
1. 申请一个动态域名
访问 dynv6.com ,按网页指导应该很简单就可以申请到域名。
2. 取得 token,token是一串字符,相当于一串密码,有了它可以免去登陆等麻烦的操作直接修改我们的域名。
选择要查看的域名,然后点击instructions项,在页面中就可以找到token了
上图token=后面那串字符就是token了,拷贝下来,后面要用到。
3. 在群晖里设置自动更新IP
1) 如果不在乎硬盘是否休眠可以用计划任务,非常简单。
新建计划任务名称和用户帐号随意,设置成每天 0点-23点50分,每10分钟运行。
运行用户自定义脚本如下:
- curl -s "https://dynv6.com/api/update?hostname=xxx.dynv6.net&ipv6=auto&token=xxxxxxxxxxxxxxxx"
复制代码 (其中token用上面拷贝的token替代,xxx.dynv6.net即申请到的二级域名)
缺点:
由于计划任务每10分钟运行一次,硬盘无法休眠。服务器有可能有Bug,出现过IP更新失败的情况,域名指向为空。
2) 修改群晖自定义DDNS配置,强力推荐。
ssh连接到群晖
修改/etc/ddns_provider.conf,在文件最后增加以下内容:
- [USER_dynv6]
- queryurl=https://dynv6.net
- modulepath=/usr/syno/bin/ddns/dynv6.php
- website=https://dynv6.com
复制代码 将附件中的dynv6.php放到 /usr/syno/bin/ddns 目录下。用chmod修改权限为755。
到控制面板->外部访问->DDNS->新增
选"*dynv6",主机名称填写申请到的二级域名如:xxxx.dynv6.net
用户名随便写,没用到;密码/密钥填写:token。
这种方式使用群晖的更新机制,应该只有在开机及IP地址变化时才会更新,测试过不影响硬盘休眠。
而且是在本机取得IPV6地址后直接设置给服务器,目前未发现有更新出错的情况。
--------------------------------------
IPv6是每个机器都会分配到一个独立的IP地址,也就意味着外部可以直接访问到所有连接的机器。
虽然由于地址空间非常大,我也没见过IPv6的扫描工具,但是把空调、电视、机顶盒。。。这些设备都暴露在外网总觉得不是很放心。
华硕也是这么想的,所以他专门做了一个IPv6防火墙的设置:
IPv6 防火墙
允许来自局域网中 IPv6 主机的所有传出流量及相关的传入流量。任何其他传入流量必须得到特别允许。
打开防火墙后只允许指定的端口连接,如果关闭防火墙,所有的连接都不被允许!(好象是这样的)
所以要想从外部访问到群晖必须开启IPv6防火墙,并开放指定的端口。
但是梅林的IPv6防火墙存在非常大的问题,它指定的本地IP只能写完整IPv6的IP地址,因此当IPv6地址变化时端口规则就失效了!!!
办法也是有的,网络提供商一般会给一个IPv6的前缀,由路由器根据每台机器的MAC地址分配的地址的后半部分。
所以可以用类似于 ipv4 mask的格式来指定IP地址的后几位。
1. 打开IPv6防火墙
2. 开启jffs脚本功能
3. 打开/jffs/scripts下的firewall-start,如果不存在就新建一个并设置755权限
4. 加入如下内容:
- ip6tables -I FORWARD 6 -d ::11:22:33:44/::ffff:ffff:ffff:ffff -m state --state NEW -m tcp -p tcp --dport 5001 -j ACCEPT
复制代码 其中 ::11:22:33:44是群晖的IPv6地址的后面4组(注意:我的是后4位不变,所以这么搞,如果你的IP地址的变化不是这样的,可能要改下)
其中 --dport 5001 是要放行的端口,群晖的 https 端口是5001所以放掉这样。(不要管https的默认端口433,这个端口很可能会被运营商拦掉,直接访问5001好了)
如果要放行多个,就加多行,改下端口号就可以了。
运行下 ./firewall-start或重启下路由。
2020/2/13更新:
3) 有朋友提到可以安装DDNS Update2来实现,相比上面的方法更适合新手。(测试硬盘无法休眠)
1. 下载地址
https://www.cphub.net/?id=40&pid=565 (这个网站经常挂,我刷新了很长时间才进去)
实在无法访问的可以从网盘下载:
链接: https://pan.baidu.com/s/1QOyXO-7Ojy0p6MQBAteVag 提取码: 4wg4
2. 手动安装
运行群晖的套件中心,按右上角的手动安装
选择刚下载的spk安装包文件,按步骤进行安装,如果安装时提示需要先安装perl,就先搜索安装一下Perl。
3. 简单设置
安装完成后套件中心会显示“未启动”(就算安装时选择了“立即启动”也一样),这是因为在没有配置文件的情况下他的服务是无法启动的。
先从“主菜单”中运行DDNS Update2的配置程序:
Check interval: 选择检测IP变更的时间间隔,最小为30秒 (这里有点怀疑是否会影响休眠)
IP check method:选择检测IP的方法,Internal项应该是群晖内部取得的IP,External应该是访问各个IP Check接口时返回的IP(即第二个TAB项里的那一堆堆的网站)
检测出来的IP会显示在右边的"IP"及右上角。如果Internal不能正常取得再使用External吧,怎么说系统已经自己取了一次,也挺累的。
IP Type: 这里选择是要更新 IPv4 / IPv6 或两者,按自己需要的选择。
按右下角的"OK"
-------------------------
增加一下dynv6的选项:
按左上角的"New"来增加一个选项,按上图设置。
(如果不需要更新"IPv6请去掉勾选),按“OK”完成。
关闭配置界面。
4. 启动服务
回到套件中心,启动DDNS Update2 :
5. 再次打开DDNS Update2的配置界面。
这里现在可以看到最后更新时间,更新状态等信息。如果出现错误可以尝试修改(双击要修改的项)设置,
鼠标选择要测试的项,右键,有一个“Force update",点击可以立即更新。可以用这个立即来测试一个配置是否有问题。
左下角有一个“View log"可以看到更新的细节信息。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|