在OpenWRT上自动重拨号获取公网IP(手记)

news/2024/7/5 5:14:07

在OpenWRT上自动重拨号获取公网IP(手记)

前言

哈喽,大家是否有过这样的经历:想在家里搭建一个小型的服务器、或者是一个NAS,但由于运营商提供的IP地址是一个内网地址,但有一定的概率能获得公网IP。这篇文章将手把手地教你如何编写一个简单的脚本,在OpenWRT上自动重拨号,直到我们获得一个公网IP!

图文无关

脚本

#!/bin/sh
#通过命令传入两个参数
#参数1:线路名
line=${1-"unicom"}
#参数2:尝试重拨次数
times=${2-50}

for i in `seq $times`
do
	IP=$(ifconfig "pppoe-${line}" 2> /dev/null | grep 'inet addr' | awk '{print $2}' | cut -d: -f2)
	IPP=${IP:0:2}
	echo $line $IP
	
	if [ "$IPP" = "10" ]; then 
  		ifdown $line | ifup $line
  		sleep 20
	else
  		echo $IP
  		break
	fi
done
  • 需自行提供的值:脚本默认操作的网络接口是unicom,并默认尝试50次重拨号。
  • 检查IP:我们使用ifconfig命令获取网络接口的IP,并从结果中切割出IP的前两位。
    这样做还有一个好处,当你手动停止时,是读到出IP的值,所以不会与手动停止后功能冲突
  • 判断操作:如果IP是10.X.X.X,则这是一个私网地址(目前已够用),需要重拨。否则,直接输出获得的IP。

如何使用

  1. 保存上述代码到/usr/bin/redial文件中。
  2. 赋予文件执行权限:chmod +x /usr/bin/redial
  3. 添加定时任务:*/1 * * * * sh /usr/bin/redial unicom 50*/1 * * * * sh /usr/bin/redial telecom 50 这样,系统会每分钟检查并尝试重新拨号,直到获得公网IP。

注意事项

  • 运营商所给的线路必须有一定机会获得公网IP,否则没戏啊!
  • 不同的运营商政策不一样,需自己打客服电话专取权利,去尝试申请看看(越来越难了)

结语

“白嫖”获取公网IP,享受互联网的无限乐趣!


http://lihuaxi.xjx100.cn/news/1602567.html

相关文章

数据库 explain 关键字解析

目录 1. explain 概述 2. explain 关键字的使用方式 3. explain 的版本迭代 4. explain 只分析SQL语句,不执行SQL语句 5. explain 输出结果中各个字段的含义 6. type 表示检索表数据的方式 7. key_len表示使用的索引的长度 8. rows 表示预估读取到的行数 9…

MySQL 如何使用离线模式维护服务器

离线模式 作为 DBA,最常见的任务之一就是批量处理 MySQL 服务的启停或其他一些活动。在停止 MySQL 服务前,我们可能需要检查是否有活动连接;如果有,我们可能需要把它们全部杀死。通常,我们使用 pt-kill 杀死应用连接或…

el-tree中插入图标并且带提示信息

<template><div class"left"><!-- default-expanded-keys 默认展开 --><!-- expand-on-click-node 只有点击箭头才会展开树 --><el-tree :data"list" :props"defaultProps" node-click"handleNodeClick" :…

30岁还可以转行网络安全吗?会不会有中年危机?

可以&#xff0c;网络安全行业的包容性很强&#xff0c;只要你有技术&#xff0c;那么就能够从事相关的工作&#xff0c;并且薪资比很多其他行业高很多。而且网络安全行业没有他们说的年龄危机&#xff0c;反而是越来越值钱、薪资越高。 这是网友分享的对于网络安全行业的看法&…

解决: 使用html2canvas和print-js打印组件时, 超出高度出现空白页

如果所示&#xff1a;当我利用html2canvas转换成图片后, 然后使用print-js打印多张图片, 第一张会出现空白页 打印组件可参考这个: Vue-使用html2canvas和print-js打印组件 解决: 因为是使用html2canvas转换成图片后才打印的, 而图片是行内块级元素, 会有间隙, 所以被挤下去了…

模拟器运行在AndroidStudio内部,设置其独立窗口显示

在窗口内部运行 设置成独立窗口 Android Studio->Settings或Preferences->Tools->Emulator->取消勾选Launch in the Running Devices tool window --->点击右下角的OK按钮 ---> 重启Android Studio 再次启动模拟器

项目环境搭建

注册中心网关配置 spring:cloud:gateway:globalcors:add-to-simple-url-handler-mapping: truecorsConfigurations:[/**]:allowedHeaders: "*"allowedOrigins: "*"allowedMethods:- GET- POST- DELETE- PUT- OPTIONroutes:# 平台管理- id: useruri: lb://…

电脑有录屏功能吗?让我来揭开谜底!

“电脑有录屏功能吗&#xff1f;今天孩子上网课的时候&#xff0c;老师叫录屏一些重要的知识点&#xff0c;但是他不会操作&#xff0c;就跑来问我&#xff0c;我也不是很清楚电脑怎么录屏&#xff0c;就想问问大家知道吗&#xff1f;” 电脑在我们的日常生活和工作中扮演着重…