日期:2014-05-16  浏览次数:20740 次

Linux下单网卡绑定多IP与多网卡共用单IP

在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选中就可以了。
 
  然后,重新编译核心,重新起动计算机,执行如下命令: