Chinaunix首页 | 论坛 | 博客
  • 博客访问: 140529
  • 博文数量: 27
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 255
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 20:14
文章分类

全部博文(27)

文章存档

2012年(2)

2011年(3)

2010年(2)

2008年(20)

我的朋友

分类: LINUX

2008-04-20 11:04:42

Linux上很容易可以将多块网卡绑定,实现负载均衡和双线热备的功能。

负载均衡即将负载平均的分配到任意多块网卡上面,实现带宽的叠加

双线热备即多块网卡互为备份,任何一块能够工作即可保证网络正常运行。

各个绑定类型的分别

mode=0 Round-robin: sequential(轮询负载均衡,最常用)

mode=1 Active-backup: only one

mode=2 XOR: same MAC same nic

mode=3 Broadcast: all

各大发行版略有不同,基本上分成3种,

Debian和,



Mandriva、和RH

-----------------------------------------------------------------------

Debian和上的多网卡绑定

实验环境 6.06 Dadder,内核版本2.6.15-23 server

首先安装ifenslave

#apt-get install ifenslave-2.6

编辑/etc/network/interfaces

auto lo bond0 eth0 eth1

iface bond0 inet static

address 10.31.1.5

netmask 255.255.255.0

network 10.31.1.0

gateway 10.31.1.254

up /sbin/ifenslave bond0 eth0

up /sbin/ifenslave bond0 eth1

iface lo loopback

iface eth0 inet static

address 10.1.1.101

netmask 255.255.255.0

iface eth1 inet static

address 10.1.1.102

netmask 255.255.255.0

再编辑 /etc/modprobe.d/arch/i386

加上两行:

alias bond0 bonding

options bonding mode=0 miimon=100

最后重启网络即可

/etc/init.d/networking restart

-----------------------------------------------------------------------

,Mandriva、和RH

1、编辑 /etc/modules.conf 文件(的系统是/etc/modprobe.d/modprobe.cong.local),加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0

  alias bond0 bonding

2、编辑虚拟网络接口配置文件,指定网卡IP

vi /etc/sysconfig/network-scripts/ifcfg-bond0

(的系统是/etc/sysconfig/network/ifcfg-bond0)

的写法

DEVICE=bond0

IPADDR=192.168.1.1

NETMASK=255.255.255.0

NETWORK=192.168.1.0

BROADCAST=192.168.1.255

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

的写法

BOOTPROTO='static'

BROADCAST='192.168.1.255'

ETHTOOL_OPTIONS=''

IPADDR='192.168.1.1'

MTU=''

NETMASK='255.255.255.0'

NETWORK='192.168.1.0'

STARTMODE='auto'

USERCONTROL='no'

3、编辑物理网络接口配置文件,并指向虚拟网络接口bond0



物理网络接口配置文件位于/etc/sysconfig/network-scripts,

ifcfg-eth0对应第一个网卡,ifcfg-eth1对应第二个千兆网卡。

ifcfg-eth0 :

DEVICE=eth0

IPADDR=11.0.0.1

NETMASK=255.255.255.0

USERCTL=no

ONBOOT=yes

BOOTPROTO=none

ifcfg-eth1 :

DEVICE=eth1

IPADDR=11.0.0.2

NETMASK=255.255.255.0

USERCTL=no

ONBOOT=yes

BOOTPROTO=none

:

物理网络接口配置文件位于/etc/sysconfig/network/,

以ifcfg-eth-(mac)为名字

BOOTPROTO='static'

IPADDR='10.0.0.1'

NETMASK='255.255.255.0'

STARTMODE='auto'

USERCONTROL='no'

最后编辑/etc/rc.local(是/etc/rc.d/rc)或是直接运行

ifenslave bond0 eth0 eth1 eth2(绑几个网卡就写几个网卡的名字)

无论eth0 eth1 eth2的IP怎样设置,绑定之后全都以bind0的设置为准。此时所有网卡的mac地址都是一样的。
 
***********************************************************************************
以上是原文的内容, 我在系统 ubuntu 7.10 server上试了一下双网卡绑定一个IP是可以的,使用任一网卡或同时使用两个网卡,是可以联通网络的. 一根网线不插,哈哈,肯定上不了网.
配置完的 interfaces 文件如下:
 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto bond0 eth0 eth1
iface bond0 inet static
address 192.168.0.136
netmask 255.255.255.0
gateway 192.168.0.1

up /sbin/ifenslave bond0 eth0
up /sbin/ifenslave bond0 eth2
 
iface eth0 inet static
address 192.168.100.101
netmask 255.255.255.0
 
iface eth1 inet static
address 192.168.100.102
netmask 255.255.255.0
 
(本文完)
 
 
阅读(2626) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~