找回密码
 立即注册
查看: 117|回复: 4

openwrt脚本:判断是否获取到公网IP,否则重新拨号

[复制链接]

786

主题

0

回帖

786

积分

00话痨hs000

积分
786
发表于 2023-6-22 12:24:47 | 显示全部楼层 |阅读模式
如题,本地联通有概率获取到公网ip,所以写个脚本,稳定运行半年了,分享出来。
  1. cat  /mnt/sdb1/bin/pppoe-ip.sh#!/bin/bash# 计数器,用于记录重新拨号的次数count=0while true; do    # 从 4.ipw.cn 获取公网 IP 地址    ip=$(curl -s https://4.ipw.cn/ | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')    # 从网卡pppoe-wan获取当前 IP 地址    current_ip=$(ip addr show pppoe-wan | awk '/inet /{print substr($2,1)}')    # 判断当前 IP 是否为公网 IP    if [[ "$ip" != "$current_ip" ]]; then        # 当前 IP 不是公网 IP,执行重新拨号        echo $ip  $current_ip        ifdown wan        sleep 5        ifup wan        count=$((count+1))        echo "重新拨号 ${count} 次"        # 判断是否达到重新拨号次数上限        if [[ "$count" -ge 10 ]]; then            echo "已达到重新拨号次数上限,退出循环"            break        fi    else        # 当前 IP 是公网 IP,退出循环        echo "当前 IP 为公网 IP,退出循环"        echo $ip        break    fi    # 休眠 10 秒钟    sleep 10done
复制代码

添加到开机脚本和计划脚本(每分钟执行一次):
* * * * * nohup bash   /mnt/sdb1/bin/pppoe-ip.sh  &


不会写服务,也不会写心跳检测,如果有大佬进行完善更好。



注意:passwall等软件要ipw.cn域名添加到直连白名单。
回复

使用道具 举报

0

主题

1011

回帖

0

积分

新手上路

积分
0
发表于 2023-6-22 12:27:50 | 显示全部楼层
- -,我的电信联通播上就是公网,移动没有
回复 支持 反对

使用道具 举报

0

主题

982

回帖

0

积分

新手上路

积分
0
发表于 2023-6-22 12:34:26 | 显示全部楼层
不折腾,ipv6公网挺好的:lol每个设备都有公网
回复 支持 反对

使用道具 举报

0

主题

978

回帖

0

积分

新手上路

积分
0
发表于 2023-6-22 12:41:51 | 显示全部楼层
koolshare以前有个插件就是重拨获取公网ip
回复 支持 反对

使用道具 举报

0

主题

963

回帖

0

积分

新手上路

积分
0
发表于 2023-6-22 12:44:12 | 显示全部楼层
是不是公网IP应该是运营商固定分配的吧,难道说你没有申请公网IP,运营商也会给你分配?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-9-26 14:13 , Processed in 0.080213 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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