网卡别名和bonding——让你的网络接口更加稳定

网卡配置文件:

1、IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

    IFACE:接口名称

2、路由的相关配置文件(默认无此文件):/etc/sysconfig/network-scripts/route-IFACE

3、配置文件/etc/sysconfig/network-scritps/ifcfg-IFACE通过大量参数来定义接口的属性

     其可通过vim等配置文本编辑器直接修改,也可以使用专用的命令进行修改

     CentOS6:system-config-network(setup)

     CentOs7:nmtui

         ifcfg-IFACE配置文件的参数

                 DEVICE:此配置文件对应的设备的名称

                 ONBOOT:在系统引导过程中,是否激活此接口

                 UUID:此设备的唯一标识

                 IPV6INIT:是否初始化IPv6

                 BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none

                 TYPE:接口类型,常见的有Ethernet,Bridge

                 DNS1:第一DNS服务器指向

                 DNS2:备用DNS服务器指向

                 DOMAIN:DNS搜索域

                 IPADDR:IP地址

                 NETMASK:子网掩码;CentOS6,7支持使用PREFIX

                 eg: NETMASK=255.255.0.0  <==>  PREFIX=16

                 GATEWAY:默认网关

                 USERCTL:是否允许普通用户控制此设备

                 PEERDNS:如果BBOTPROTO的值为“dhcp”,是否运行dhcp server分配的dns服务器指向覆盖本地手动指向的DNS服务器指向,默认为允许

                 HWADDR:设备MAC地址,一般不能修改MAC地址,但把此参数换成MACADDR=XX-XX-XX-XX-XX-XX ;则能修改MAC地址                

                

                 NM_CONTROLLED:是否使用NetworkManager服务来控制接口;建议CentOS6为“no”

        

         注意:需service network restart生效

网卡别名:

网络接口识别并命名相关的udev配置文件:

    /etc/udev/rules.d/70-persistent-net.rules

        修改上述配置文件,和/etc/sysconfig/network-scripts/ifcfg-IFACE文件,完成对网卡的别名配置


卸载网卡驱动:

    modprobe -r e1000

装载网卡驱动:

    modprobe e1000


实验:

netalias3.png

[root@CentOS6 ~]# cat /etc/udev/rules.d/70-persistent-net.rules
......
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:53:f0:44", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth0"
[root@CentOS6 ~]# vim /etc/udev/rules.d/70-persistent-net.rules

netalias.png

[root@CentOS6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=none
TYPE="Ethernet"
HWADDR=00:0c:29:53:f0:44
IPADDR=10.1.143.1
NETMASK=255.255.0.0
GATEWAY=10.1.0.1
DNS=10.1.0.1
[root@CentOS6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

netalias1.png

[root@CentOS6 ~]# modprobe -r e1000
[root@CentOS6 ~]# modprobe e1000

netalias2.png

给接口配置多个IP地址:

    关闭NetworkManager服务

    为每个设备别名生成独立的接口配置文件

    接口配置文件名:ifcfg-ethX:xxx

(1)ifconfig IFACE_LABEL IPADDR/NETMASK

    IFCAE_LABEL:eth0,eth0:1,…

    eg:ifconfig eth0:0 192.168.1.100/24 up

(2)为别名添加配置文件:<可复制eth0文件并修改其内容>

    DEVICE=IFACE_LABEL

    BOOTPROTO=static OR none

        网卡别名不支持动态获取地址;使用static或者none即可

    IPADDR=X.X.X.X

    NETMASK=X.X.X.X

实验:

[root@CentOS6 ~]# cd /etc/sysconfig/network-scripts/
[root@CentOS6 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:0
[root@CentOS6 network-scripts]# cat ifcfg-eth0:0
DEVICE="eth0"
BOOTPROTO=none
TYPE="Ethernet"
HWADDR=00:0c:29:53:f0:44
IPADDR=10.1.143.1
NETMASK=255.255.0.0
GATEWAY=10.1.0.1
DNS=10.1.0.1
[root@CentOS6 network-scripts]# vim ifcfg-eth0:0

net1.png

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

net3.png


Bonding:

就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡

直接给两块网卡设置同一IP地址是不可能的,通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC

工作模式:

     Mode 0 (balance-rr):

         轮转 (Round-robin) 策略:

                 从头到尾顺序的在每一个slave接口上面发送数据包

                 本模式提供负载均衡和容错的能力

    

     Mode 1 (active-backup):

         活动-备份 (主备) 策略:

                 在绑定的网卡中,只有一个slave(一块网卡)被激活。当且仅当活动的slave接口失败时才会激活其他slave

                 为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见

                 因为提供了较好的容错能力,在生产环节中被使用的更多

    

     Mode 3 (broadcast)

         广播策略:

            在所有的slave接口上传送所有的报文。本模式提供容错能力

Bonding配置:

创建bonding设备的配置文件(默认无此文件):

    /etc/sysconfig/network-scripts/ifcfg-bond0

                 DEVICE=bond0(指定bonding设备名)

                 BOOTPROTO=none

                 IPADDR=X.X.X.X

                 NETMASK=X.X.X.X

                 GATEWAY=X.X.X.X

                 DNS=X.X.X.X

                 BONDING_OPTS= “miimon=100 mode=1”

                    miimon:是用来进行链路监测的,miimon=100,表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路

                    mode <0|1|3>:指定bonding模式

                

修改已有网卡配置文件:

    /etc/sysconfig/network-scripts/ifcfg-ethX

                 DEVICE=ethX

                 BOOTPROTO=none

                 MASTER=bond1

                 SLAVE=yes

查看bonding状态:

         cat /proc/net/bonding/bondX

            X表示bonding模式

实验:

11.png

[root@CentOS6 network-scripts]# vim ifcfg-bond

12.png

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

13.png

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

14.png

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

15.png

查看bond0的工作情况,当前工作的网卡是eth0:

网卡别名和bonding——让你的网络接口更加稳定

测试是否能够ping通:

16.png

断开eth0网卡的连接,测试是否能激活eth1网卡工作:

网卡别名和bonding——让你的网络接口更加稳定

再次测试是否能够ping通:

网卡别名和bonding——让你的网络接口更加稳定

以上结果显示,bond mode 1实验成功!

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

(0)
上一篇 2016-09-05 08:49
下一篇 2016-09-05 08:49

相关推荐

  • 【原创】Tengine+LUA+Nginx-GridFS+jemalloc编译安装

    操作系统 ubuntu 14.04 LTS Nginx-GridFS为nginx直接访问mongoDB的扩展模块,目前只支持到mongodb2.6.12 mongodb安装请自己百度 #安装依赖包保平安 apt-get install root-system-bin autoconf automake gcc c++ libgeoip-devlibxml++…

    Linux干货 2016-11-30
  • 脚本

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;     #!/bin/bash     #     sum=0 &n…

    Linux干货 2016-12-23
  • linux的管道命令和用户管理命令

    1、列出当前系统上的所有已经登录的用户的用户名 [root@localhost home]# who | cut -d” ” -f1 | uniq root test root 2、取出最后登录到当前系统的用户相关信息 [root@localhost home]# who | tail -1 root pts/3 2017-07-16 19:38 (192….

    Linux干货 2017-07-17
  • 文件元数据信息的含义、查看方法,和文件时间戳信息的修改方法

    文件数据分成两类 元数据,英文叫metadata,是数据的属性; 数据,英文叫data,是数据本身; 使用stat命令查看元数据信息 [0][root@localhost mylinux]# stat /etc/passwd File: ‘/etc/passwd’ Size: 889 Blocks: 8 IO Block: 4096 regular file…

    Linux干货 2018-03-01
  • 倒排索引-搜索引擎的基石

    1.概述       在关系数据库系统里,索引是检索数据最有效率的方式,。但对于搜索引起,他它并不能满足其特殊要求:       1)海量数据:搜索引擎面对的是海量数据,像Google,百度这样大型的商业搜索引擎索引都是亿级甚至几千的网页数量 ,面对…

    Linux干货 2015-12-10
  • CentOS 7 安装 mysql-5.7.14

    在centos7上安装 路上遇过各种坑 把在centos7正确安装mysql-5.7.14分享一下 1. CentOs7 默认的数据库为MariaDB,先卸载MariaDB,否则安装mysql,引起冲突 rpm -qa mariadb rpm -e –nodeps mariadb 2. 准备好工作环境 mkdir /application&nbs…

    Linux干货 2017-05-07

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-05 11:56

    文章结构清晰,思路顺畅,内容饱满,图文并貌,标题可以再优化一下,再接再厉哦。