网卡别名与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-04
下一篇 2016-09-05

相关推荐

  • linux安装

    点击开始运行\\172.16.0.1\python10 用户名:python10 密码:python10magedu 运行 ftp://172.16.0.1                                                                                                      …

    Linux干货 2018-03-17
  • BT雷人的程序语言

    这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站《6个变态的C语言Hello World程序》的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请…

    Linux干货 2015-04-03
  • Linux基础命令语法

    Linux基础命令语法

    Linux干货 2018-03-11
  • Linux文件系统初识

    Linux文件系统初识        文件系统是一种用于向用户提供数据访问的机制,我们的硬盘,U盘等存储设备会被文件系统分割为特定大小的块,系统中的文件就被存储在数据块中,而我们平常接触到的分区,目录,文件等正是文件系统通过组织整合之后才呈现在我们面前的,我们无需去关心我们的数据到底存储在硬盘的那个…

    2017-07-15
  • Mairadb

    Mairadb 编译安装Mairadb数据 先下载mariadb的软件包: 将软件包解压缩到/usr/local目录下 ]# tar xf mariadb-5.5.32-linux-x86_64.tar.gz -C /usr/local/ 创建连接 ]# ln -sv maria…

    Linux干货 2016-10-17
  • Nginx基础

    Nginx基础 目录 Nginx概述 Nginx的优点 Nginx相比Apache 编译安装Nginx Nginx配置文件讲解 ngx_http_access_module模块 ngx_http_auth_basic_module模块 ngx_http_log_module模块 ngx_http_stub_status_module模块 Nginx概述 En…

    Linux干货 2016-11-01