Linux網卡配置與綁定

Redhat Linux的網路配置,基本上是通過修改幾個配置文件來實現的,雖然也可以用ifconfig來設置IP,用route來配置默認網關,用hostname來配置主機名,但是重啓後會丟失。

相關的配置文件

 

/ect/hosts 配置主機名和IP地址的對應

 

/etc/sysconfig/network 配置主機名和網關

 

/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1則文件名爲ifcfg-eth1,以此類推

 

一、網卡配置

假設我們要配置主機名爲test,eth0的IP地址192.168.168.1/24,網關地址192.168.168.250

則/etc/sysconfig/network文件內容如下:

NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.168.250

eth0對應的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0內容如下:

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.168.1
NETMASK=255.255.255.0
TYPE=Ethernet
ONBOOT=yes

 

二、單網卡綁定多個IP

有時,我們需要在一塊網卡上配置多個IP,例如,在上面的例子中,我們還需要爲eth0配置IP 192.168.168.2和192.168.168.3。那麽需要再在/etc/sysconfig/network-scripts下新建兩個配置文件:

ifcfg-eth0:0內容如下:

DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.168.2
NETMASK=255.255.255.0
ONBOOT=yes

ifcfg-eth0:1內容如下:

DEVICE=eth0:1
BOOTPROTO=static
IPADDR=192.168.168.3
NETMASK=255.255.255.0
ONBOOT=yes

三、多個網卡綁定成一塊虛擬網卡

爲了提供網路的高可用性,我們可能需要將多塊網卡綁定成一塊虛擬網卡對外提供服務,這樣即使其中的一塊物理網卡出現故障,也不會導致連接中斷。比如我們可以將eth0和eth1綁定成虛擬網卡bond0

首先在/etc/sysconfig/network-scripts/下創建虛擬網卡bond0的配置文件ifcfg-bond0,內容如下

DEVICE=bond0
BOOTPROTO=none
BROADCAST=192.168.168.255
IPADDR=192.168.168.1
NETMASK=255.255.255.0
NETWORK=192.168.168.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=192.168.168.250
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中網卡接管的時間好象比較長

from:http://www.360doc.com/content/10/1016/14/1317564_61486325.shtml

====================================================

需要說明的是如果想做成負載均衡,僅僅設置這裏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文件內容:

 

Linux網卡配置與綁定
#!/bin/shmodprobe -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 eth5ifenslave bond0 eth0 eth1 
service network restart
Linux網卡配置與綁定

Linux bonding驅動: http://tzsky.blog.51cto.com/1062094/237283
轉載地址:http://www.cnblogs.com/dkblog/archive/2011/08/30/2160204.html
更多相關文章
  • 伺服器共四塊網卡,現要將四塊網綁,進行兩兩綁定,只簡單介紹實踐過程. 說明:網卡綁定有多種模式,詳細信息請google 在Linux系統下實現網卡綁定的步驟:  1.在/ect/sysconfig/network-scripts下,備份要進行綁定的網卡配置文件 以綁定 eth0,eth1爲例 執行 ...
  •   linux 網卡綁定與多vlan實現 1.先停止network service:#service network stop 2.建立bound0 虛擬接口#cd /etc/sysconfig/network-scripts#touch ifcfg-bound0#vi ifcfg-bond0 DE ...
  • linux中通過curl命令綁定host訪問網頁的方法: 例子: 假設訪問頁面地址爲: http://www.abc.com/test.jsp www.abc.com 域名解析到ip: 192.168.0.1 則curl訪問方式爲如下: curl -H "Host:www.abc.com& ...
  • Linux無線網卡配置
    無線網卡配置本文介紹在Linux 命令行界面中手動配置無線網卡的方法.目前流行的多數發行版都支持用圖形界面的network- manager方便地進行配置,而無需使用本文所介紹的原始方法. 下面介紹使用iwconfig和ifconfig等命令在命令行狀態下配置無線網路.前題是無線網卡驅動已經正確安裝 ...
  • 一個網卡可以配置多個ip地址,其中同一子網只有一個是主ip地址,同一子網別的ip地址全部都是輔ip地址,分爲主次地址完全是爲了管理的方便,之所以存在主輔地址主要是爲了兩種需求,其中之一是爲了在共享介質上構建不同的子網,我的另一篇文章<從ip addr add和ifconfig的區別看linux ...
  • 轉載自http://linux.chinaunix.net/techdoc/develop/2008/03/31/988182.shtml學習應該是一個先把問題簡單化,在把問題複雜化的過程.一開始就著手處理複雜的問題,難免讓人有心驚膽顫,捉襟見肘的感覺.讀Linux網卡驅動也是一樣.那長長的源碼夾雜 ...
  • VirtualBox + CentOS 虛擬機網卡配置
    前言要學好Linux,還是得自己搭建虛擬機. VirtualBox比較小巧簡單,容易上手.在配合CentOS 6.4使用時,首要的問題就是網卡配置,尤其是使用SSH終端仿真程序(例如SecureCRT)訪問主機時,更需要配置好IP.如下爲網卡相關的配置.@Author [email protected] ...
  • 無線網卡配置
    無線網卡配置 此頁由Linux Wiki用戶 Chenxing于2012年1月29日 (星期日) 02:16的最後更改. 在 1233456的工作基礎上. 本文探討WIFI網路的配置方法,有關3G網路,請參考使用3G上網卡無線上網.圖形界面目前流行的多數發行版都支持用圖形界面的network-man ...
一周排行
  • **************************** 路由器上網方面***************************************配置路由器時發現動態分配WAN口IP時總是"0.0.0. ...
  • 今天在做一個隱藏導航欄的頁面,由于之前沒有用xib,發現我在view controller添加的tableview的內容範圍出現在了statusbar的下方.就是tableview的contentInset莫名其妙的 ...
  • 對于Mobile Web來說,現在是快速成長時代.由于采用了HTML5和CSS3技術,移動浏覽器的效能加強了許多,同時,移動app的框架也擴展了,這意味著爲移動設備創建豐富的互動的web體驗的可行性又提升了.采用諸如 ...
  • 調試進入類,類內容看不見   出現如下提示 Could not open the editor: The Class File Viewer cannot handle the given input ('org.e ...
  • 這個demo實現了點擊按鈕 改變圖片的透明度,對圖片的局部放大.有一點bitmap位圖的內容有些不太明白.後期會專門研究這個類.MainActivity.javapackage lzl.edu.com.imagevi ...
  • 不多說直接上代碼了....package com.icedcap.handlertest; import android.app.Activity; import android.os.Bundle; import  ...
  • 首先使用Windows身份驗證,伺服器名稱爲"local",進入數據庫,在數據庫爲master中新建查詢 輸入:select * from sys.sysservers 進行查詢可發現數據庫中還保 ...
  • dubbo開啓token服務後,使用集群容錯策略爲FailoverClusterInvoker,當出現服務調用失敗進行轉移,重試其它伺服器時,會出現token invalid錯誤,provider會拒絕服務調用.原因 ...
  • 這個也是百度百科上面的詞條.貼在這裏只是爲了方便自己查閱.不爲任何商業目的.範疇目錄哲學定義 亞裏士多德的範疇論 範疇的曆史 物質對象心靈 類 性質 關系 展開 編輯本段哲學定義 範疇是已經經過無數次實踐的證明,並已 ...