当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux下单网卡绑定多IP与多网卡共用单IP 的方法

Unix/Linux
Solaris系统性能问题
定时任务
SA299考前简要总结
2005.8.22 310-015考试在TK中出现的原题或类似的题
My sumarization after passing the exam of 310-015
博客序言
SM240 课程内容及学习目标
SA399课程介绍及学习目标
Solaris9的jumpstart服务器配置中文详解(转载自CU)
SA399第一章读书笔记
SA399第二章读书笔记
精灵王的提醒
步长法-解决判断循环链表
SA399第三章读书笔记
真令人惊讶
Solaris介绍(转载)
VxVM中的底层建卷
转: Solaris 10 安装及SVC管理及X及Vmware及其它可能遇到的一些问题
Solaris学习笔记(2)
小型机内存与pc机内存区别

Unix/Linux 中的 Linux下单网卡绑定多IP与多网卡共用单IP 的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 121 ::
收藏到网摘: n/a

 

在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法

  1、单网卡绑定多IP在Redhat系列中的实现方法

  假设需要绑定多IP的网卡是eth0,请在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,

  内容样例为:
 

                                      
 
                                      
DEVICE=”eth0:0″
            IPADDR=”192.168.0.2″
            BROADCAST=”172.168.0.255″
            NETMASK=”255.255.255.0″
            ONBOOT=”yes”

  其中的DEVICE为设备的名称,IPADDR为此设备的IP地址,BROADCAST是广播地址,NETMASK为子网掩码,ONBOOT 表示在系统启动时自动启动。

  如果需要再绑定多一个IP地址,只需要把文件名和文件内的DEVICE中的eth0:x加一即可。

  LINUX最多可以支持255个IP别名

  2、普遍适用的单网卡绑定多IP实现方法

  ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0

  可以把上述命令加在启动自运行文件里面,在Gentoo下是/etc/conf.d/local.start,而某些版本的Linux是/etc/rc.d/rc.local。

  3、多网卡共用单IP的实现方法

  使用多块网卡虚拟成为一块网卡,具有相同的IP地址。这项技术其实在sun和cisco中已经存在,分别称为Trunking和 etherchannel技术,在linux中,这种技术称为bonding。因为bonding在内核2.4.x中已经包含了,只需要在编译的时候把网络设备选项中的 Bonding driver support选中就可以了。

  然后,重新编译核心,重新起动计算机,执行如下命令:
                                      
 
                                      
ismod bonding
            ifconfig eth0 down
            ifconfig eth1 down
            ifconfig bond0 ipaddress
            ifenslave bond0 eth0
            ifenslave bond0 eth1


  现在两块网卡已经象一块一样工作了,这样可以提高集群节点间的数据传输。

  你最好把这几句写成一个脚本,再由/etc/rc.d/rc.local或者/etc/conf.d/local.start调用,以便一开机就生效。

  bonding对于服务器来是个比较好的选择,在没有千兆网卡时,用两三块100兆网卡作 bonding,可大大提高服务器到交换机之间的带宽。但是需要在交换机上设置连接bonding 网卡的两个口子映射为同一个虚拟接口。