1. apt-get update && apt-get install ifenslave
2. vim /etc/modprob.d/aliases (在最後一行加入)
alias bond0 bonding
alias eth0 e100
alias eth1 e100
alias eth2 e100
options bonding mode=0 miimon=100
3. vim /etc/modprob.d/arch/i386 (在最後一行加入)
alias bond0 bonding
options bonding mode=0 miimon=100 downdelay=200 updelay=200
4.vim /etc/network/interfaces (整個取代)
auto lo
iface lo inet loopback
auto bond0
iface bond0 inet static
address 192.168.0.120
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
post-up ifenslave bond0 eth0 eth1
5. modprobe bounding 或是重開機即可
ps1: 參考網址 http://www.howtoforge.com/network_bonding_ubuntu_6.10
ps2: redhat系統的binding 設定請參考
"Linux bond or team multiple network interfaces (NIC) into single
interface"
http://www.cyberciti.biz/tips/linux-bond-or-team-multiple-network-interfaces-nic-into-single-interface.html
ps3: debian 系統的binding 請參考
"NIC Bonding/Teaming - Debian Sarge"
http://www.howtoforge.com/nic_bonding
ps2: 第3步驟的 "options bonding mode=0 ...." 的mode 模式細節描述如下
mode=0
This mode uses the Round-robin policy: Transmit packets in
sequential order from the first available slave through the last. This
mode provides load balancing and fault tolerance.
mode=1
This mode uses an Active-backup policy: Only one slave in the bond
is active. A different slave becomes active if, and only if, the
active slave fails. The bond's MAC address is externally visible on
only one port (network adapter) to avoid confusing the switch. This
mode provides fault tolerance. The primary option affects the behavior
of this mode.
mode=2
Transmit based on [(source MAC address XOR'd with destination MAC
address) modulo slave count]. This selects the same slave for each
destination MAC address. This mode provides load balancing and fault
tolerance.
mode=3
Broadcast policy: transmits everything on all slave interfaces.
This mode provides fault tolerance.
mode=4
IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups
that share the same speed and duplex settings. Utilizes all slaves in
the active aggregator according to the 802.3ad specification.
*Pre-requisites:
1. Ethtool support in the base drivers for retrieving the
speed and duplex of each slave.
2. A switch that supports IEEE 802.3ad Dynamic link
aggregation. Most switches will require some type of configuration
to enable 802.3ad mode
mode=5
Adaptive transmit load balancing: channel bonding that does not
require any special switch support. The outgoing traffic is
distributed according to the current load (computed relative to the
speed) on each slave. Incoming traffic is received by the current
slave. If the receiving slave fails, another slave takes over the MAC
address of the failed receiving slave.
*Prerequisite: Ethtool support in the base drivers for
retrieving the speed of each slave.
mode=6
Adaptive load balancing: includes balance-transmit load balancing
plus receive load balancing for IPV4 traffic, and does not require any
special switch support. The receive load balancing is achieved by ARP
negotiation. The bonding driver intercepts the ARP Replies sent by the
local system on their way out and overwrites the source hardware
address with the unique hardware address of one of the slaves in the
bond such that different peers use different hardware addresses for
the server.