找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 891|回复: 19

停电来电后openwrt无法自动获IPv6-PD地址的解决

[复制链接]
发表于 2024-7-23 11:27 | 显示全部楼层 |阅读模式
本帖最后由 2562733675 于 2024-7-29 18:26 编辑

关联:
    IPV6公网 Nas 打开防火墙单个设备设置方法
    IPv6公网动不动就被运营商限制的解决方案

   如果家里停电,由于主路由的启动速度比光猫快会导致路由器无法自动获取IPv6-PD地址,这时候人在外面用IPv6公网连接又没有别的打洞服务就失联了。为了解决这个问题,我写了一个IPv6-PD地址监控脚本,10min检测一次是否有IPv6-PD地址,发现没有IPv6-PD就定时5min后重启路由器。我个人觉重启要好一些,所有的服务都会顺畅的打开。
   注意:脚本应该在调试完毕,可以正确获取IPv6-PD地址后使用,如果一直无法获取IPv6-PD地址会一直重启。


这是IPv6-PD地址监控脚本,不想要重启的朋友可以把 reboot 更换成别的命令:

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

  2. # 定义启动顺序
  3. START=99
  4. STOP=10

  5. # 脚本名称
  6. SCRIPT_NAME="IPv6-Monitor"

  7. # 定义检查 IPv6 地址的函数
  8. check_ipv6() {
  9.     # 获取 wan6 接口的 IPv6 地址
  10.     ipv6_address=$(ifstatus wan6 | jsonfilter -e '@["ipv6-prefix"][0].address')

  11.     # 检查地址是否为空
  12.     if [ -z "$ipv6_address" ]; then
  13.         return 1  # 地址为空
  14.     else
  15.         return 0  # 地址不为空
  16.     fi
  17. }

  18. start() {
  19.     echo "$SCRIPT_NAME is starting"

  20.     # 循环检查
  21.     while true; do
  22.         if check_ipv6; then
  23.             #echo "IPv6 address exists, continue monitoring..."
  24.             sleep 1
  25.         else
  26.             #echo "IPv6 address is empty, start timer..."
  27.             sleep 300  # 等待 5 分钟 可以根据需求自己更改

  28.             # 再次检查 IPv6 地址
  29.             if check_ipv6; then
  30.                 #echo "The IPv6 address is restored to normal without restarting."
  31.                 sleep 1
  32.             else
  33.                 #echo "IPv6 address is still empty, restart the system..."
  34.                 reboot  # 重启系统
  35.             fi
  36.         fi

  37.         sleep 600  # 每 10 分钟检查一次 可以根据需求自己更改
  38.     done &
  39. }

  40. stop() {
  41.     killall IPv6-Monitor
  42.     echo "$SCRIPT_NAME is stopping"
  43.     # 这里可以添加停止逻辑
  44.     # 如果需要停止脚本,可以使用 kill 命令来终止后台进程
  45. }

  46. restart() {
  47.     echo "$SCRIPT_NAME is restarting"
  48.     stop
  49.     start
  50. }
复制代码


具体用法:

游客,如果您要查看本帖隐藏内容请回复




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2024-7-23 18:01 | 显示全部楼层
没搞懂你问什么,还有就是为什么要重启,不是重新启用一下wan口就行了吗

点评

看来名字取得不对,得改。  详情 回复 发表于 2024-7-23 20:11
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-7-23 20:11 来自手机 | 显示全部楼层
ranmaozhi 发表于 2024-7-23 18:01
没搞懂你问什么,还有就是为什么要重启,不是重新启用一下wan口就行了吗

看来名字取得不对,得改。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-23 20:48 | 显示全部楼层
其实只要 ifdown wan; sleep 2; ifup wan 就可以了这样比较快,怕有问题可再 /etc/init.d/dnsmasq restart 一次

当然重启也没有问题,只不过建议用脚本检测是否有 pd(自己用无所谓,发出来就要防呆)

点评

为什么要采用重启,我还有个alyun webdav这中情况也无法正常启动。之前,单独刷新wan6有些问题,所有觉得重启比较好。  详情 回复 发表于 2024-7-24 04:43
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-7-24 04:43 来自手机 | 显示全部楼层
superzjg 发表于 2024-7-23 20:48
其实只要 ifdown wan; sleep 2; ifup wan 就可以了这样比较快,怕有问题可再 /etc/init.d/dnsmasq restart  ...

为什么要采用重启,我还有个alyun webdav这中情况也无法正常启动。之前,单独刷新wan6有些问题,所有觉得重启比较好。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-25 13:12 | 显示全部楼层
感谢分享,刚好遇到过停电需要手动重启的情况
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-25 13:40 | 显示全部楼层
本帖最后由 bennyzhou 于 2024-7-25 14:34 编辑


可以把reboot改成重启wan6
  1.                 ifdown wan6 && ifup wan6  # 重启wan6
复制代码




还可以试试官方方法


以下方法为5分钟刷新1次。且不需要重启路由器

光猫下挂二级路由器的确会产生ipv6前缀丢失的问题。原因就是光猫刷新了pd段但是路由器没有及时更新

修改/etc/config/dhcp

config dhcp 'lan'
//加入下面关键几句
        option ra_slaac '1'
        option preferred_lifetime '5m'
        option ra_lifetime 3000

注意不要加ra_useleasetime。官网原文如下
The preferred_lifetime option only takes effect if ra_useleasetime is disabled.

点评

测试了,不行  详情 回复 发表于 2024-8-29 09:14
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-30 14:03 | 显示全部楼层
感谢分享,办法不错,把reboot改成/sbin/ifup wan会不会好些
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-31 14:11 | 显示全部楼层
看怎么弄?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-31 14:20 | 显示全部楼层
办法不错
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-31 18:02 | 显示全部楼层
看看帖子里藏了啥好东西~~~
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-7-31 18:30 | 显示全部楼层
是IPv6-PD地址监控脚本,不想要重启的朋友可以
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-8-21 09:28 | 显示全部楼层
IPv6-PD地址监控脚本
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-8-22 12:57 来自手机 | 显示全部楼层
看看研究下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-8-24 17:28 | 显示全部楼层
感谢分享!
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-9-20 10:45

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表