Redhat Linux網卡配置與綁定


時間:2007-11-28 NinGoo

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網卡

最後,在/etc/rc.local中加入

modprobe bonding miimon=100 mode=1

重啓機器後可以看到虛擬網卡已經生效,可以通過插拔兩個物理網卡的網線來進行測試,不過linux中網卡接管的時間好象比較長。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章