Linux网络管理之网卡别名及网卡绑定配置

在日常的运维工作当中,有时候需要在一块物理网卡上配置多个IP地址,这就是网卡子接口的概念,以及多块网卡实现网卡的绑定,通俗来讲就是多块网卡使用的一个IP地址,下面我来详细说明实现的过程。

&创建网卡子接口

在CentOS系统当中网络是由NetworkManager这个服务来管理的,它提供了一个图形的界面,但此服务不支持物理网卡子接口的设置,所以在配置网卡子接口的时候,我们需要关闭此服务

临时关闭:service NetworkManager stop

永久关闭:chkconfig  NetworkMangager  off

如果有时需要临时创建子接口需要这么操作

[root@server ~]#  ip   addr add 10.1.252.100/16 dev eth0 label  eth0:0

注意:一旦重启网络服务,将会失效

创建永久的网卡子接口,这时候就需要写到网卡的配置文件里面去了网卡的配置文件路径在/etc/sysconfig/network-scripts/目录下以ifcfg开头跟设备名的文件,加入我设置的子接口的配置文件叫做eth0:0

vim /etc/sysconfig/network-scripts/ifcfg-eth0:0(如果你每次编辑网卡配置文件,每次这个路径觉得很长的时候可以定义别名,直接cd切换目录到这个文件的当前目录下)

DEVICE=eth0:0   //网卡的子接口名称                                                                                 

BOOTPROTO=none  //使用的协议这里是静态                                                                   

IPADDR=192.168.1.100   //子接口的IP地址                                                                     

NETMASK=255.255.255.0  //子接口的子网掩码                                                                

GATEWAY=192.168.1.254   //子接口的网关                                                                       

DNS1=8.8.8.8                     //子接口指定的dns                                                                        

编辑网卡的配置文件之后需要重启网络服务                                                                     

[root@server network-scripts]# service network restart                                                    

[root@server network-scripts]# ifconfig                                                                                  

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D1:18:FD                                     

          inet addr:10.1.252.100  Bcast:10.1.255.255  Mask:255.255.0.0          

          inet6 addr: fe80::20c:29ff:fed1:18fd/64 Scope:Link                                        

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1                

          RX packets:47570 errors:0 dropped:0 overruns:0 frame:0                           

          TX packets:1618 errors:0 dropped:0 overruns:0 carrier:0                            

          collisions:0 txqueuelen:1000                                                                                

          RX bytes:3140045 (2.9 MiB)  TX bytes:135945 (132.7 KiB)                         

                                                                                                                                                              

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:D1:18:FD                                                

          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0 

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1                

至此网络子接口就配置完成了

 

 

&网卡绑定

在讲解如何实现bonding网卡绑定前我先来讲讲bond的原理以及bond的工作模式,最后将实现网卡绑定的配置

bonding

就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡被修改为相同的MAC地址。

正常情况下,网卡只接受目的硬件地址是自身MAC的以太网帧,对于别的数据帧都过滤掉,以减轻负担。但是网卡也支持混杂promisc的模式,接收网络上的所有帧,tcpdump和bonding就运行在这个模式下,驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接受特定的mac数据帧,然后把相应的数据帧传给bond驱动程序处理。双网卡工作的时候表现为一个虚拟网卡(bond0),该虚拟网卡也需要驱动,驱动名叫bonding。

bonding的工作模式

mode 0 (balance-rr)

轮询(round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力,两块网卡都工作。

 

mode  1 (active-backup)

主备策略:在绑定中,只有一个slave被激活。当且仅当活动的slvae接口失败时才会激活其他slave。为了避免交换机发生混乱时绑定的MAC地址只有一个外部端口上可见。

 

mode 3(broadcast)

广播策略:在所有的slave接口上传送所有的保温。本模式提供容错能力。

 

这里我给大家配置的mode 1模式,我这里使用的是vmware虚拟机来做的实验,在做实验之前需要再添加一块网卡,这样linux系统中才会有两块网卡

第一步:创建bonding设备的配置文件

[root@server network-scripts]# vim ifcfg-bond0                                                                    

DEVICE=bond0                                                                                                                                 

BOOTPROTO=none                                                                                                                          

IPADDR=10.1.252.100                                                                                                                    

NETMASK=255.255.0.0                                                                                                                  

GATEWAY=10.1.0.1                                                                                                                         

DNS1=8.8.8.8                                                                                                                                    

BONDING_OPTS="miimon=100 mode=1"                                                                                 

第二部:编辑两块物理网卡的配置文件                                                                              

[root@server network-scripts]# vim ifcfg-eth0                                                                       

DEVICE=eth0                                                                                                                                    

MASTER=bond0                                                                                                                               

SLAVE=yes                                                                                                                                          

                                                                                                                                                              

[root@server network-scripts]# vim ifcfg-eth1                                                                       

DEVICE=eth1                                                                                                                                    

MASTER=bond0                                                                                                                                

SLAVE=yes              

注:miimon是用来进行链路检测的。如果miimon=100,那么系统每100毫秒检测一次链路状态,如果有一条线路不通就转入另一条线路。

    mode=1表示工作模式为主备模式

    MASTER=bond0 主设备为bond0

 

配置完成只需要重启网络服务即可,测试使用另一台主机来ping bond0的IP地址接口,接下来测试bond的状态,将其中的一块网卡down掉,看另一块网卡能不能顶上来,如果能,则表示成功

查看bond的状态:watch –n 1 cat /proc/net/bonding/bond 动态观察bond的状态

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)                                           

Bonding Mode: fault-tolerance (active-backup)                                                             

Primary Slave: None                                                                                                               

Currently Active Slave: eth0                                                                                                

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:d1:18:fd                                                                          

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:d1:18:07                                                                         

Slave queue ID:  0                                                                                                                                                                                       

 

当我把eth0网卡down掉,当前活动的网卡就变成了eth1了

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)                                           

Bonding Mode: fault-tolerance (active-backup)                                                             

Primary Slave: None                                                                                                               

Currently Active Slave: eth1                                                                                                

MII Status: down                                                                                                                    

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:d1:18:fd                                                                          

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:d1:18:07                                                                         

Slave queue ID          :        0                                                                                                                                                                                                              

                                                                                                                                                                                                                                             

原创文章,作者:fszxxxks,如若转载,请注明出处:http://www.178linux.com/42839

赞 (0)
fszxxxksfszxxxks
上一篇 2016-09-02 08:47
下一篇 2016-09-02 08:47

相关推荐

  • Linux设备驱动Hello World程序介绍

    by Valerie Henson07/05/2007 (译者注:本文的例子是只能在linux的2.6内核下使用的,2.6以上的内核,译者没有做过实验,2.4是要修改make文件才能运行。) 本文的出处:这里 自古以来,学习一门新编程语言的第一步就是写一个打印“hello world”的程序(可以看《hello world 集中营》这个帖子供罗列了300个“…

    Linux干货 2015-04-01
  • 系统日志和loganalyzer

    作为运维人员,熟悉系统日志是一项基本功。本文将介绍centos6的系统日志rsyslog及loganalyzer工具。 简介 系统日志:记录历史事件,通常都是按时间顺序将发生的事件予以记录,linux上的日志分为syslogd(系统进程相关日志)和klogd(内核事件日志) centos5:syslog    缺点:不能进行并行数据存储,…

    Linux干货 2016-03-20
  • Redis 代理服务Twemproxy

    1、twemproxy explore       当我们有大量 Redis 或 Memcached 的时候,通常只能通过客户端的一些数据分配算法(比如一致性哈希),来实现集群存储的特性。虽然Redis 2.6版本已经发布Redis Cluster,但还不是很成熟适用正式生产环境。 Redis 的 Clust…

    Linux干货 2015-04-04
  • 源码包编译安装mariaDB

    前言     MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,并且之前是完全开源,所以大受欢迎。但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少。所以M…

    Linux干货 2016-02-28
  • Google 开源技术protobuf

    1.  Protobuf简介        protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行…

    系统运维 2015-04-04
  • Linux 基础命令

    时间命令:     date:         date [option].. [+format]:显示      [root@localhost ~]# dateThu Feb 25 14…

    Linux干货 2016-02-28