首页 > 其他分享 >ppp拨号管理线路--自动检查默认脚本--优化版本1

ppp拨号管理线路--自动检查默认脚本--优化版本1

时间:2023-03-31 15:32:06浏览次数:44  
标签:iface -- ip 拨号 dev echo ppp mgmt fi


#!/bin/bash

PppCheck() {
    ppp_interfaces=$(ip r | grep -o "\<ppp[0-9]\+\>" | awk -F'ppp' '{print $2}' | sort -n |uniq | awk 'BEGIN{ORS=" "}{print "ppp"$NF}')
    for iface in $ppp_interfaces; do
        if ping -I $iface -W 5 -c 2  223.5.5.5 >/dev/null 2>&1; then
            dial_ip=$(ip route show dev $iface  | awk '{print $1}')
            echo "设置默认网关为 $dial_ip (通过 $iface)"

            # 检查是否存在默认路由
            if ip route | grep -q '^default'; then
                ip route replace default via $dial_ip dev $iface
            else
                ip route add default via $dial_ip dev $iface
            fi

            if ping -W 5 -c 2  223.5.5.5 >/dev/null 2>&1; then
                echo "网络正常,修改默认网关成功"
                return 0
            else
                echo "网络不通,修改默认网关失败"
            fi
        fi
    done
    echo "网络不通,修改默认网关失败"
    return 1
}


check_ping() {
    if ping -W 5 -c 2  223.5.5.5 >/dev/null 2>&1; then
        echo "网络正常,不修改默认网关"
        return 0
    else
        echo "网络不通,修改默认网关"
        return 1
    fi
}

if check_ping; then
    exit 0
fi

mgmt_iface="$(cat /root/iface.txt 2>/dev/null)"
if [ -n "$mgmt_iface" ]; then
    if ip link show "$mgmt_iface" | grep -q "state UP"; then
        mgmt_ip=$(ip route show dev "$mgmt_iface" | awk '/^default/{print $3}')
        if [ -n "$mgmt_ip" ]; then
            echo "设置默认网关为 $mgmt_ip (通过 $mgmt_iface)"
            # 检查是否存在默认路由
            if ip route | grep -q '^default'; then
                ip route replace default via "$mgmt_ip" dev "$mgmt_iface"
            else
                ip route add default via "$mgmt_ip" dev "$mgmt_iface"
            fi
        fi
        if check_ping; then
            exit 0
        fi
    else
        echo "$mgmt_iface 接口未开启"
    fi
else
    echo "/root/iface.txt文件为空"
fi

PppCheck

标签:iface,--,ip,拨号,dev,echo,ppp,mgmt,fi
From: https://blog.51cto.com/hequan/6161840

相关文章

  • 广州APP开发公司要清楚的维度,助你成功合作
     要想开发一个符合自身业务需求的APP,那么找一个好的广州APP开发公司进行合作是再好不过的选择。不过在找开发公司的时候,我们要清楚一些维度,下面名锐讯动为大家介绍广州APP开发公司要清楚的维度。 1.专业能力。能够成功开发APP的公司通常都具备很好的专业能力,如果公司专业能力......
  • 视频倒放怎么制作?视频倒放方法分享!​
    视频倒放是指将视频文件进行反向播放,即从结尾到开头进行播放。这种操作可以用于创意视频制作、审查视频细节、以及用于某些特殊效果的制作,需要注意的是,倒放视频可能会让观看者感到不适,因此在使用倒放视频时需要慎重考虑。另外,倒放视频也可能会导致视频画质下降或者音频失真,因此在使......
  • jmeter中测试websocket接口
    一、jmeter安装对应的插件1、Jmeter不自带WebSocket功能,需要先安装WebSocket的插件,选项中选择pluginsManager; 2、在availableplugins搜索WebSocket进行插件下载即可,我是将搜索到的2个插件都安装了,待Jmeter重启后插件就是安装成功。二、WebSocketSampler组件添加方式:1、......
  • ubuntu16.04升级python3.7.1教程
    ubuntu16.04升级python3.7.1教程准备sudoapt-getinstall--reinstallzlibczlib1gzlib1g-devsudoapt-getinstalllibffi-devlibssl-devlibreadline-dev-y安装使用python官方站点的以下命令下载Python。您也可以下载最新版本代替下面指定的版本#下载python3......
  • Tapdata Connector 实用指南:如何将 CRM 数据从 Salesforce 实时同步到 MongoDB 等其他
    【前言】作为中国的“Fivetran/Airbyte”,Tapdata是一个以低延迟数据移动为核心优势构建的现代数据平台,内置60+数据连接器,拥有稳定的实时采集和传输能力、秒级响应的数据实时计算能力、稳定易用的数据实时服务能力,以及低代码可视化操作等。典型用例包括数据库到数据库的复制......
  • 第8章 数据结构算法专题二
    线索二叉树与哈夫曼树线索二叉树线索二叉树的概念采用某种方法遍历二叉树的结果是一个结点的线性序列。修改空链域改为存放指向结点的前驱和后继结点的地址。这样的指向该线性序列中的”前驱“和”后继“的指针,称作线索(thread)。创建线索的过程称为线索化。线索化的二叉......
  • python win32gui 无法控制 最小化后的桌面
    当远程桌面被最小化时,发现使用win32gui控制某软件置于最前台显示时失效,并报错:File"C:\Users\Administrator\Desktop\py-auto-login\robot\ktt_auth_code.py",line156,inwx_loginwin32gui.SetForegroundWindow(self._main_wnd)pywintypes.error:(0,'SetForegroun......
  • assamble
    汇编语言到机器语言(二进制)操作码和操作数   ......
  • 12 SQL语句的补充----复制表数据
    复制数据表1、复制数据1.1创建一个字段和源表不同的虚拟表 createtemporarytablet_yy( idint(16), namevarchar(25), sexvarchar(25) );源表与目标字段不一致,复制数据需要指定字段insertintot_yy(id,name,sex)selectid,sname,sexfromt_student;1.2创建一......
  • 马科维兹资产组合选择模型
    组合构造问题可以归纳为多个风险资产和一个无风险资产的情况。在两风险资产的例子中,该问题可分为三步:首先,确定可行集的风险收益权衡;然后,通过计算使资本配置线斜率最大的个资产权重权重确定最优风险组合;最后确认最合适的投资组合,由无风险资产和最优风险组合构成。投资者面临的......