AIO Ep9. 群晖 ipv6 阿里 DDNS 设置

 

初探 ipv6 & 群晖 ipv6 DDNS 的设置.

其实 ipv6 早就不是什么新概念了, 只是一直懒得去了解相关的内容.

这次就趁着设置 DDNS 的机会来了解一下 ipv6.

(还不是因为移动要不到公网 ip…)

0x00 了解 ipv6

Wikipedia

ipv6 与 ipv4 对用户来说有几点明显的区别:

  • 地址格式不同
  • 地址分配方式不同
  • 无需 NAT, 每台设备均可有公网 ip
  • 更高的安全性(ipv6 不容易被扫描)

ipv6 的工作方式是: 拨号后, ISP 给路由器一个 ipv6 前缀

例如IPv6-PD: 2409:8a20:xxxx:xxxx::/60

移动给我分配了一个 /60 前缀, 具体分配规划可以参考 这篇文章.

也就是 128 后面的 68 位都可以让我自行分配, 每一个分配出的 ip 都是公网 ip(全球单播地址).

然后路由器通过路由通告服务将这个前缀分发给所有连接的客户端.

客户端决定后 68 位的方法又有三种.

  1. 无状态(SLAAC): EUI64 或 随机
  2. 有状态DHCPv6: DHCP 服务器分配整个 ipv6 地址和 DNS
  3. 无状态DHCPv6: DHCP 服务器分配 DNS, ipv6 地址同 SLAAC.

获得 ipv6 地址和 DNS 之后即可连接 ipv6 网络, 访问 ipv6 服务.

0x01 设置 DDNS

首先需要实名在阿里云购买一个域名.

群晖自带的 DDNS 功能不支持阿里云的 DDNS 解析. 推荐 Docker 容器 jeessy/ddns-go.

容器启动后访问 [ip]:9876 即可打开 Web UI.

DNS 服务商选择阿里云, 点此创建一个子用户 AccessKey 并给子用户添加 AliyunDNSFullAccess 权限.

将 AccessKey ID 和 AccessKey Secret 填写进网页.

取消勾选 ipv4 ddns, 勾选 ipv6 ddns, 设置为通过网卡获取 IP.

保存设置即可.

但现在有一个小问题. 群晖默认设置的自动获取 ipv6 地址, 会同时通过有状态和无状态两种方式获取 ipv6 地址, 就会有两个 ipv6 地址. DDNS 获取的地址会在两个地址之间反复横跳, 导致之后防火墙设置不便.

将群晖控制面板 - 网络 - 网络界面 - 局域网1 - ipv6设置改为 DHCP-PD. (就是无状态 DHCPv6).

这样就只会通过无状态的模式获取 ipv6 地址. 就不会有两个地址了.

0x02 防火墙放行

以 OpenWRT 为例.

进入管理界面, 网络-防火墙-通信规则, 新增一条.

所有保持默认, 只需要更改目标地址为 ::[群晖 EUI]/::ffff:ffff:ffff:ffff

群晖 EUI 是通过网卡 MAC 地址算出的, 是不会改变的.

可以直接在群晖网络设置中看到.

比如群晖 ipv6 地址为 fe80::233:2345:6789:abcd/64, 那么则填写 ::233:2345:6789:abcd/::ffff:ffff:ffff:ffff

目标端口开放你需要开放的端口. 保存即可.

0x03 测试

等待 DNS 同步后, 就可以在外网访问到群晖了.

本文采用 CC BY-NC-SA 4.0 许可协议发布.

作者: lyc8503, 文章链接: https://blog.lyc8503.net/post/9-syno-ipv6-ddns/
如果本文给你带来了帮助或让你觉得有趣, 可以考虑赞助我¬_¬