将两个或多个网卡绑定有两个好处:
1、提供负载均衡,并提高主机网络吞吐量
2、多个网卡冗余,解决了网卡的单点故障
通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。Kernels 2.4.12及以后的版本均提供bonding模块
(系统内核支持开通设置: 'make menuconfig/xconfig/config',在"Network device support"区段中选择"Bonding driver support",建议设置该驱动程序为模块,这样才能支持给驱动传递参数和设置多个bonding设备。)
#vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.255
NETMASK=255.255.255.0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.255
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=no
ONBOOT=yes
USERCTL=no
ONBOOT=yes
TYPE=Ethernet
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
SLAVE=yes
DEVICE=eth0
MASTER=bond0
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
DEVICE=eth0
MASTER=bond0
USERCTL=no
ONBOOT=yes
#cat /etc/sysconfig/network-scripts/ifcfg-eth1
BOOTPROTO=none
SLAVE=yes
DEVICE=eth1
MASTER=bond0
USERCTL=no
ONBOOT=yes
#vi /etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=100 mode=0
options bond0 miimon=100 mode=0
说明:
mode指定了bond0的工作模式,常用的是0和1,0表示负载均衡方式,1表示主从方式,可根据需要自行设置。其它的工作模式请参考网上的其它文章。
修改/etc/rc.d/rc.local,加入(可有更多块slave的网卡)
ifenslave bond0 eth0 eth1
Fedora 12下解决办法:已经不存在/etc/modprobe.conf,上面会出错,经测试解决办法
在上面网卡设置做了以后,系统会自动生成两个新网卡出来,一定要去除自动连接,不能让这个网卡生效
修改/etc/rc.d/rc.local
modprobe bonding mode=0 miimon=100
modprobe e1000
ifconfig bond0 192.168.1.3 netmask 255.255.255.0 up
ifenslave bond0 eth0
ifenslave bond0 eth1
route add default gw 192.168.1.1