linux虚拟网络接口---bonding配置

在日常生活中,大家会遇到这种情况,在家里可以自动获取ip地址,上班的时候公司可能会禁网,所以会提供一个私网地址供大家使用,但是需要大家手连接网络,比较麻烦。这就需要为设备配置两套方案,设置一个网络接口来回切换,就会很方便了。

一、首先了解一下bonding的定义

bonding是通过将同一设备的多个物理网卡绑定到一个虚拟网卡上,再对外提供连接。对于外端来说,多个物理网卡共享虚拟网卡的IP和mac地址,也就表现为一个网卡设备。通过bonding技术可以实现高可用或者负载均衡。

bonding的工作模式:

Mode 0    轮转策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
       Mode 1 (active-backup)活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。 为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
       Mode 3 (broadcast)广播策略:在所有的slave接口上传送所有的报文,提供容错能力

二、Bonding的配置(centos6)

1.手工添加2块网卡,并设置到同一个vmnet中(vmnet3)。用ifconfig查看两个网卡是否加入进去

[[email protected] network-scripts]#ifconfig

eth2      Link encap:Ethernet  HWaddr 00:0C:29:8F:26:2A
           UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
           RX packets:546 errors:0 dropped:0 overruns:0 frame:0
           TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:164116 (160.2 KiB)  TX bytes:938 (938.0 b)

eth3      Link encap:Ethernet  HWaddr 00:0C:29:8F:26:2A
           UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
           RX packets:552 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:164476 (160.6 KiB)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback
           inet addr:127.0.0.1  Mask:255.0.0.0
           inet6 addr: ::1/128 Scope:Host
           UP LOOPBACK RUNNING  MTU:65536  Metric:1
           RX packets:4 errors:0 dropped:0 overruns:0 frame:0
           TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:240 (240.0 b)  TX bytes:240 (240.0 b)

2.创建bonding设备bond0的配置文件

[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[root@centos6 network-scripts]# cp ifcfg-eth0 ifcfg-bond0
[[email protected] network-scripts]# vim ifcfg-bond0
 DEVICE=bond0
 ONBOOT=yes
 BONDING_OPTS="miimon=100 mode=1"
 IPADDR=10.8.8.8
 NETMASK=255.255.255.0
 NM_CONTROLLED=no

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

mode 是bonding的模式

3.配置slave的配置文件

 [[email protected] network-scripts]# cp ifcfg-eth0 ifcfg-eth2
 [[email protected] network-scripts]# vim ifcfg-eth2
 DEVICE=eth2
 TYPE=Ethernet
 ONBOOT=yes
 SLAVE=yes
 MASTER=bond0
 NM_CONTROLLED=no

[root@centos6 network-scripts]# cp ifcfg-eth0 ifcfg-eth3

[root@centos6 network-scripts]# vim ifcfg-eth3
 DEVICE=eth3
 TYPE=Ethernet
 ONBOOT=yes
 SLAVE=yes
 MASTER=bond0
 NM_CONTROLLED=no

4.重启网络服务

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

5.查看bonding的状态

[[email protected] network-scripts]#cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

 Bonding Mode: fault-tolerance (active-backup)
 Primary Slave: None
 Currently Active Slave: eth2
 MII Status: up
 MII Polling Interval (ms): 100
 Up Delay (ms): 0
 Down Delay (ms): 0

Slave Interface: eth2
MII Status: up
 Speed: 1000 Mbps
 Duplex: full
 Link Failure Count: 0
 Permanent HW addr: 00:0c:29:8f:26:2a
 Slave queue ID: 0

Slave Interface: eth3
 MII Status: up
 Speed: 1000 Mbps
 Duplex: full
 Link Failure Count: 0
 Permanent HW addr: 00:0c:29:8f:26:20
 Slave 

5. 更改bond0工作模式

直接修改bond0配置文件中的mode,重启网络服务即可

6.如何删除bond0(先关再删)

[[email protected] network-scripts]#ifconfig bond0 down
 [[email protected] network-scripts]#rm –f  ifcfg-bond0

删除eth2里面的master,及slave

三、centos7的bonding配置(centos7中的补齐命令比centos6更强)

1.加2个网卡,在同一个vmnet中。

2.使用nmcli管理工具

1)创建逻辑网卡bond0

[[email protected] network-scripts]#nmcli con add type bond con-name bond0 ifname bond0 mode active-backup

Connection ‘bond0‘ (c505387c-6f85-4af5-bf50-7958d8cf39ef) successfully added.

#add 相当与自动生成配置文件

[[email protected] network-scripts]#nmcli con modify bond0 ipv4.addresses 20.20.20.20/24 ipv4.dns 8.8.8.8 ipv4.gateway 20.20.20.1 ipv4.method manual  connection.autoconnect yes;--设定bond0 ip

2)添加从属网路接口(增加slave的方案给两块新加的网卡)

[[email protected] network-scripts]# nmcli connection add con-name slave-38 ifname ens38 type ethernet master bond0
 Connection ‘slave-38‘ (97708606-56ac-48aa-9014-c23a376c2379) successfully added.
 [root@centos7 network-scripts]# nmcli connection add con-name slave-39 ifname ens39 type ethernet master bond0
 Connection ‘slave-39‘ (608dc1a0-9407-45be-a720-4c415b4b8488) successfully added.

3.直接激活bond0

[[email protected]  network-scripts]# nmcli connection up bond0

4.更改bond0模式

[[email protected]]# nmcli connection modify bond0 mode broadcast

5.删除同centos6

四、创建网络组Networking Teaming实现类似功能

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量。但网络组不同于旧版中bonding技术,提供更好的性能和扩展性。

1.创建网络组team0

[[email protected] network-scripts]# nmcli connection add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}‘
 Connection ‘team0‘ (9a5ab96b-3cd3-412d-9532-1327c035367c) successfully added.

2.添加从属网路接口

[[email protected] network-scripts]# nmcli connection add con-name slave-38 ifname ens38 type team-slave master team0
 Connection ‘slave-38‘ (e5182e70-86a6-480f-bc14-2d2055bfab9f) successfully added.

[root@centos7 network-scripts]# nmcli connection add con-name slave-39 ifname ens39 type team-slave master team0
 Connection ‘slave-39‘ (e31b4880-0095-4322-af49-63094bbe873d) successfully added.

3.设置team0的ip

[[email protected] network-scripts]# nmcli connection modify team0 ipv4.method manual ipv4.addresses 20.20.20.20/24 connection.autoconnect yes 

4.激活team0及slave

[[email protected] network-scripts]# nmcli connection up team0
 Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)

[root@centos7 network-scripts]# nmcli connection up slave-38
 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16)
 [root@centos7 network-scripts]# nmcli connection up slave-39
 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/18)

5.删除team0

[[email protected] network-scripts]# nmcli connection down team0
 Connection ‘team0‘ successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
 [root@centos7 network-scripts]# nmcli connection down slave-38
 Connection ‘slave-38‘ successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16)
 [root@centos7 network-scripts]# nmcli connection down slave-39
 Connection ‘slave-39‘ successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19)

[root@centos7 network-scripts]# rm -f ifcfg-slave-3*
 [[email protected] network-scripts]# rm -f ifcfg-team0 

实验:使用nmcli为网卡配置2套方案,一个Dhcp一个静态获取

1.改旧方案的名称(非必须)

[[email protected] network-scripts]# nmcli connection modify ens34 connection.id home

2.将home的方案设置的自动获取ipv4地址

[[email protected]]#nmcli connection modify home ipv4.method auto

3.使方案生效

[[email protected] network-scripts]#nmcli connection up home

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)

查看方案

[[email protected] network-scripts]# nmcli connection show
NAME     UUID                                  TYPE      DEVICE
ens33    dadb8960-c959-47f5-addb-13f8e439d72d  ethernet  ens33
home  482d5ab5-ac7d-4467-ac09-65440b174331  ethernet  ens34
virbr0   1eee137a-f1ea-4fe8-b387-5d0561d76aca  bridge    virbr0 

4.新增方案名为office

[[email protected] network-scripts]# nmcli connection add con-name office type ethernet ifname ens34

5.为新增的方案进行配置静态地址

[[email protected] network-scripts]# nmcli connection modify office ipv4.method manual connection.autoconnect yes ipv4.addresses 8.8.8.8/24 ipv4.gateway 8.8.8.1 ipv4.dns 4.4.4.4

6.切换到新方案,使之生效

[[email protected] network-scripts]# nmcli connection up office

查看方案

[[email protected] network-scripts]# nmcli connection show
NAME     UUID                                  TYPE      DEVICE
ens33    dadb8960-c959-47f5-addb-13f8e439d72d  ethernet  ens33
office  482d5ab5-ac7d-4467-ac09-65440b174331  ethernet  ens34
virbr0   1eee137a-f1ea-4fe8-b387-5d0561d76aca  bridge    virbr0
home2ae365b6-ab9a-4882-8831-e38a362881e2  ethernet  --     

如果手工修改了配置文件,如下

[[email protected] network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-office
IPADDR=8.8.8.8
PREFIX=24
GATEWAY=8.8.8.1
DNS1=4.4.4.4

则需要使用nmcli connection reload来重读后才能够nmcli connection up

删除方案

[[email protected] network-scripts]# nmcli connection delete office

原文地址:https://www.cnblogs.com/f-h-j-11-7/p/9498212.html

时间: 2024-10-10 07:19:29

linux虚拟网络接口---bonding配置的相关文章

linux下网卡bonding配置

章节 bonding技术 centos7配置bonding centos6配置bonding 一.bonding技术 bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量.实现网络冗余.负载等功能,有很多优势. bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动).使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持.  modinfo bo

linux 关于网络接口及配置工具说明

在Linux操作系统中配置网络接口,一般是通过网络配置工具实现的,但最终目的还是通过网络配置工具来达到修改与网络相关的配置文件而起作用的.由此说来,我们配置网络可以直接修改配置文件. 比如网络网络接口(网卡)的IP地址.子掩码.网关,在Slackware 中只需修改一个配置文件就行了 /etc/rc.d/rc.inet1 ,而在 Redhat/Fedora 等或以Redhat/Fedora 为基础的发行版中,一般要涉及到好几个文件,比如包括 /etc/sysconfig/network-scri

linux网络配置相关命令、虚拟网络接口eth0:0

网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口是 pppX,比如ppp0等: 机器中所有可用网卡.名字.配置文件: dmesg | grep eth :可以看到系统启动时,网卡启动的信息及相应网卡的名字,然后就可以手动添加相应的/etc/sysconfig/network-scripts/ifcfg-ethX文件对网卡进行配置 ifconfig

linux下一个网卡配置多个ip【虚拟ip】

Linux下配置网卡ip别名何谓ip别名? 用windows的话说,就是为一个网卡配置多个ip. 什么场合增加ip别名能派上用场? 布网需要.多ip访问测试.特定软件对多ip的需要...and so on. 下面通过几个例子简单介绍一下如何使用ifconfig命令给网卡配置ip别名. 一.首先为服务器网卡配置静态ip地址 #ifconfig eth0 192.168.6.99 netmask 255.255.255.0 up eth0                     //机器的第一个网卡

【I am a coder】Linux虚拟主机配置终极篇

Linux虚拟主机配置 一.概述 虚拟主机(Virtual Host),又称虚拟服务器.主机空间或是网页空间,是一种网络技术,可以让多个主机名称,在一个单一的服务器上运作,而且可以分开支持每个单一的主机名称.虚拟主机可以运行多个网站或服务.虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器.其技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTP.FTP.EMAIL等多项服务,将一台服务器的某项或者全部服务内容逻辑划分为多

Linux网络配置之虚拟网卡的配置(ubuntu)

关于图形界面的配置,我这里就不多介绍了,这个很简单.这里介绍的是如何通过修改配置文件来实现虚拟网卡. 首先介绍ubuntu(我这里使用的是ubuntu-16.04)下虚拟网卡的配置 1.先用ifconfig查看当前的网卡配置 ens33 Link encap:以太网 硬件地址 02:0c:29:c6:be:c7 inet6 地址: fe80::20c:29ef:fec6:bec7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:

linux(十二)___Apache服务器用户认证、虚拟主机的配置

创建xiangkejin  zhangsan两个用户 可看见文件中创建的两个用户: 建立虚拟目录并配置用户认证 ①建立虚拟目录 /xiangkejin ②在Apache的主配置文件httpd.conf文件中,加入以下语句 Alias /xiangkejin "/xkj"<Directory "/xkj"> AuthType Basic Authname "This is a private website" AuthUserFile

Linux网络配置之虚拟网卡的配置(ubuntu 16.04)

首先介绍ubuntu(我这里使用的是ubuntu-16.04)下虚拟网卡的配置 1.先用ifconfig查看当前的网卡配置 ens33 Link encap:以太网 硬件地址 02:0c:29:c6:be:c7 inet6 地址: fe80::20c:29ef:fec6:bec7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1 接收数据包:215 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:256 错误:0 丢弃:0

Linux双网卡绑定配置

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