在Linux下有時(shí)候需要給一個(gè)網(wǎng)卡綁定多個(gè)IP,本文介紹在Redhat系列(redhat,Fedora Core,Centos)中的實(shí)現方法和一種在Gentoo等其他Linux中普遍適用的方法。
1、單網(wǎng)卡綁定多IP在Redhat系列中的實(shí)現方法
假設需要綁定多IP的網(wǎng)卡是eth0,請在/etc/sysconfig/network-scripts目錄里面創(chuàng )建一個(gè)名為ifcfg-eth0:0的文件,
內容樣例為:
DEVICE=”eth0:0″
IPADDR=”192.168.0.2″
BROADCAST=”172.168.0.255″
NETMASK=”255.255.255.0″
ONBOOT=”yes”
其中的DEVICE為設備的名稱(chēng),
IPADDR為此設備的IP地址,
BROADCAST是廣播地址,
NETMASK為子網(wǎng)掩碼,
ONBOOT 表示在系統啟動(dòng)時(shí)自動(dòng)啟動(dòng)。
如果需要再綁定多一個(gè)IP地址,
只需要把文件名和文件內的DEVICE中的eth0:x加一即可。
LINUX最多可以支持255個(gè)IP別名
2、普遍適用的單網(wǎng)卡綁定多IP實(shí)現方法
ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0
可以把上述命令加在啟動(dòng)自運行文件里面,在Gentoo下是/etc/conf.d/local.start,而某些版本的Linux是/etc/rc.d/rc.local。
3、多網(wǎng)卡共用單IP的實(shí)現方法
使用多塊網(wǎng)卡虛擬成為一塊網(wǎng)卡,具有相同的IP地址。這項技術(shù)其實(shí)在sun和cisco中已經(jīng)存在,分別稱(chēng)為T(mén)runking和etherchannel技術(shù),在linux中,這種技術(shù)稱(chēng)為bonding。因為bonding在內核2.4.x中已經(jīng)包含了,只需要在編譯的時(shí)候把網(wǎng)絡(luò )設備選項中的 Bonding driver support選中就可以了。
然后,重新編譯核心,重新起動(dòng)計算機,執行如下命令:
ismod bonding
ifconfig eth0 down
ifconfig eth1 down
ifconfig bond0 ipaddress
ifenslave bond0 eth0
ifenslave bond0 eth1
現在兩塊網(wǎng)卡已經(jīng)象一塊一樣工作了,這樣可以提高集群節點(diǎn)間的數據傳輸。
你最好把這幾句寫(xiě)成一個(gè)腳本,再由/etc/rc.d/rc.local或者/etc/conf.d/local.start調用,以便一開(kāi)機就生效。
bonding對于服務(wù)器來(lái)是個(gè)比較好的選擇,在沒(méi)有千兆網(wǎng)卡時(shí),用兩三塊100兆網(wǎng)卡作 bonding,可大大提高服務(wù)器到交換機之間的帶寬。但是需要在交換機上設置連接bonding 網(wǎng)卡的兩個(gè)口子映射為同一個(gè)虛擬接口。
Technorati Tags: bonding, gentoo, ip, linux, redhat, 技巧, 網(wǎng)卡, 設置聯(lián)系客服