linux綁定多個ip(轉載)

在Linux下有時候須要給一個網卡綁定多個IP,本文介紹在Redhat系列(redhat,Fedora Core,Centos)中的實現方法和一種在Gentoo等其餘Linux中廣泛適用的方法。linux

一、單網卡綁定多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」  
spa

其中的DEVICE爲設備的名稱,IPADDR爲此設備的IP地址,BROADCAST是廣播地址,NETMASK爲子網掩碼,ONBOOT 表示在系統啓動時自動啓動。接口

若是須要再綁定多一個IP地址,只須要把文件名和文件內的DEVICE中的eth0:x加一便可。ip

LINUX最多能夠支持255個IP別名ci

二、廣泛適用的單網卡綁定多IP實現方法編譯

ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0ast

能夠把上述命令加在啓動自運行文件裏面,在Gentoo下是/etc/conf.d/local.start,而某些版本的Linux是/etc/rc.d/rc.local。class

三、多網卡共用單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 網卡的兩個口子映射爲同一個虛擬接口。

相關文章
相關標籤/搜索