#!/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. mycat实例(3)

    配置MyCat 4. 配置schema.xml schema.xml里面管理着MyCat的逻辑库.表,每张表使用的分片规则.分布在哪个DataNode以及DataSource上. 之前的例子: < ...

  2. Win7 公布网站 HTTP 错误 404.4 - Not Found

     NET IIS7.5 创建网站时,假设发现下面错误,而且 默认网站訪问没有问题的话, 能够尝试,进入 处理程序映射 右键恢复为父级,有可能会有意想不到的 惊喜. 我的问题就是这样解决的. 出现这 ...

  3. java 中Date的格式化样式

    public static void main(String[] args) { Date d = new Date(); System.out.println(d); // Date类的默认格式 T ...

  4. Java中遍历Map对象的方法

    方法一: 在for-each循环中使用entries来遍历 这是最常见的遍历方式,在需要获取key和value时使用. Map<Integer, Integer> map = new Ha ...

  5. [跟我学Spring学习笔记][DI配置与使用]

    DI 依赖和依赖注入 定义 传统的依赖一般指"类之间的关系",那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系.接口与接口之间的继承关系: 实现:表示类对接口的实现 ...

  6. cookie那些事

    本文面向对cookie有基本了解的读者,小白出门左转   设置cookie (HTTP 响应头) Set-Cookie: {name}={value};path={path};domain={doma ...

  7. js静态方法

    1.ajax() 方法是属于“函数”本身的,和返回的对象没有关系 2.bark药调用,必须药new Hashiqi()得到对象,且由返回对象才能调用 3.ajax()方法药调用,不需要new对象,直接 ...

  8. leetcode_最长公共前缀

    题目:Write a function to find the longest common prefix string amongst an array of strings. 题解:给出的函数为: ...

  9. C++ 查找文件夹下的文件

    #include <string> #include <vector> #include <cstring> #include <cstdio> #in ...

  10. (原)使用vectot的.end()报错:iterators incompatible

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5070672.html 参考网址: http://blog.csdn.net/yxnyxnyxnyxny ...