Redhat Linux的網絡配置,基本上是經過修改幾個配置文件來實現的,雖然也能夠用ifconfig來設置IP,用route來配置默認網關,用hostname來配置主機名,可是重啓後會丟失。linux
相關的配置文件網絡
/ect/hosts 配置主機名和IP地址的對應
/etc/sysconfig/network 配置主機名和網關
/etc/sysconfig/network-scripts/ifcfg-eth0 eth0配置文件,eth1則文件名爲ifcfg-eth1,以此類推負載均衡
1、網卡配置測試
假設咱們要配置主機名爲test,eth0的IP地址192.168.168.1/24,網關地址192.168.168.250ip
則/etc/sysconfig/network文件內容以下:io
NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.168.250test
eth0對應的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0內容以下:module
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.168.1
NETMASK=255.255.255.0
TYPE=Ethernet
ONBOOT=yes配置
2、單網卡綁定多個IProute
有時,咱們須要在一塊網卡上配置多個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
3、多個網卡綁定成一塊虛擬網卡
爲了提供網絡的高可用性,咱們可能須要將多塊網卡綁定成一塊虛擬網卡對外提供服務,這樣即便其中的一塊物理網卡出現故障,也不會致使鏈接中斷。好比咱們能夠將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中網卡接管的時間好象比較長