同样的下载资源系列
在
Linux
下有时候需要给一个网卡绑定多个
IP
,本文介绍在
Redhat
系列
(redhat,Fedora Core,Centos)
中的实现方法和一种在
Gentoo
等其他
Linux
中普遍适用的方法。
1 、单网卡绑定多 IP 在 Redhat 系列中的实现方法
假设需要绑定多 IP 的网卡是 eth0 , ls 请在 /etc/sysconfig/network-scripts 目录里面创建一个名为 ifcfg-eth0:0 的文件,
内容样例为 :<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1 、单网卡绑定多 IP 在 Redhat 系列中的实现方法
假设需要绑定多 IP 的网卡是 eth0 , ls 请在 /etc/sysconfig/network-scripts 目录里面创建一个名为 ifcfg-eth0:0 的文件,
内容样例为 :<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
|
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 下是
可以把上述命令加在启动自运行文件里面,在 Gentoo 下是
#
vi
/etc/conf.d/local.start
,而某些版本的
Linux
是
#
vi
/etc/rc.d/rc.local
。
3 、多网卡共用单 IP 的实现方法
使用多块网卡虚拟成为一块网卡,具有相同的 IP 地址。这项技术其实在 sun 和 cisco 中已经存在,分别称为 Trunking 和 etherchannel 技术,在 linux 中,这种技术称为 bonding 。因为 bonding 在内核 2.4.x 中已经包含了,只需要在编译的时候把网络设备选项中的 Bonding driver support 选中就可以了。
然后,重新编译核心,重新起动计算机,执行如下命令 :
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 网卡的两个口子映射为同一个虚拟接口。
转载于:https://blog.51cto.com/gaizaoren/122399