Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同
的IP地址而并行链接聚合成一个逻辑链路工作。其实这项
技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称
为bonding。bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding
的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC
Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接
收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的
Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。
实验的操作系统是Redflag Linux DC5.0_SP1
绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。
1.先修改eth0 和eht1这2个网卡配置文件.目录在(/etc/sysconfig/network-scripts/)如下:
DEVICE=eth0;ONBOOT=yes ;MASTER=bond0; BOOTPROTO=none (这个最好不要为DHCP 一点启动慢,二点你网吧有DHCP了)
2. eth1 也是同样的修改.如下:
DEVICE=eth1 ;ONBOOT=yes ;MASTER=bond0 ;BOOTPROTO=none (这个最好不要为DHCP 一点启动慢,二点你网吧有DHCP了.)
3.新建一个虚拟网卡bond0,可以复制eth0的,复制后要修改内容。复制 (cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0)修改内容为如下:
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.223
NETMASK=255.255.255.0
BROADCAST=192.168.0.255
TYPE=Ethernet
4.修改/etc/modprobe.conf,添加内容如下:
alias bond0 bonding
options bond0 miimon=100 mode=1
注意:mode可以为0, 1, 0为负载均衡,1为失效保护, 我们只用到0关于:modprobe.conf文件在AS版本里面有,linux9.0的是这个modules.conf文件
5:修改/etc/rc.d/rc.local,添加内容如下:
ifenslave bond0 eth0 eth1
route add -net 192.168.0.255 netmask 255.255.255.0 bond0
OK 完成.
查看:
[root@LMsev ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:ea:73:0f
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:ea:73:19
阅读(816) | 评论(0) | 转发(0) |