V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wayne630

关于从路由器 DHCPv6 获取动态 IPv6 的租期问题

  •  
  •   wayne630 · Mar 2, 2023 · 5081 views
    This topic created in 1162 days ago, the information mentioned may be changed or developed.

    最近在折腾 IPv6 。

    我这里的宽带是 48 小时强制掉线一次,然后路由器重新拨号后,获取到的 IPv4 、IPv6 地址都肯定会改变。v4 倒没什么,因为有 NAT ,内网地址是固定的。但 v6 的话,假如内网机器的 DHCP 租约还没到期,但 v6 前缀因为重新拨号改变了,那么内网的设备岂不是无法上网?要等到 DHCP 到期已满续租后才能获取到新的 v6 前缀?

    另外,istoreOS ( OpenWRT 换皮版),DHCP/DNS 里的静态地址分配,IPv6 后缀(十六进制)是如何填写的啊?我无论怎么填写都无法分配到静态后缀给指定的机器。

    谢谢大家!

    17 replies    2023-08-07 23:41:37 +08:00
    wheat0r
        1
    wheat0r  
       Mar 2, 2023 via iPhone
    一个办法是在 DHCP 信息变更之后快速重启一次物理接口,一些路由器修改 dhcp 配置之后所有终端都会掉线一次,可能就是用来强制刷新的
    Marionic0723
        2
    Marionic0723  
       Mar 2, 2023
    第一个问题同蹲解决方案,第二个是 1234 5678 9ABC DEF0 (不包含空格),写满 16 个字符,这样就能分配指定后缀,
    2001:DB8::1234:5678:9ABC:DEF0
    acbot
        3
    acbot  
       Mar 2, 2023
    IPv6 DHCP 租期的问题是根据经验猜的还是实际就是有这个问题。至于 DHCP 静态后缀的问题,我记得 OP 默认使用 v4 的后缀, 比如: DHCP v4 固定为 192.168.1.100 那么 DHCP v6 不做任何配置,地址的后缀好像就是 :100
    raysonx
        4
    raysonx  
       Mar 2, 2023 via Android
    第一个问题,关闭 DHCPv6 ,使用 SLAAC 即可解决
    jfdnet
        5
    jfdnet  
       Mar 2, 2023
    对外用 DDNS 绑定个域名不就好了。对内设备都是自动获取不用管。
    lentrody
        6
    lentrody  
       Mar 2, 2023
    我用的 Padavan ,有时下面的设备会同时有两个 IPv6 前缀的地址,但也能正常上网。
    可能你指定的设备不支持 DHCPv6 ?或者直接用 SLAAC 自己计算 EUI64 后缀就行吧,有啥必要手动指定么。
    lcy630409
        7
    lcy630409  
       Mar 2, 2023
    第一个问题 我的做法是 将 v6 的租期设置为 10 分钟
    a0210077
        8
    a0210077  
       Mar 2, 2023
    我关掉 DHCPv6 ,仅打开 SLACC
    1 、安卓设备不支持 DHCPv6 ,开了也没用
    2 、Windows 设备会同时用两种方式分别获取 ipv6 地址(共 4 个,其中 2 个临时),用哪个随缘,一旦用了 DHCPv6 分配的无效地址,ipv6 直接跪了
    rebecca554owen
        9
    rebecca554owen  
       Mar 2, 2023 via Android
    ipv6 可以放弃 DHCPv6 了,用 slaac 。前缀变更也能解决,不会断网。
    a90405
        10
    a90405  
       Mar 2, 2023
    ipv6 关掉 dhcpv6 是比较好的解决办法,反正我这里是关了
    kome
        11
    kome  
       Mar 2, 2023
    我也头疼, 使出了一个比较残废的方法.
    每天早晨 5 点整 ikuai 重新拨号, 然后 windows 加个执行时间在重新拨号后 5 分中的脚本. 脚本需要使用 powershell, 如下:
    ```
    Disable-NetAdapterBinding -Name "WLAN2" -ComponentID ms_tcpip6
    Enable-NetAdapterBinding -Name "WLAN2" -ComponentID ms_tcpip6
    Disable-NetAdapterBinding -Name "以太网" -ComponentID ms_tcpip6
    Enable-NetAdapterBinding -Name "以太网" -ComponentID ms_tcpip6

    echo "123"
    ```
    "WLAN2"和"以太网"是网络适配器在系统里的名字, 脚本执行就是"powershell 脚本绝对路径"
    a90405
        12
    a90405  
       Mar 2, 2023
    分配固定的 ipv6 后缀,需要 duid ,这个 18.06 的老皮 openwrt luci 没有这个项目,需要直接编辑 dhcp 配置文件。
    dude4
        13
    dude4  
       Mar 3, 2023
    dhcpv6 默认不是分配::1 后缀么,实际操作就是最后几位和 V6 局域网分配地址一样,譬如某个客户端 V4 是 192.168.1.55
    V6 就是 xx:xx:xx:xx::55
    分配方式是在客户端指定的,不是服务器端,可以指定譬如 eui64 的方式,linux distro 就是取消 privacy 什么的,这样后 64 位就按你网卡 mac 生成了,后缀带 ff:fe ,如果看到带这种后缀的可以反推设备网卡的生产厂商,不过大部分普通用户没什么影响

    你说的 V6 续期 op 貌似有人提到是 BUG ,绕弯解决是……如楼上所述关 DHCPV6/把有效期设置短于变动期 /检测脚本检测到 V6 变化就 ifup LAN 端口
    wayne630
        14
    wayne630  
    OP
       Mar 3, 2023
    我现在是把 DHCP 租期设置为 1 分钟……暂时“完美”解决
    flynaj
        15
    flynaj  
       Mar 12, 2023 via Android
    @wayne630 把有效期设置短问题更多,我用的是定时重拨,每两天凌晨重拨一下,没有遇到过问题。
    tonyshao319
        16
    tonyshao319  
       Jun 4, 2023
    @wayne630 在哪设置啊
    zapan
        17
    zapan  
       Aug 7, 2023
    @Marionic0723 第二个有个好办法是用反向掩码: `::bf0/::ffff:ffff:ffff:ffff`
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5949 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 03:38 · PVG 11:38 · LAX 20:38 · JFK 23:38
    ♥ Do have faith in what you're doing.