#!/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. 集合操作出现的ConcurrentModificationException(源码分析)

    摘要: 为了保证线程安全,在迭代器迭代的过程中,线程是不能对集合本身进行操作(修改,删除,增加)的,否则会抛出ConcurrentModificationException的异常. 示例: publi ...

  2. 关于使用STL常见的两个bug

    1.bug 1 class CTest { public : vector<int> getVector() const //需要写成引用形式,不然下面begin.end调用会以拷贝形式调 ...

  3. apache访问控制设置

    apache访问控制设置 (2009-03-17 11:24:36) 转载▼ 标签: it 杂谈   Order allow,deny    默认情况下禁止所有客户机访问 Order deny,all ...

  4. Ubuntu12.04 Git 服务器详细配置

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,学过Linux的都知道,Git的优点我就不再多说了,我也是很喜欢Linux的.今天我们一起学习Git服务器在Ubunt ...

  5. Unity 读取CSV与Excel

    前几天看到我们在游戏中需要动态加载某些角色的游戏策划值,关于这个问题怎么解决呢?其实办法很多种,归根到底,就是数据的读取.我们可以想到的存储数据的载体有很多.例如:txt,xml,csv,excel. ...

  6. 一般处理程序、ASP.NET核心知识(5)--转载

    初窥 1.新建一个一般处理程序 新建一个一般处理程序 2.看看里头的代码 public class MyHandler : IHttpHandler { public void ProcessRequ ...

  7. 在[self addsubView:xxx]中,self.name 和 _name的区别

    在[self addsubView:xxx]中,self.name 和 _name的区别self.name 会调用重写的getter方法,而_name添加的只是_name 这个成员变量

  8. 上拉、下拉UITableView,交互式 模态弹出(自定义弹出动画)

    部分代码 InteractiveTransition 类继承NSObject: - (instancetype)initWithPresentingController:(UITableViewCon ...

  9. POJ 2135 Farm Tour (最小费用最大流模板)

    题目大意: 给你一个n个农场,有m条道路,起点是1号农场,终点是n号农场,现在要求从1走到n,再从n走到1,要求不走重复路径,求最短路径长度. 算法讨论: 最小费用最大流.我们可以这样建模:既然要求不 ...

  10. The Letter Carrier's Rounds(摘)

    Description For an electronic mail application you are to describe the SMTP-based communication that ...