为我的群晖实现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下载

映像里创建容器

d1
d2

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

d3

之后一直下一步即可

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

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

d4

关于光猫

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

c0

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

c
z1

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

参考文章

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

本文标题:为我的群晖实现IPv6 DDNS外网访问
本文链接:https://blog.wuw.moe/archives/8.html
本文作者:籽夏
如文章未另说明,则许可协议均采用CC BY-NC-SA 4.0署名-非商业性使用-相同方式共享 4.0 国际
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇