一块网卡绑定多个IP地址(内含Redhat和Ubuntu)

Redhat版本

在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 网卡的两个口子映射为同一个虚拟接口。

 Ubuntu版本

常常我们有需要一个网卡象windows一样设置多个IP。

下面我们看看在ubuntu下怎么样做.

我们先打开网络接口的文件

sudo gedit /etc/network/interfaces

照上边eth0添加eth0:0

auto eth0
iface eth0 inet static
name Ethernet Lan card
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

auto eth0:0
iface eth0:0 inet static
name Ethernet

address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

重启服务

sudo /etc/init.d/networking restart

By Lu Jun

80后男,就职于软件行业。习于F*** GFW。人生48%时间陪同电子设备和互联网,美剧迷,高清视频狂热者,游戏菜鸟,长期谷粉,临时果粉,略知摄影。

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.