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

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

创建网卡子接口

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

临时关闭:service NetworkManager stop

永久关闭:chkconfig  NetworkMangager  off

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

[[email protected] ~]#  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

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

[[email protected] network-scripts]# service network restart

[[email protected] 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 3broadcast

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

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

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

[[email protected] 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"

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

[[email protected] network-scripts]# vim ifcfg-eth0

DEVICE=eth0

MASTER=bond0

SLAVE=yes

[[email protected] 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

时间: 2024-10-22 07:43:49

Linux网络管理之网卡别名及网卡绑定配置的相关文章

linux设置网卡别名和网卡绑定

 网卡别名 | CentOS 6 bonding | CentOS 7 nmcli网络组 网卡别名: 1.命令实现: 皆为临时生效 ifconfig: ]# ifconfig eth0:0 202.204.235.5.24 ]# ifconfig eth0:0 down    撤销该别名 ip: ]# ip addr add 202.204.235.10/24 dev eth0 该地址对ifconfig命令不可见 ]# ip addr add 202.204.235.20/24 dev eth0

《linux 网卡别名的添加和绑定》RHEL6

网卡别名的配置: 这个和ifconfig临时修改网卡ip 差不多,但是不一样.都是临时的,只要重启电脑就没了. 配永久的ip别名: cp ifcfg-eth0  ifcfg-eth0:0 vim ifcfg-eth0:0 这样做也能出来,对不对就不知道了 重启网络就ok了 网卡的绑定:虚拟机为2块网卡,一块eth0 一块eth1. Linux支持将多块物理网卡绑定为一张逻辑网卡,通过绑定使两个或更多个网络接口作为一个网络接口,从而增加带宽和 / 提供冗余性. 选择 Linux 以太网绑定模式 ?

Linux网卡别名

网卡别名是什么 IP别名就是一张物理网卡上配置多个IP,实现类似子接口之类的功能.从网络协议的角度来讲,下层总是为上层提供服务,一块网卡的MAC地址只要一一对应上层的一个IP地址,并且这个逻辑关系是合理的,就算成立,而上层并不在乎下层是什么,比如一个IP地址可以对应多个应用层端口,不也是这个道理吗?在linux作DHCP服务器向多网段分配不同IP或者linux作路由器等时可能需要在一个物理接口上配置多个IP地址. 工作原理 这里要注意的是:网卡别名并不提供负载均衡和冗余的功能,它的终端只是由一块

[转] LINUX下网卡别名多IP

在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法. 1.单网卡绑定多IP在Redhat系列中的实现方法 假设需要绑定多IP的网卡是eth0,请在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件, 内容样例为: DEVICE=”eth0:0″ IPADDR=”192.168.0.2″ BROAD

Linux双网卡绑定配置

Linux双网卡绑定配置                                       环境介绍 Linux Redhat 6.5.4张网卡 需求 4张网卡两两绑定,4张网卡分别是eth0/eth1/eth2/eth3 其中eth0/eth2绑定(bond0).eth1/eth3绑定(bond1) 原理介绍 什么是bind? 将多块网卡虚拟成为一块网卡的技术,通过bond技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的ip地址. 双网卡工作原理 网卡工作在混杂(promi

虚拟网卡实验:网卡别名 与 bond多网卡模式

一.网卡别名:多IP 绑定一个 Interface 将多个IP地址绑定到一个NIC上 网卡别名: eth0:1 eth0:2 eth0:3 示例:单网卡多IP 1.关闭NetworkManager服务 service NetworkManager stop service NetworkManager status  查看启动状态 chkconfig NetworkManager off   关闭开机自启动 2.在/etc/sysconfig/network_scripts 下,建立别名配置文件

Centos6环境网卡别名和bond详解

一. 网卡别名 1.对虚拟主机有用 2.可以将多个IP地址绑定在一个NTC上 eth0:1 eth0:2 eth0:3 3.ifconfig命令 ifconfig eth0:0 192.168.1.100/24 up  临时修改网卡的IP地址和子网掩码,重启网络服务后失效 4.ip命令 ip addr add 172.16.1.2/16 dev eth0 2.配置别名时,会有和NetworkManager服务不兼容情况,要做以下操作: 临时关闭NetworkManager服务: service

RHEL6子接口及双网卡绑定配置

RHEL6子接口及双网卡绑定配置 1.子接口配置 Linux就是一台路由器,只要开启路由转发功能.CISCO中,我们知道子接口的配置为fa0/0.1,那么在Linux中,子接口如何配置呢? 虚拟主机可以配置多大254个子接口,下面且看子接口的配置: 创建子接口配置文件 [[email protected] ~]# cd /etc/sysconfig/net netconsole       network          networking/      network-scripts/ [[

网卡别名

1.网卡别名是什么 IP别名就是一张物理网卡上配置多个IP,实现类似子接口之类的功能.从网络协议的角度来讲,下层总是为上层提供服务,一块网卡的MAC地址只要一一对应上层的一个IP地址,并且这个逻辑关系是合理的,就算成立,而上层并不在乎下层是什么,比如一个IP地址可以对应多个应用层端口,不也是这个道理吗?在linux作DHCP服务器向多网段分配不同IP或者linux作路由器等时可能需要在一个物理接口上配置多个IP地址. 2.工作原理图 这里要注意的是:网卡别名并不提供负载均衡和冗余的功能,它的终端