网卡别名与bonding

网络接口配置-bonding

  • Bonding简介

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

  • Bonding模式

    • Mode 0 (balance-rr) 轮转(Round-robin)策略:从头到尾顺序的在每一个slave 接口上面发送数据包。本模式提供负载均衡和容错的能力

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

    • Mode 3 (broadcast) 广播策略:在所有的slave接口上传送所有的报文。本模式提供 容错能力。

  • 网络配置文件简介

    • IP、MASK、GW、DNS相关配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE

    • 路由相关的配置文件: /etc/sysconfig/network-scripts/route-IFACE

    • /etc/sysconfig/network-scripts/ifcfg-IFACE: 说明参考/usr/share/doc/initscripts-9.49.30/sysconfig.txt

  • 配置文件编写规则

    • DEVICE:此配置文件应用到的设备

    • HWADDR:对应的设备的MAC地址

    • BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp

    • NM_CONTROLLED:NM是NetworkManager的简写, 此网卡是否接受NM控制;建议CentOS6为“no”

    • ONBOOT:在系统引导时是否激活此设备

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

    • UUID:设备的惟一标识

    • IPADDR:指明IP地址

    • NETMASK:子网掩码

    • GATEWAY: 默认网关

    • DNS1:第一个DNS服务器指向

    • DNS2:第二个DNS服务器指向

    • USERCTL:普通用户是否可控制此设备

    • PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许 dhcp server分配的dns服务器指向信息直接覆盖至 /etc/resolv.conf文件中

  • 多网卡bond,mode1的具体实现步骤

    • 创建bonding设备的配置文件

    • 编写两块网卡的配置文件

1创建bond0配置文件

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

DEVICE=bond0 –物理设备名字

IPADDR=192.168.1.2 –IP地址

NETMASK=255.255.255.0 –子网掩码

GATEWAY=192.168.1.1 –网关

DNS=8.8.8.8 –DNS

ONBOOT=yes –随机启动

2修改被绑定的eth0和eth1的配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=“eth0”

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

eth1的配置文件与之相同,只是device的值改为eth1即可。

blob.png

blob.png

当我关闭掉一个网络时发现丢了一个包,另一块网卡立马接管网络。

blob.png

Bonding配置

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

• 查看bond0状态:/proc/net/bonding/bond

• 关于bonding的详细配置请参照

/usr/share/doc/kernel-docversion/Documentation/networking/bonding.txt

一网卡多地址的实现

网卡别名

  • 对虚拟主机有用

  • 将多个IP地址绑定到一个NIC上 eth0:1 eth0:2 eth0:3

  • ifconfig命令:

    • ifconfig eth0:0 192.168.1.100/24 up

  • ip命令:

    • ip addr add 172.16.1.2/16 dev eth0

    • ip addr add 172.16.1.1/16 dev eth0 label eth0:0

    • ip addr del 172.16.1.1/16 dev eth0 label eth0:0

    • ip addr flush dev eth0 label eth0:0

设备别名

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

  • 步骤

    • 关闭NetworkManager服务

    • ifcfg-ethX:xxx

    • 必须使用静态联网

    • 配置文件内容

      • DEVICE=eth0:0

      • IPADDR=10.10.10.10

      • NETMASK=255.0.0.0

      • ONPARENT=yes

  • 注意:需要重启网络服务

  • 参考/usr/share/doc/initscripts-*/sysconfig.txt

具体实现

  • 这是我的网络配置文件

blob.png

  • 我们需要复制至少一份跟它相同的文件并改名在原名后加上:n

blob.png

  • 然后修改配置文件名

blob.png

  • 三个都修改完毕后重启网络服务就完成啦

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

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

相关推荐

  • python面向对象第二周魔术方法详解

    魔法方法及其使用__开头和结束的方法,定义外部没有办法直接调用,但会有影响使用运算符号的魔法方法, + ,-,*,/,%,//,**, __add__,__sub__,__mul__,__truediv__,__mod__,__floordiv__,__pow__,__divmod__(?),系统内部对于数值型,字符串型,容器内型都定义了其中部分或者全部的运…

    Linux干货 2017-11-22
  • 双主模型的Nginx高可用负载均衡集群

    实验目的:使用keepalived实现Nginx的双主高可用负载均衡集群 实验环境:两台Nginx proxy(双主Nginx,各需要两块网卡,eth0连接内网,eth1连接外网)、两台web server(请求的负载均衡)、一台client用于验证结果。 注意:为了不影响实验结果,在实验开始前先关闭iptables和selinux 操作步骤: 一、配置IP…

    2017-05-13
  • shell脚本编写规范

    1 脚本名以.sh结尾,名称尽量见名之意,比如ClearLog.sh Clear_Log.sh clearlog.sh SerRestart.sh Ser_Restart.sh;2 尽量使用UTF-8编码,注释及输出尽量使用英文;3 一般给到执行权限,但一些关于变量的配置文件不用加执行权限;4 执行的时候可以使用bash 执行,或者使用bash -x执行,可…

    Linux干货 2017-04-16
  • 常见的单机虚拟网络类型

    前言:   无论是互联网还是物联网,他们的网络模型都是可以见的,而虚拟化和云计算中的网络模型 要比这些模型要复杂的多,有些设备你是可以到也有一些设备你是看不到的,这给我们运维人员带来的技术挑战。通过学习Xen、KVM虚拟化技术,对单机虚拟网络模型有了初步的认识,以下是我对单机虚拟网络模型的认识。 一、NAT模型    …

    Linux干货 2015-09-01
  • shell脚本的各种循环

    For循环 For循环格式      For   变量名  in    列表    ;   do         &nb…

    Linux干货 2016-08-21
  • 磁盘管理之MBR,GPT的概念及MBR和GPT分区工具的使用

    一,概述 设备文件 I/O ports: I/O设备地址 一切皆文件 open() read() write()close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位”字符“,键盘 块设备和字符设备的区别 块设备可以随机访问,字符设备必须连续访问,如,/dev/null 块设备有缓存,字符设备没有缓存,因为字符设备…

    Linux干货 2016-09-06