热门标签 | 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



推荐阅读
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 本文介绍了一个使用mii-tool工具检查网络接口状态的Bash脚本,并将结果记录到日志文件中。 ... [详细]
  • 尽管Medium是一个优秀的发布平台,但在其之外拥有自己的博客仍然非常重要。这不仅提供了另一个与读者互动的渠道,还能确保您的内容安全。本文将介绍如何使用Bash脚本将Medium文章迁移到个人博客。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文详细介绍了如何在 Grafana 中独立于 Alertmanager 配置邮件和微信告警。具体步骤包括配置 SMTP 服务器以实现邮件告警,以及设置微信告警的集成方式。通过这些配置,用户可以更灵活地管理和接收来自 Grafana 的告警通知,确保及时响应系统异常。文章还提供了详细的配置示例和常见问题的解决方案,帮助用户顺利完成设置。 ... [详细]
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社区 版权所有