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

IPv6 使用无状态长时间后会获得多个地址,求解决方法

  •  
  •   kimigaooo · 2023-03-31 22:09:26 +08:00 · 2963 次点击
    这是一个创建于 385 天前的主题,其中的信息可能已经有所发展或是发生改变。
    op 目前使用光猫+ikuai 的组合,ikuai 拨号,ipv6 分配方式为无状态
    当宽带重新拨号获取到新 IP 后,就会在设备里( iOS/Mac/openwrt )看到多个 ipv6 地址,应该是旧地址还没到期,此时就会无法正常访问 ipv6 服务
    当使用有状态分配 ipv6 ,租期设置很短( 10 分钟),则基本不会出现 ipv6 无法使用的问题,重新拨号后可以立即更新 ipv6 地址
    不清楚这种现象是 ikuai 的 bug 还是 ipv6 尚不完善,有经验的大佬可以说一下吗
    20 条回复    2023-05-13 20:22:11 +08:00
    LisaSue
        1
    LisaSue  
       2023-03-31 22:11:11 +08:00
    爱快的问题,ra 间隔太长了,我是有状态租期设置成 3 分钟
    kimigaooo
        2
    kimigaooo  
    OP
       2023-03-31 22:13:34 +08:00 via iPhone
    @LisaSue 可是有状态安卓设备会不支持,同时我用的 quantumultX 也会无法测试 ipv6 服务器延迟(连接是正常的)非常奇葩……
    LisaSue
        3
    LisaSue  
       2023-03-31 22:30:21 +08:00
    ![iwXwSV.png]( https://i.328888.xyz/2023/03/31/iwXwSV.png)
    看看我的,我最依赖 ipv6 的服务是 pt,没有断过.但是我们这里 30 天局端才踢下线所以也没太关心.
    看看这个:https://v2ex.com/t/915393
    lo0pback
        4
    lo0pback  
       2023-03-31 22:38:52 +08:00
    这个其实 rfc9096 已经规定了,只是当前很多设备都不支持,我在 RouterOS 7.9 的更新日志中看到已经可以支持自动通告取消失效前缀了。
    Xymmh
        5
    Xymmh  
       2023-03-31 22:45:40 +08:00 via Android
    前缀本来就应该是不变的,是运营商的问题
    kimigaooo
        6
    kimigaooo  
    OP
       2023-03-31 22:46:51 +08:00
    @LisaSue 多谢分享,看了一下似乎 openwrt 对 ipv6 的支持比 ikuai 好,可以设置 ra 时间。另外请问你用有状态+无状态的分配方式不会出现更新 ip 后存在多个 v6 的情况吗?我在无状态 /有状态+无状态都有这个情况。。
    kimigaooo
        7
    kimigaooo  
    OP
       2023-03-31 22:48:28 +08:00
    @Xymmh 我这里是广州电信,公网 ipv4+v6 ,不太清楚其他地方是不是
    kimigaooo
        8
    kimigaooo  
    OP
       2023-03-31 22:49:54 +08:00
    @lo0pback 看看这个问题什么时候能修复。。
    crysislinux
        9
    crysislinux  
       2023-03-31 22:55:46 +08:00 via Android
    我是写了个脚本读 xray 日志。发现不通就重启 wan6 。
    beyondgamp
        10
    beyondgamp  
       2023-03-31 22:56:38 +08:00 via iPhone
    关注 ipv6
    LisaSue
        11
    LisaSue  
       2023-03-31 23:01:41 +08:00
    没出现过,要不然你看看 openwrt 中 ra&dhcpv6&ndp 代理这三个有没有关掉,虽然在 openwrt 里关了 dhcp,这仨依然要手动关.
    LisaSue
        12
    LisaSue  
       2023-03-31 23:02:47 +08:00   ❤️ 1
    https://www.right.com.cn/forum/thread-8277247-1-1.html
    隔壁论坛有个这个,如果想用 op 下发 v6 的话可以参考前半段.
    kimigaooo
        13
    kimigaooo  
    OP
       2023-03-31 23:11:28 +08:00
    @LisaSue 这个确实是个好办法,ipv6 防火墙也有了,感谢分享~
    cwbsw
        14
    cwbsw  
       2023-03-31 23:34:28 +08:00
    @lo0pback 我从三年前刚入手他们家设备就发邮件反馈过这个问题了,直到现在设备都卖了他们终于开始修了。
    fengyaochen
        15
    fengyaochen  
       2023-04-01 00:17:38 +08:00 via iPhone
    用有状态,然后 socat 转发内网
    lo0pback
        16
    lo0pback  
       2023-04-01 01:04:21 +08:00
    @cwbsw 不错了,起码修复了,我现在用的华为 AR 路由器还没这种机制。连 PD 前缀的 Vaild Time 都没法改
    fastcache
        17
    fastcache  
       2023-04-01 17:12:15 +08:00
    @lo0pback 好像能拨号的光猫都有这个机制?
    lo0pback
        18
    lo0pback  
       2023-04-02 01:07:46 +08:00
    @fastcache 这个没注意过,我是用猫棒,没用光猫。
    huaxie1988
        19
    huaxie1988  
       342 天前
    禁用 dhcpv6 ,使用 slaac 然后再禁用 na
    uci set dhcp.lan.dhcpv6='server'
    uci set dhcp.lan.ra='server'
    uci set dhcp.lan.ra_flags='other-config'
    uci set dhcp.lan.dhcpv6_na='0'
    uci set dhcp.lan.ra_useleasetime='1'
    uci set dhcp.lan.preferred_lifetime='1h'
    uci commit
    /etc/init.d/odhcpd restart
    然后再建个脚本解决重启不通告前缀失效的问题
    在 init.d 目录新建个文件,例如 wandown ,内容如下

    #!/bin/sh /etc/rc.common

    STOP=80

    USE_PROCD=1

    stop_service() {
    ifdown wan
    sleep 1
    }

    然后给该文件加上运行权限
    chmod +x /etc/init.d/wandown
    允许该脚本
    /etc/init.d/wandown enable
    然后关闭 odhcpd 前 wan 口会先被关闭,odhcpd 就会发 preferred_lifetime 为 0 的 ra 给下方设备让 ip 前缀失效。
    kimigaooo
        20
    kimigaooo  
    OP
       342 天前 via iPhone
    @huaxie1988 大佬这个是 openwrt 的配置吧,我目前用的是 ikuai 做主路由
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   917 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:48 · PVG 04:48 · LAX 13:48 · JFK 16:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.