網卡別名與bonding配置

我們知道,一般來說,一個硬件地址對應與一個IP地址。但在一些情況下,我們可以通過一些方法打破硬件地址與IP地址的一一對應關系。下面就來說一下網卡別名與bonding配置。

網卡別名就是將多個IP地址綁定到一個網絡接口上,其命名方式為IFACE:num,如eth0:1等。需要注意的是,網卡別名僅對虛擬主機有效。創建網卡別名有兩種方式:

1、ifconfig命令:

         Ifconfig IFACE:num IPADDR/netmask up

如:ifconfig eth0:1 10.1.253.1/16 up;需要注意設置后是直接生效的;

2、配置文件

我們可以在/etc/sysconfig/network-scripts/下創建網卡別名的對應配置文件ifcfg-IFACE:num;一般來說,配置文件中需要包含以下幾項:

DEVICE=IFACE:num          設備名稱

IPADDR=A.B.C.D               指定IP地址

NETMASK=netmask         class方式設定子網掩碼

下面我們來看一下利用配置文件來生成網卡別名:

[root@luolmCentOS6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
[root@luolmCentOS6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:1
NAME=eth0:1
IPADDR=10.1.253.1
PREFIX=16
ONBOOT=yes
GATWAY=10.1.253.1
DNS1=114.114.114.114
DNS2=8.8.8.8
[root@luolmCentOS6 ~]# service NetworkManager stop
Stopping NetworkManager daemon:                            [  OK  ]
[root@luolmCentOS6 ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0: 
Determining IP information for eth0... done.
Determining if ip address 10.1.253.1 is already in use for device eth0...??????[  OK  ]
[root@luolmCentOS6 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:E9:15:6B 
         inet addr:10.1.253.0  Bcast:10.1.255.255  Mask:255.255.0.0
         inet6 addr: fe80::20c:29ff:fee9:156b/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:23150 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1113 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:1894402 (1.8 MiB)  TX bytes:154281 (150.6 KiB)
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:E9:15:6B 
         inet addr:10.1.253.1  Bcast:10.1.255.255  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
lo        Link encap:Local Loopback 
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:12 errors:0 dropped:0 overruns:0 frame:0
         TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:720 (720.0 b)  TX bytes:720 (720.0 b)

下面我們來看一下bonding配置:

就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡的MAC地址被修改為相同的MAC地址;

Bonding常見的有三種工作模式:

Mode 0 (balance-rr)

輪轉(Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力;

Mode 1 (active-backup)

活動備份(主備)策略:在綁定中,只有一個slave被激活。當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見

Mode 3 (broadcast)

廣播策略:在所有的slave接口上傳送所有的報文。本模式提供容錯能力。

bonding的配置也是通過創建與更改/etc/sysconfig/network-scripts/下的配置文件來實現的。下面我們來看一下如何實現bond0bond1bond3的實現模式與bond0基本相同)。

[root@luolmCentOS6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
[root@luolmCentOS6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@luolmCentOS6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
[root@luolmCentOS6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=10.1.253.2
PREFIX=16
GATWAY=10.1.253.2
DNS1=114.114.114.114
DNS2=8.8.8.8
BONDING_OPTS="miimon=100 mode=0"       用來設置鏈路監測與bond模式
[root@luolmCentOS6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
[root@luolmCentOS6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
MASTER=bond0
SLAVE=yes
[root@luolmCentOS6 ~]# service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:  Determining if ip address 10.1.253.2 is already in use for device bond0...                                                  [  OK  ]
[root@luolmCentOS6 ~]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:E9:15:6B 
          inet addr:10.1.253.2  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fee9:156b/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:6168 errors:0 dropped:0 overruns:0 frame:0
          TX packets:425 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:555066 (542.0 KiB)  TX bytes:67702 (66.1 KiB)
eth0      Link encap:Ethernet  HWaddr 00:0C:29:E9:15:6B 
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:10453 errors:0 dropped:0 overruns:0 frame:0
          TX packets:425 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:920230 (898.6 KiB)  TX bytes:56186 (54.8 KiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:E9:15:6B 
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:7131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:903 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:638497 (623.5 KiB)  TX bytes:131052 (127.9 KiB)
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:29 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2280 (2.2 KiB)  TX bytes:2280 (2.2 KiB)

bond工作時,我們可以通過/proc/net/bonding/bond來查看bonding的工作狀態。

[root@luolmCentOS6 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:e9:15:6b
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:e9:15:75
Slave queue ID: 0

原創文章,作者:luoliumeng,如若轉載,請注明出處:http://www.www58058.com/43277

(0)
luoliumengluoliumeng
上一篇 2016-09-05
下一篇 2016-09-05

相關推薦

  • sed命令

    Linux sed命令是利用script來處理文本文件。 sed可依照script的指令,來處理、編輯文本文件。 Sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等。 語法 sed [-hnV][-e<script>][-f<script文件>][文本文件] 參數說明: -e<script&gt…

    Linux干貨 2016-08-12
  • RPM程序包管理

           RPM的全名“RedHat Package Manager”,當初這個是RedHad公司開發的一款程序包管理套件,隨著RPM的不斷完善,RPM逐漸成為眾多linux發行版程序包管理器的代名詞,那什么是RPM,為什么會用到RPM這個程序包管理工具那,接下來我一一揭曉。  &nb…

    Linux干貨 2015-11-04
  • Linux 第七天: (08月05日) Linux文本處理工具

    Linux 第七天: (08月05日) 文本處理工具       head -n 指定貨權前n行tail -n 指定獲取后n行tail -f 顯示文件新追加內容 tail -n 0 -f /var/log/messages & 后臺監控日志 cut -d 指明分隔符,默認tabcut -f 第幾個字段cut -c 按字符…

    Linux干貨 2016-08-08
  • httpd——事務

    http協議: http/0.9 ,http/1.0 ,http/1.1 ,http/2.0 http協議:stateless          服務器無法持續追蹤訪問者來源          &nb…

    Linux干貨 2016-10-12
  • 內核編譯

    內核編譯 程序包的編譯安裝 ./configure,make,make install./configure檢查編譯環境依賴關系,并設定參數make 執行編譯操作make install 安裝二進制庫文件幫助文檔配置文件 前提:開發環境(開發工具,開發庫),頭文件:/usr/include 開源:源代碼 發行版,就是把源代碼拿過來,組織成程序。  …

    Linux干貨 2016-09-19
  • Linux Basics-重定向與管道:第一部分

    Linux Basics-重定向與管道:第一部分 概述 本教程將介紹 Linux 中重定向標準 IO 流的基本技術。學習: 什么是重定向與標準 IO 流:標準輸入、標準輸出和標準錯誤 各種流和管道的實際應用   前提條件 你應該了解 Linux 基本知識以及擁有一個正常工作的 Linux 系統,在本文說明的實例中,我采用是CentOS 7 內核版本…

    Linux干貨 2016-10-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-05 10:39

    寫的很詳細,贊一個

欧美性久久久久