热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux路由添加脚本,openSUSE多线路路由添加脚本

#!binbash#authoritnihao#bolghttp:itnihao.blog.51cto.comgreen\e[0;32mred\e[0;31mblue\e[0;36

#!/bin/bash

#author itnihao

#bolg  http://itnihao.blog.51cto.com

green='\e[0;32m'

red='\e[0;31m'

blue='\e[0;36m'

blue1='\e[5;31m'

NC='\e[0m'

mkdir route

cd route

echo -e "${green}正在从互联网上下载最新路由表信息${blue1}..........."

wget http://www.tcp5.com/routingtable/telecom.rsc >/dev/null 2>&1

wget http://www.tcp5.com/routingtable/unicom.rsc >/dev/null 2>&1

wget http://www.tcp5.com/routingtable/mobile.rsc >/dev/null 2>&1

wget http://www.tcp5.com/routingtable/cernet.rsc >/dev/null 2>&1

wget http://www.tcp5.com/routingtable/other.rsc >/dev/null 2>&1

awk -F "=" '{print $5}' telecom.rsc |sed -e "s/ table//g" -e "/^$/d" >telecom.ip

awk -F "=" '{print $5}' unicom.rsc |sed -e "s/ table//g" -e "/^$/d" >unicom.ip

awk -F "=" '{print $5}' mobile.rsc |sed -e "s/ table//g" -e "/^$/d" >mobile.ip

awk -F "=" '{print $5}' cernet.rsc|sed -e "s/ table//g" -e "/^$/d" >cernet.ip

awk -F "=" '{print $5}' other.rsc|sed -e "s/ table//g" -e "/^$/d" >other.ip

echo -e "${blue}1):备份默认路由表:"

echo -e "${blue}2):恢复默认路由表:"

echo -e "${blue}3):设置电信路由表:"

echo -e "${blue}4):设置联通路由表:"

echo -e "${blue}5):设置移动网路由表:"

echo -e "${blue}6):设置教育网路由表:"

echo -e "${blue}7):设置其他网络路由表:"

echo -e "${blue}8):退出设置:"

echo -e "${NC}请选择:"

read NUM

if [ "${NUM}" -lt "1" -o "${NUM}" -gt "8"  ]

then

echo "你的选择不在1-8范围内:请重新运行"

elif

[ "${NUM}" == "1" ]

then

cp /etc/sysconfig/network/routes /etc/sysconfig/network/routes.default

[ "$?" == "0" ] && echo -e "${green} 备份默认路由/etc/sysconfig/network/routes为/etc/sysconfig/network/routes.default${NC}"

[ "$?" != "0" ] && echo -e "${red}  备份默认路由出现错误,请检查/etc/sysconfig/network/routes文件是否存在${NC}"

elif

[ "${NUM}" == "2" ]

then

[ -f /etc/sysconfig/network/routes.default ]

if  [ "$?" == "0" ];then

cp /etc/sysconfig/network/routes /etc/sysconfig/network/routes.default1

mv /etc/sysconfig/network/routes.default /etc/sysconfig/network/routes

echo -e "默认路由恢复完毕,请检查/etc/sysconfig/network/routes文件后重启网卡服务"

else

echo -e "文件/etc/sysconfig/network/routes.default不存在"

exit

fi

elif

[ "${NUM}" == "3" ]

then

echo "input telecom gateway-输入电信线路网关:"

read telecomgateway

echo "你的电信线路网关是${telecomgateway},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "输入电信线路网卡接口,如\"eth2\":"

read interface

echo "你的电信网卡接口是${interface},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "#电信路由开启"  >>/etc/sysconfig/network/routes

cat telecom.ip|sed "s/$/ $telecomgateway $interface/g" >>/etc/sysconfig/network/routes

echo "#电信路由结束"  >>/etc/sysconfig/network/routes

echo "电信线路路由添加完毕"

elif

[ "${NUM}" == "4" ]

then

echo "输入联通线路网关:"

read unicomgateway

echo "你的联通线路网关是${unicomgateway},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "输入联通线路网卡接口,如\"eth2\":"

read interface

echo "你的联通网卡接口是${interface},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "#联通路由开启"  >>/etc/sysconfig/network/routes

cat uniccom.ip|sed "s/$/ $unicomgateway $interface/g" >>/etc/sysconfig/network/routes

echo "#联通路由结束"  >>/etc/sysconfig/network/routes

echo "联通线路路由添加完毕"

mobile

elif

[ "${NUM}" == "5" ]

then

echo "输入移动线路网关:"

read mobilegateway

echo "你的移动线路网关是${mobilegateway},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "输入移动线路网卡接口,如\"eth2\":"

read interface

echo "你的移动网卡接口是${interface},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "#移动路由开启"  >>/etc/sysconfig/network/routes

cat mobile.ip|sed "s/$/ $mobilegateway $interface/g" >>/etc/sysconfig/network/routes

echo "#移动路由结束"  >>/etc/sysconfig/network/routes

echo "移动线路路由添加完毕"

elif

[ "${NUM}" == "6" ]

then

echo "输入教育网线路网关:"

read cernetgateway

echo "你的教育网线路网关是${cernetgateway},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "输入教育网线路网卡接口,如\"eth2\":"

read interface

echo "你的教育网网卡接口是${interface},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "#教育网路由开启"  >>/etc/sysconfig/network/routes

cat cernet.ip|sed "s/$/ $cernetgateway $interface/g" >>/etc/sysconfig/network/routes

echo "#教育网路由结束"  >>/etc/sysconfig/network/routes

echo "教育网线路路由添加完毕"

elif

[ "${NUM}" == "7" ]

then

echo "输输入其它网络线路网关:"

read othergateway

echo "你的其它网络线路网关是${othergateway},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "输入其它网络线路网卡接口,如\"eth2\":"

read interface

echo "你的其它网络网卡接口是${interface},任意键退出运行,确认按y继续"

read true

[ ${true} != "y" ]  && exit

echo "#其它网络路由开启"  >>/etc/sysconfig/network/routes

cat other.ip|sed "s/$/ $othergateway $interface/g" >>/etc/sysconfig/network/routes

echo "#其它网络路由结束"  >>/etc/sysconfig/network/routes

echo "其它网络线路路由添加完毕"

elif

[ "${NUM}" == "8" ]

then

exit

fi



推荐阅读
  • Zabbix配置磁盘性能监控
    本文介绍了如何通过Zabbix监控系统中的磁盘性能,包括读写操作次数、活跃I/O时间等关键指标的设置与测试。 ... [详细]
  • 开发笔记:Bash:从一个引用字符串块中的每个带引号的字符串中创建一个变量 ... [详细]
  • grep、sed、awk一、grep的用法1、grep简介grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep包 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 本文介绍如何在Spring Boot项目中集成Redis,并通过具体案例展示其配置和使用方法。包括添加依赖、配置连接信息、自定义序列化方式以及实现仓储接口。 ... [详细]
  • 本文介绍了如何利用Python进行批量图片尺寸调整,包括放大和等比例缩放。文中提供了详细的代码示例,并解释了每个步骤的具体实现方法。 ... [详细]
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • Shell脚本中的条件判断与实践案例
    本文提供了几个实用的Shell脚本案例,包括监控磁盘空间、检测Web服务状态以及使用Curl进行服务可用性测试。每个案例都详细介绍了脚本的编写方法和运行效果。 ... [详细]
  • ###########性能监控脚本###########################!binbash#监控cpu系统负载IPifconfigeth0|grepinetaddr ... [详细]
  • Linux中使用Shell脚本获取网络配置信息
    本文提供了一组Shell命令,用于在Linux系统中提取IP地址、子网掩码、MAC地址及默认网关等关键网络配置信息。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
author-avatar
萱璇妍幽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有