Openwrt固件配置wan6接口定期更新ipv6(及ipv6-pd) 作者: 毕世平 时间: 2025-07-15 分类: 默认分类 前言:`Openwrt`固件对ipv6支持的比较友好,个人也入手了`wifi6`硬路由刷入`immortalwrt`固件,接在光猫后当二级路由。目前就存在一个问题:光猫重新`PPPoE拨号`后,`wan6接口`的`ipv6-pd地址`不会自动更新。 本文主要是参考网上这两篇文章,介绍一种方法来定期更新`wan6接口的ipv6-pd`地址。 > [Padavan自动更新LAN的IPv6前缀地址 - LuoJi.men](https://juejin.cn/post/7198782832177430583 "Padavan自动更新LAN的IPv6前缀地址 - LuoJi.men") > [路由器自动更改WAN IP脚本(xavier.wang)](https://xavier.wang/141-padavan-ip/ "路由器自动更改WAN IP脚本(xavier.wang)") ## 1.光猫重新拨号后,ipv6-pd不会自动更新 本文前提是,光猫拨号,刷了`openwrt`的路由器当二级路由,`wan6接口`可以正常获取到`ipv6-pd`地址,`lan`局域网下的设备也能正常获取到`ipv6地址`。而光猫重新拨号后,`wan6接口`不能自动更新`ipv6-pd`地址,具体如下图:  ## 2.配置脚本 以`root`用户执行下面命令: # 安装curl(脚本需要) opkg update && opkg install curl # 创建相关文本,并初始化 cd /root touch oldip.txt //创建oldip.txt文本文件 echo `curl -6 ip.sb --silent` > oldip.txt //将当前的ipv6地址写入此文本 配置脚本内容如下,具体意思可复制下来问AI: #!/bin/sh file=/root/oldip.txt oldip=`cat $file` newip=`curl -6 ip.sb --silent` if [ "$oldip" != "$newip" ]; then echo "[[ != ]]" ifdown wan6 && sleep 10 && ifup wan6 echo $newip > $file else echo "[[ == ]]" fi 将上述内容保存下来,取名为`refresh_ipv6_pd.sh`,并执行以下命令:`chmod +x /root/refresh_ipv6_pd.sh`赋予可执行权限。 ## 3.配置定时任务 以`root`用户执行以下命令: # 编辑定时任务 crontab -e # 每10分钟执行上述脚本 */10 * * * * sh /root/refresh_ipv6_pd.sh 参考链接: - [Padavan自动更新LAN的IPv6前缀地址 - LuoJi.men](https://juejin.cn/post/7198782832177430583 "Padavan自动更新LAN的IPv6前缀地址 - LuoJi.men") - [路由器自动更改WAN IP脚本(xavier.wang)](https://xavier.wang/141-padavan-ip/ "路由器自动更改WAN IP脚本(xavier.wang)") 标签: none