#!/bin/bash
 
# 手动输入 Bond 接口名称
read -p "请输入 Bond 接口名称 (例如 bond0): " BOND_NAME
 
# 手动输入信息
read -p "请输入 Bond 模式 (例如 0, 1, 2 等): " BOND_MODE
read -p "请输入要绑定的网卡列表，以空格分隔 (例如 eth0 eth1): " input_slave_interfaces
IFS=' ' read -r -a SLAVE_INTERFACES <<< "$input_slave_interfaces"
read -p "请输入 Bond 的 IP 地址: " BOND_IP
read -p "请输入子网掩码: " BOND_NETMASK
read -p "请输入网关: " BOND_GATEWAY
read -p "请输入 DNS 服务器: " BOND_DNS
 
# 安装 bonding 模块
modprobe bonding
 
# 创建 Bond 配置文件
cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$BOND_NAME
DEVICE=$BOND_NAME
TYPE=Bond
BONDING_MASTER=yes
ONBOOT=yes
BOOTPROTO=none
IPADDR=$BOND_IP
NETMASK=$BOND_NETMASK
GATEWAY=$BOND_GATEWAY
DNS1=$BOND_DNS
BONDING_OPTS="mode=$BOND_MODE miimon=100"
EOF
 
# 配置从网卡
for interface in "${SLAVE_INTERFACES[@]}"
do
    cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$interface
DEVICE=$interface
TYPE=Ethernet
ONBOOT=yes
MASTER=$BOND_NAME
SLAVE=yes
EOF
done
 
# 重启网络服务
systemctl restart network    