V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZeroSimple
V2EX  ›  宽带症候群

OpenWRT 成功获取 IPv6 地址却无法使用

  •  1
     
  •   ZeroSimple · 2020-08-22 09:40:19 +08:00 · 12753 次点击
    这是一个创建于 1314 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如图,路由器和电脑都已经获取到了 IPv6 地址: dU3M6g.jpg dU8pEn.jpg 通过电脑依然无法访问 IPv6: dUGFII.png 我尝试 ssh 到路由器,直接通过路由器测试 IPv6,发现路由器本身也无法使用 IPv6: dU8bZ9.png 求大佬诊断一下原因(我的运营商是支持 IPv6 的,以前用老毛子的时候是能用的)

    19 条回复    2023-11-03 00:15:08 +08:00
    ashong
        1
    ashong  
       2020-08-22 09:51:25 +08:00
    检查一下防火墙规则
    wqy
        2
    wqy  
       2020-08-22 09:52:08 +08:00   ❤️ 3
    原因一:网络——DHCP——高级设置中勾选了“禁止解析 IPv6 DNS 记录”
    原因二:网络——负载均衡——策略中备用成员是“不可达(拒绝)”而不是“默认(使用主路由表)”
    ifxo
        3
    ifxo  
       2020-08-22 09:54:22 +08:00
    测试站有问题,我那天也测试失败,实际上已经成功了
    ZeroSimple
        4
    ZeroSimple  
    OP
       2020-08-22 09:56:57 +08:00
    @ashong [![dUtGWt.png]( https://s1.ax1x.com/2020/08/22/dUtGWt.png)]( https://imgchr.com/i/dUtGWt)防火墙规则应该没问题
    @wqy 没有勾选禁止解析 IPv6 DNS 记录;设置的是不可达(拒绝)
    @ifxo 测试站没问题,手机用蜂窝能 Ping 通。
    wqy
        5
    wqy  
       2020-08-22 10:01:27 +08:00   ❤️ 2
    @ZeroSimple 意思就是不能设置为“不可达(拒绝)”,要改成“默认(使用主路由表)”才行
    droidmax61
        6
    droidmax61  
       2020-08-22 10:04:34 +08:00 via Android
    所以我才继续用老毛子
    ZeroSimple
        7
    ZeroSimple  
    OP
       2020-08-22 10:06:30 +08:00
    @wqy 非常感谢,成功了,此帖终结
    0A0
        8
    0A0  
       2020-08-22 10:06:40 +08:00 via Android   ❤️ 1
    如果设置里都确定没问题但还是无法解析 ipv6 的话,可能你的 openwrt 需要用 slaac 方式才行。

    网页管理端,路径:Network->Interfaces, 删除私有 IPv6 前缀并保存

    SSH 登录 OpenWRT,修改 /etc/config/dhcp 文件,添加如下部分,不使用 dhcpv6 方式配置 IPv6,而是使用 SLAAC 方式配置 IPv6 。

    config dhcp 'lan'
    option dhcpv6 'disabled'
    option ra 'relay'
    option ndp 'relay'

    config dhcp 'wan6'
    option interfere 'wan'
    option dhcpv6 'disabled'
    option ra 'relay'
    option ndp 'relay'
    option master '1'
    修改之后保存,重启 odhcpd 服务,否则接入终端无法获取 IPv6 地址。

    /etc/init.d/odhcpd restart
    这种方式可以让接入路由器的终端,获取原生的 IPv6 地址。但每次路由器重启上述配置并不会生效,需要重启下 odhcpd 服务,接入路由器的终端方可获取 IPv6 地址。

    可以在开机启动脚本 /etc/rc.local 中添加如下脚本,每次开机系统启动 30 秒后重启 odhcpd 服务。
    sleep 30
    /etc/init.d/odhcpd restart
    flyfishcn
        9
    flyfishcn  
       2020-08-22 11:18:13 +08:00
    路由器上都 ping 不通,大概率是没有路由,或者路由不对。
    Chauncey09
        10
    Chauncey09  
       2020-08-22 15:15:05 +08:00 via iPhone
    请问这个是哪个固件?
    Maskeney
        11
    Maskeney  
       2020-08-22 18:43:52 +08:00
    显然 你这不是官方 OpenWrt 哪来的回哪问去
    sasalemma
        12
    sasalemma  
       2020-08-22 21:33:57 +08:00
    就是某位“大神”的固件里加了“禁止解析 IPv6 DNS 记录”,还默认勾选的结果比较多。

    op 原版这个是没有的。
    shikkoku
        13
    shikkoku  
       2020-08-22 22:03:04 +08:00
    Openwrt 原版 19.07 没有“禁止解析 IPv6 DNS 记录”。
    cnrting
        14
    cnrting  
       2020-08-23 00:45:58 +08:00 via iPhone
    自从被网上流传的各种大神版本坑了之后我就自己编译了😂😂😂
    KENNHI
        15
    KENNHI  
       2020-08-23 04:12:08 +08:00 via Android
    nat6 可解
    ericFork
        16
    ericFork  
       2020-08-23 06:35:32 +08:00
    进来之前看标题还以为是运营商只给了 /64
    letmefly
        17
    letmefly  
       327 天前
    好晕,我也是这样。我是 ubnt er-x 刷了最新的原版 openwrt 22.03.5 ,刚刚创建好 pppoe 的时候是能通过 ipv6 测试的。但是当我配置好路由器,并重启过后就不能过 ipv6 测试了。
    路由器,我划分了 2 个网段,安装了 zerotier 和 vlmcsd 。
    znsb
        18
    znsb  
       151 天前
    @0A0 0 老师我研究了一整晚都没懂怎么延迟重启 odhcpd

    “可以在开机启动脚本 /etc/rc.local 中添加如下脚本,每次开机系统启动 30 秒后重启 odhcpd 服务。
    sleep 30
    /etc/init.d/odhcpd restart”
    这句话究竟怎么实现。。。
    0A0
        19
    0A0  
       146 天前 via Android
    @znsb
    字面意思在 rc.local 文件里添加下面两行命令
    sleep 30
    /etc/init.d/odhcpd restart
    意思就是系统启动后隔 30 秒重启 ldhcpd 服务。具体隔多少秒看你自己设备快慢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2423 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:10 · PVG 00:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.