全球主机交流论坛
标题:
openwrt脚本:判断是否获取到公网IP,否则重新拨号
[打印本页]
作者:
lost1984
时间:
2023-6-22 11:52
标题:
openwrt脚本:判断是否获取到公网IP,否则重新拨号
如题,本地联通有概率获取到公网ip,所以写个脚本,稳定运行半年了,分享出来。
cat /mnt/sdb1/bin/pppoe-ip.sh
#!/bin/bash
# 计数器,用于记录重新拨号的次数
count=0
while 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 10
done
复制代码
添加到开机脚本和计划脚本(每分钟执行一次):
* * * * * nohup bash /mnt/sdb1/bin/pppoe-ip.sh &
不会写服务,也不会写心跳检测,如果有大佬进行完善更好。
注意:passwall等软件要ipw.cn域名添加到直连白名单。
作者:
Bigcan
时间:
2023-6-22 12:05
- -,我的电信联通播上就是公网,移动没有
作者:
闻风听雨
时间:
2023-6-22 12:11
不折腾,ipv6公网挺好的
每个设备都有公网
作者:
sqliuchang
时间:
2023-6-22 12:14
koolshare以前有个插件就是重拨获取公网ip
作者:
linearn
时间:
2023-6-22 12:31
是不是公网IP应该是运营商固定分配的吧,难道说你没有申请公网IP,运营商也会给你分配?
欢迎光临 全球主机交流论坛 (https://fd.vvwvv.eu.org/)
Powered by Discuz! X3.4