#!/bin/bash
#-------------------------------------------------------------------------------
# Name: netbond
# Filename : netbond.sh
# Local: # What: 用于双网卡绑定
# HowTo : sh ./netbond.sh ethN ethN bondN ipaddr netmask gateway # Version : 1.1 2013.9.6 对输入进行判断,因为已经发生过一次输入错误导致配置失败
# 1.0 2013.9.3
# Release : 2013-9-3
# Author : Gtlions
# Copyright : Copyright (c) Gtlions 2013 <gtlions.l@gmail.com>
# Licence : <Gtlions's licence>
#-------------------------------------------------------------------------------
echo "You are logged in as `whoami`";
if [ `whoami` != root ]; then
echo "Must be logged as root run script."
exit 1
fi if [ x$5 = x ]; then
echo "Input Error!"
echo "Usage: sh ./netbond.sh ethN ethN bondN ipaddr netmask gateway"
exit 1
fi
SCRIPTFILE=$0
ETHN1=$1
ETHN2=$2
BONDN=$3
IPADDR=$4
NETMASK=$5
GATEWAY=$6
ETHN1FILE=/etc/sysconfig/network-scripts/ifcfg-$ETHN1
ETHN2FILE=/etc/sysconfig/network-scripts/ifcfg-$ETHN2
BONDFILE=/etc/sysconfig/network-scripts/ifcfg-$BONDN
ETHN1BAK=ifcfg-$ETHN1.bak
ETHN2BAK=ifcfg-$ETHN2.bak if [ `echo $ETHN1 |grep 'eth'|wc -l` -eq 0 ]; then
echo "Input Error: ethN1"
fi if [ `echo $ETHN2 |grep 'eth'|wc -l` -eq 0 ]; then
echo "Input Error: ethN2"
fi if [ `echo $BONDN |grep 'bond'|wc -l` -eq 0 ]; then
echo "Input Error: bondN"
fi #if [ `echo $IPADDR |awk -F'.' '{print NF-1}'` -eq 3 ]; then
# :
#else
# echo "Input Error: ipaddr"
#fi if [ `echo $IPADDR|grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$'|wc -l` -eq 0 ] ; then
echo "Input Error: ipaddr"
fi
if [ `echo $NETMASK|grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$'|wc -l` -eq 0 ] ; then
echo "Input Error: netmask"
fi
if [ `echo $GATEWAY|grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$'|wc -l` -eq 0 ] ; then
echo "Input Error: gateway"
fi if [ ! -f $ETHN1FILE ]; then
echo "Error!Not exist $ETHN1FILE"
exit 1
fi
if [ ! -f $ETHN2FILE ]; then
echo "Error!Not exist $ETHN2FILE"
exit 1
fi
if [ -f $BONDFILE ]; then
echo "Error!Exist $BONDFILE"
exit 1
fi echo "Set Info: $ETHN1 AND $ETHN2 will bond to $BONDN : $IPADDR,$NETMASK,$GATEWAY"
echo "Go On?[Y/N]"
read GOON
GOON1=`echo $GOON |tr 'a-z' 'A-Z'|cut -c1`
if [ $GOON1 = "Y" ]; then cp $ETHN1FILE ETHN1BAK
cp $ETHN2FILE ETHN2BAK
if [ -f ETHN1BAK ] && [ -f ETHN2BAK ] ; then
echo -e "DEVICE=$BONDN\nONBOOT=yes\nTYPE=Ethernet\nUSERCTL=yes\nBOOTPROTO=static\nIPADDR=$IPADDR\nNETMASK=$NETMASK\nGATEWAY=$GATEWAY">$BONDFILE
chmod 644 $BONDFILE
echo -e "DEVICE=$ETHN1\nONBOOT=yes\nBOOTPROTO=none\nTYPE=Ethernet\nUSERCTL=yes\nMASTER=$BONDN\nSLAVE=yes">$ETHN1FILE
echo -e "DEVICE=$ETHN2\nONBOOT=yes\nBOOTPROTO=none\nTYPE=Ethernet\nUSERCTL=yes\nMASTER=$BONDN\nSLAVE=yes">$ETHN2FILE cat /etc/modprobe.conf |grep "$BONDN">null
RESULT=$? if [ $RESULT -eq 1 ] ; then
echo -e "alias $BONDN bonding\noptions $BONDN miimon=100 mode=1">>/etc/modprobe.conf
fi cat /etc/rc.d/rc.local|grep "$BONDN">null
RESULT=$? if [ $RESULT -eq 1 ] ; then
echo -e "ifenslave $BONDN $ETHN1 $ETHN2">>/etc/rc.d/rc.local
fi echo "Done!Pls reboot system!"
fi
else
echo "Cancel!"
fi

更新-----Scripts:执行双网卡绑定的更多相关文章

  1. Linux下双网卡绑定(bonding技术)

    Linux网卡绑定探析   2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的 ...

  2. 做双网卡绑定_______物理机在双网卡的情况下做多IP绑定

    公司的环境是这样的: 一台物理机需要做双网卡绑定,同时呢,在双网卡绑定的同时还要做多IP. 其实整个过程可以分为两个步骤: 第一个,物理机先做双网卡. 第二个,在bond上做多IP实例. 双网卡绑定的 ...

  3. Centos 7.6 双网卡绑定实现高可用

    Centos 7.6 双网卡绑定实现高可用 作者:尹正杰 版权声明:原创作品, 谢绝转载!否则将追究法律责任. 一.Bond模式概述 当linux系统上有多个单独网卡,又想充分利用这些网卡,同时对外提 ...

  4. Linux双网卡绑定bond详解--单网卡绑定多个IP

    Linux双网卡绑定bond详解 1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及 ...

  5. (转)深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会 使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在 网卡产商也会出一些针对window ...

  6. Linux双网卡绑定和解除绑定的实现

      双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.根据交换机可支持的功能不 ...

  7. 深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操 ...

  8. Oracle 11gR2 RAC 单网卡 转 双网卡绑定 配置步骤

    之前写过一篇双网卡绑定的文章,如下: Oracle RAC 与 网卡绑定 http://blog.csdn.net/tianlesoftware/article/details/6189639 Ora ...

  9. Linux双网卡绑定和解除

    转载双网卡绑定和解除  一定要在服务管理中关闭NetworkManager服务并禁用自动启动,因为NetworkManager服务是实时生效的,一旦设置错,管理员就得回到机房接显示器配置网络连接. 以 ...

随机推荐

  1. BOOST 线程完全攻略 - 扩展 - 事务线程

    扩展threadtimermoduleexceptionsocket 什么叫事务线程 举个例子: 我们写一个IM客户端的登录子线程,则该子线程会有这么几个事务要处理 No.1 TCP Socket物理 ...

  2. JavaScript获取css 行间样式,内连样式和外链样式的方式

    [行间样式获取] <div id='div1' style="backgroud:red">测试</div> <script> var odiv ...

  3. linux相关小工具的使用(一)————代码相关工具

    在linux环境下,对于程序员来说,知道使用一些好用的小工具,对源代码的阅读.编译和调试都有着事半功倍的效果,这里我也是边学边写的原则,把自己知道的一丁点小知识分享给大家. 一.  源代码的阅读 首先 ...

  4. UVA 11754 Code Feat (枚举,中国剩余定理)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud C Code Feat   The government hackers at C ...

  5. HDU-简单计算器-1237

    这道题我做了一天,把中缀表达式转化为后缀表达式,但遇到了储存的问题,考虑了好久,写出后又调试,弄了一天,下面说一下中缀表达式转换后缀表达式: 算法: 中缀表达式转后缀表达式的方法: 1.遇到操作数:直 ...

  6. PHP __autoload函数知识点

    __autoload函数主要是用来包含不存在的类文件,当初始化的类不存在的时候 存在一个文件名为footer.php的文件,里面有个footer类 class footer{ public funct ...

  7. yii2 访问控制

    class SiteController extends Controller{ /** * @inheritdoc */ public function behaviors() { return [ ...

  8. 不到30行JS代码实现的Excel表格

    不到30行JS代码实现的Excel表格,jQuery并非不可替代 某国外程序员展示了一个由原生JS写成不依赖第三方库的,Excel表格应用,有以下特性: 由不足30行的原生JavaScript代码实现 ...

  9. [ZooKeeper研究]二 ZooKeeper协议介绍

    前面介绍了ZooKeeper的基本知识,这一节我们介绍一下ZooKeeper使用的协议.只有了解了ZooKeeper的协议,才能更好得理解ZooKeeper源代码的实现.ZooKeeper使用的是Za ...

  10. CSS布局部分知识总结

    一 切图 通过一个周的切图练习,我发现只有亲自动手后才能通过问题不断加深技术,要熟练掌握HTML页面编写时候时PHOTOSHOP操作. 以下一些知识点在网络布局时也是很重要的. 1.ul标签在谷歌.火 ...