为我的群晖实现IPv6 DDNS外网访问

1173 字
6 分钟
为我的群晖实现IPv6 DDNS外网访问

注:这是我恢复的一篇发布于2022年8月10日的文章,故此重新发布

原由#

这天,我正闲着发慌,突然想起我的群晖似乎缺少了什么,我想让他在我在学校的时间里访问,并管理相关服务,我就想起了FRP内网映射,但我冲了一下浪,发现我没有专门用来放置FRP的小鸡,网上那些可以白嫖的平台我也不想用(某些原因),但我最后决定使用家里的IPv6,为啥我不用IPv4?(因为我没有,上次有机会申请,结果客服一直说我说的宽带办理的手机号名下没有相关服务?需要我拿办理宽带的手机号去拨打然后申请,我嫌麻烦就懒得整了,有个IPv6照样用,因为流量也带有IPv6)

因为我以前整光猫桥接,把网给干没了,使我都不敢再整了。只能使用默认的光猫拨号

但网上那些教程基本都是说要光猫桥接,但不去整一下怎么行呢

环境#

  • Windows11 专业版
  • 群晖DSM 7.1
  • X-WRT 22.03(基于OpenWRT,本文以OpenWRT说明)
  • 光猫(天翼宽带家庭网关)

过程(全程以本人实机操作过程)#

OpenWRT操作过程#

进入OpenWRT后台,进入网络->接口->LAN->编辑->DHCP服务器->IPv6设置
将RA 服务和DHCPv6 服务均改为混合模式,NDP 代理为禁用,然后保存并应用

进入网络->接口->全局网络选项
把IPv6 ULA 前缀里的内容清空,然后保存并应用

进入网络->MultiWAN 管理器->策略->balanced->编辑(注意!这一步需要软件包带有mwan3,部分主题显示为负载均衡。如果没有mwan3可以忽略这一步)
将备用成员改为默认(使用主路由表),然后保存并应用

进入网络->防火墙->通信规则->新增
常规设置下改动这些
源区域改为wan
目标区域改为lan和任意区域都可以
高级设置下改动限制地址类型为仅 IPv6其余配置按自己需求更改,然后保存并应用

然后进入网络->接口将各个接口都重启一下,正常情况下IPv6即可正常工作

因为是光猫拨号需要进行以下操作,需要连接ssh
进入系统->管理权->SSH 访问勾选密码验证和允许 root 用户凭密码登入然后保存并应用

连接ssh
输入vi /etc/odhcp6c.user,按i键进入编辑模式,然后复制粘贴下面这段代码(来自Silent大佬的代码)

此代码可以让使用光猫拨号的方式正常让外网访问

#!/bin/sh
log() {
logger -t "odhcp6c[fake-ipv6pd]" "$@"
}
reset_envs() {
local entry
local raroutes=""
local userprefix=""
for entry in $RA_ROUTES; do
local route="$entry"
local addr="${entry%%/*}"
entry="${entry#*/}"
local mask="${entry%%,*}"
entry="${entry#*,}"
local gw="${entry%%,*}"
entry="${entry#*,}"
local valid="${entry%%,*}"
entry="${entry#*,}"
local metric="${entry%%,*}"
if [ "$addr" != "::" ]; then
local prefix="$addr/$mask"
log "found ipv6 prefix $prefix"
userprefix="$userprefix $prefix"
continue
fi
log "preserve ra route $route"
raroutes="$raroutes $route"
done
RA_ROUTES="$raroutes"
USERPREFIX="$userprefix"
}
fake_ipv6pd() {
local device="$1"
local action="$2"
[ "$action" != "ra-updated" ] && return
[ -n "$PREFIXES$USERPREFIX" ] && return
[ -z "$ADDRESSES$RA_ADDRESSES" ] && return
reset_envs
[ -n "$ADDRESSES$RA_ADDRESSES$PREFIXES$USERPREFIX" ] && setup_interface "$device"
}
fake_ipv6pd "$@"

然后按esc键退出编辑模式然后输入:wq保存退出
输入/etc/init.d/network restart 让路由器重新配置网络即可

群晖操作过程#

登入群晖,打开套件中心,在所有套件中搜索Docker然后安装

安装后打开Docker,点击注册表里搜索gdy666/lucky选择然后点击下载

ddns下载
ddns下载

去映像里创建容器

d1
d1

d2
d2

这里容器名称红了是因为我已经创建了同名称的容器

d3
d3

之后一直下一步即可

进入ddns web控制台,用当前群晖ip:16601访问,默认账号密码均为666点击左上角菜单->动态域名->动态域名设置开启动态域名服务开关然后保存应用

再进入菜单->动态域名->动态域名任务列表点击下方添加DDNS任务按照自己的需求填写即可

d4
d4

关于光猫#

听说光猫的防火墙不是很友好,无法完全的管理IPv6所以导致外网到光猫就被防火墙拦截,这里我是将光猫安全项下的广域网访问设置和MAC过滤以黑名单方式开启,防火墙关闭。

c0
c0

但是重启光猫就会失效,需要重新按照上方法反复操作即可

c
c

z1
z1

最后感谢您的阅读,如有问题请指出,谢谢。

参考文章#

odhcpd 中继模式原理、局限以及解决方案

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

为我的群晖实现IPv6 DDNS外网访问
https://blog.nwn.moe/posts/8/
作者
籽夏
发布于
2023-02-04
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
籽夏
谎言的代价是什么?
公告
欢迎来到我的博客!
分类
标签
站点统计
文章
15
分类
3
标签
12
总字数
34,084
运行时长
0 天
最后活动
0 天前
站点信息
文章许可
CC BY-NC-SA 4.0
构建时间
2026年8月29日 00:03:12