我們知道,一般來說,一個硬件地址對應與一個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/下的配置文件來實現的。下面我們來看一下如何實現bond0(bond1與bond3的實現模式與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
寫的很詳細,贊一個