```
#!/bin/bash
#设置多网卡bond,实现网卡的高可用,提升网卡带宽
#此脚本需要传入两个参数 $1为bond模式 $2为boundIP地址
#判断传入的参数是否为2个
if [ $# = 2 ] ; then
#定义主机上网卡的名称变量
NAME1=ens32
NAME2=ens36
#定义要写入网卡配置文件的网络参数
IPADDR=$2
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS=223.5.5.5
else
echo "脚本使用错误!!!!
格式为:$PWD/$0 [ 0-6 ] ipaddr
例如:
$PWD/$0 网卡模式 192.168.1.100"
exit 1;
fi
#生成bond配置文件
echo "alias bond0 bonding
options bonding mode=$1 miimon=100 " > /etc/modprobe.d/bonding.conf
#判断第一个网卡是否存在,如果存在就生成第一个网卡的配置文件
if [ ! -z $NAME1 ] ;then
echo "DEVICE=$NAME1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes" > /etc/sysconfig/network-scripts/ifcfg-$NAME1
fi
#判断第二个网卡是否存在,如果存在就生成第二个网卡的配置文件
if [ ! -z $NAME2 ] ;then
echo "DEVICE=$NAME2
BOOTPROTO=none
MASTER=bond0
SLAVE=yes" > /etc/sysconfig/network-scripts/ifcfg-$NAME2
fi
#生成bond配置文件
echo "DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$GATEWAY
DNS1=$DNS " >/etc/sysconfig/network-scripts/ifcfg-bond0
#重启网络服务
systemctl disable NetworkManager
systemctl stop NetworkManager
modprobe -r bonding
modprobe bonding
service network restart
#打印网络信息
echo "IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$GATEWAY
DNS1=$DNS "
```