为我的群晖实现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 web控制台,用当前群晖ip:16601访问,默认账号密码均为666点击左上角菜单->动态域名->动态域名设置开启动态域名服务开关然后保存应用
再进入菜单->动态域名->动态域名任务列表点击下方添加DDNS任务按照自己的需求填写即可

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

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


最后感谢您的阅读,如有问题请指出,谢谢。
参考文章
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!

