Liunx 網路卡繫結
Redhat Linux的網路配置和IP繫結,可以透過修改幾個配置檔案來實現的,雖然也可以用ifconfig來設定IP,用route來配置預設閘道器,用hostname來配置主機名,這些命令都是臨時的,重啟主機後會丟失,還原成原來的設定。
和網路配置有關的配置檔案,有3個。
1. 配置主機名和IP地址的對應
/ect/hosts
2.配置主機名和閘道器
/etc/sysconfig/network
3.配置IP
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置檔案,eth1則檔名為ifcfg-eth1,以此類推
假設我們要配置主機名為pxboracle,eth0的IP地址192.168.1.12,閘道器地址192.168.1.1
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=pxboracle
GATEWAY=192.168.1.1
eth0對應的配置檔案內容如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.12
NETMASK=255.255.255.0
TYPE=Ethernet
ONBOOT=yes
單網路卡繫結多個IP
有時,我們需要在一塊網路卡上配置多個IP,例如,在上面的例子中,我們還需要為eth0配置IP 192.168.1.12和192.168.1.13。那麼需要再在/etc/sysconfig/network-scripts下新建兩個配置檔案:
ifcfg-eth0:0內容如下:
DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.1.12
NETMASK=255.255.255.0
ONBOOT=yes
ifcfg-eth0:1內容如下:
DEVICE=eth0:1
BOOTPROTO=static
IPADDR=192.168.1.13
NETMASK=255.255.255.0
ONBOOT=yes
三、多個網路卡繫結成一塊虛擬網路卡
為了提供網路的高可用性,我們可能需要將多塊網路卡繫結成一塊虛擬網路卡對外提供服務,這樣即使其中的一塊物理網路卡出現故障,也不會導致連線中斷。比如我們可以將eth0和eth1繫結成虛擬網路卡bond0
首先在/etc/sysconfig/network-scripts/下建立虛擬網路卡bond0的配置檔案ifcfg-bond0,內容如下
DEVICE=bond0
IPADDR=10.10.10.103
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255
GATEWAY=10.10.10.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
然後分別修改eth0和eth1的配置檔案
ifcfg-eth0內容:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
ifcfg-eth1內容
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
因為linux的虛擬網路卡是在核心模組中實現的,所以需要安裝的時候已經裝好該module。在/etc/modules.conf檔案中新增如下內容(如果沒有該檔案,則新建一個):
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0
其中miimon=100表示每100ms檢查一次鏈路連線狀態,如果不通則會切換物理網路卡
mode=1表示主備模式,也就是隻有一塊網路卡是active的,只提供失效保護。如果mode=0則是負載均衡模式的,所有的網路卡都是active,還有其他一些模式很少用到
primary=eth0表示主備模式下eth0為預設的active網路卡
miimon是毫秒數,每100毫秒觸發檢測線路穩定性的事件。
mode 是ifenslave的工作狀態。
一共有7種方式:
=0: (balance-rr) Round-robin policy: (平衡掄迴圈策略):傳輸資料包順序是依次傳輸,直到最後一個傳輸完畢, 此模式提供負載平衡和容錯能力。
=1: (active-backup) Active-backup policy:(主-備份策略):只有一個裝置處於活動狀態。 一個宕掉另一個馬上由備份轉換為主裝置。mac地址是外部可見得。 此模式提供了容錯能力。
=2:(balance-xor) XOR policy:(平衡 策略): 傳輸根據原地址布林值選擇傳輸裝置。 此模式提供負載平衡和容錯能力。
=3:(broadcast) broadcast policy: (廣播策略):將所有資料包傳輸給所有介面。 此模式提供了容錯能力。
=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation. IEEE 802.3ad 動態連結聚合:建立共享相同的速度和雙工設定的聚合組。(我不是太懂。)
=5:(balance-tlb) Adaptive transmit load balancing(介面卡傳輸負載均衡):沒有特殊策略,第一個裝置傳不通就用另一個裝置接管第一個裝置正在處理的mac地址,幫助上一個傳。
=6:(balance-alb) Adaptive load balancing: (介面卡傳輸負載均衡):大致意思是包括mode5,bonding驅動程式截獲 ARP 在本地系統傳送出的請求,用其中之一的硬體地址覆蓋從屬裝置的原地址。就像是在伺服器上不同的人使用不同的硬體地址一樣。
這些選項可以用命令:# modinfo bonding 來檢視
最後,在/etc/rc.local中加入
modprobe bonding miimon=100 mode=1
重啟機器後可以看到虛擬網路卡已經生效,可以透過插拔兩個物理網路卡的網線來進行測試,不過linux中網路卡接管的時間好象比較長
====================================================
需要說明的是如果想做成負載均衡,僅僅設定這裡modprode bonding miimon=100 mode=0是不夠的,還需要設定交換機的埠.
從原理分析一下(bond執行在mode 0下):
mode 0下bond所繫結的網路卡的IP都被修改成一樣的mac地址,如果這些網路卡都被接在同一個交換機,那麼交換機的arp表裡這個mac地址對應的埠就有多個,那麼交換機接受到發往這個mac地址的包應該往哪個埠轉發呢?正常情況下mac地址是全球唯一的,一個mac地址對應多個埠肯定使交換機迷惑了。
所以mode0下的bond如果連線到交換機,交換機這幾個埠應該採取聚合方式(cisco稱為ethernetchannel,foundry稱為portgroup),因為交換機做了聚合後,聚合下的幾個埠也被捆綁成一個mac地址
由於家裡沒有三層交換機,這裡的試驗留給網友自行驗證了.
====================================================
在 /etc/rc.local 檔案里加上一行:
/root/bonding.sh
bonding.sh檔案內容:
#!/bin/sh modprobe -r bonding modprobe bonding miimon=100 mode=6 ifconfig bond0 172.16.96.46 netmask 255.255.248.0 up route add default gw 172.16.100.1 bond0 #ifenslave bond0 eth0 eth1 eth2 eth3 eth4 eth5 ifenslave bond0 eth0 eth1 service network restart
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12798004/viewspace-1335573/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- liunx下雙網路卡繫結
- 雙網路卡繫結
- Linux網路卡繫結Linux
- 剖析網路卡繫結模式模式
- linux 網路卡繫結Linux
- CentOS 5.4上雙網路卡(多網路卡)繫結CentOS
- Linux(09):網路卡繫結Linux
- linux雙網路卡繫結Linux
- Oracle RAC 與 網路卡繫結Oracle
- redhat 6.3 雙網路卡繫結Redhat
- Linux 繫結雙網路卡Linux
- Linux 雙網路卡繫結Linux
- Redhat AS 5.4 雙網路卡繫結Redhat
- 網路卡繫結七種模式模式
- centos 6.5 雙網路卡繫結CentOS
- linux rac 網路卡繫結Linux
- 【轉】redhat 雙網路卡繫結Redhat
- linux6.5 網路卡繫結Linux
- RHEL6 雙網路卡繫結
- 關於AIX雙網路卡繫結AI
- linux redhat 雙網路卡繫結LinuxRedhat
- NIC bonding 雙網路卡繫結
- 【LINUX】Linux網路卡繫結探析Linux
- Linux 雙網路卡繫結實踐Linux
- 七種網路卡繫結模式詳解模式
- 繫結2網路卡為bond0
- 七種網路卡繫結模式介紹模式
- 虛擬機器雙網路卡繫結虛擬機
- linux6.5 雙網路卡繫結Linux
- Linux 雙網路卡繫結技術Linux
- Redhat Linux網路卡配置與繫結RedhatLinux
- RedHat Linux 5 雙網路卡繫結RedhatLinux
- Solaris下網路卡繫結多個IP
- RHEL5.6 多網路卡bond 繫結
- Oracle 11gR2 RAC 單網路卡轉雙網路卡繫結配置Oracle
- Linux單網路卡繫結多IP與多網路卡共用單IPLinux
- Windows中改變網路卡繫結順序Windows
- 對網路卡中斷繫結的指令碼指令碼