网卡别名和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)
megedugaomegedugao
上一篇 2016-09-05 08:49
下一篇 2016-09-05 08:49

相关推荐

  • Linux中软链接和硬链接的区别

    Linux中软链接和硬链接的区别 链接文件:   Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 Inode 文件除了纯数据本身之外,还必须包含有对这些纯数据的管理信息 文件名; 访问权限; 文件的属主以; 该文件的数据所对应的磁盘数据块; 文件的时间戳; …

    Linux干货 2016-10-20
  • bash 的过程式和循环式的编写

           bash脚本的编写,对于Linux这个多用户,多任务的系统,有很大的帮助,脚本可以帮助我们定时执行任务,过滤文本,检查系统性能等等。下面我们来了解一下过程式和循环式脚本的编写。 使用read 命令来接受输入 使用read 来把输入值分配给一个或多个shell 变量:  &nb…

    Linux干货 2016-08-24
  • linux中软链接和硬链接简单说明

    linux链接文件 在 Linux 上文件系统被分成两个部分:数据 (user data) 与元数据 (metadata)。数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如:文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含…

    Linux干货 2016-12-05
  • shell脚本编程之函数

      在编写脚本时经常会遇到某个任务需要重复使用的问题,需每次都要输入同样的代码是件挺烦人的事情,还好可以通过编写函数还简化这项工作。   函数其实就是给一段代码起个名字,在每次使用这段代码的时候可以直接使用函数名来调用就可以了。 一、创建函数   创建函数的格式有两种:   格式1:function 函数名{ &nbs…

    Linux干货 2016-01-05
  • 文件管理和用户组权限管理小结

    文件管理 文件系统结构 /boot: 引导文件存放目录,内核文件,引导加载器都存放在此目录 /bin:供所有用户使用的基本命令,不能关联至独立分区,os启动即会用到的程序 /sbin:管理类的基本命令:不能关联至独立分区,os启动即会用到的程序 /etc:配置文件目录 /home:普通用户家目录 /root:管理员的家目录 /dev: 设备文件及特殊文件存储…

    2017-07-23
  • N25-第5周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行 [root@jizo ~]# grep -E '^[[:space:]]+.*' /boot/grub/gurb.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,…

    Linux干货 2017-01-09

评论列表(1条)

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

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