nmcli命令使用以及网卡绑定bond

摘要:
直到今天,当我学习nmcli命令时,我发现配置网卡非常简单。我妈妈再也不用担心我不会配置网卡了。当我们使用nmcli命令配置网卡时,如果忘记了语法命令,我们可以使用TAB键来完成命令。
一、nmcli命令

1.什么是nmcli

以前我配置网卡的时候都要打vim /etc/sysconfig/network-scripts/ifcfg-eth0这么一长串命令,有很多配置名字还记不住就需要去看模板,好不容易配置完了,还得去重启网卡。直到今天我知道了这个nmcli命令,才发现原来配置网卡可以这么简单,妈妈再也不用担心我不会配置网卡了。
2.nmcli的用法
命令语法:

nmcli[ OPTIONS ] OBJECT { COMMAND | help }
值得一提的是OBJECT和COMMAND可以用全程也可以用简称,最少可以只用一个字母,但我们一般用头三个字母,这样不容易搞错。
nmcli命令使用以及网卡绑定bond
我们使用nmcli命令去配置网卡时如果忘记了语法命令是可以用TAB键补齐命令的。
nmcli命令使用以及网卡绑定bond
OBJECT里我们平时用的最多的就是connection和device,这里就跟大家简单区分一下connection和device
connection是连接,偏重于逻辑设置
device叫网络接口,是物理设备
多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。
这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应的connection。
下面是一些nmcli的常用命令介绍
nmcli device show 查看所有网卡设备信息
show 后跟网卡名是查看某个网卡的详细信息
nmcli命令使用以及网卡绑定bond
nmcli connection show 查看所有连接
同理 show 后跟上连接名可以查看连接的详细信息
不过connection show 后跟上 -a 参数是仅显示活动的连接
nmcli命令使用以及网卡绑定bond
像图中home它的DEVICE选项为空,说明没有网卡绑定,所以并未生效。
nmcli device status
列出 NetworkManager 识别出的设备列表及他们的状态
nmcli命令使用以及网卡绑定bond
nmcli general status
将 NetworkManager 的所有状态都打印出来
nmcli命令使用以及网卡绑定bond
在centos7中默认的网卡名变为了ens..,我们可以使用nmcli来改成我们熟悉的样子(更改配置文件名):
nmcli命令使用以及网卡绑定bond
nmcli connection add con-name config-eth0-1 ifname eth0 type ethernet 
创建一个网卡连接配置文件,这里con-name后跟的是新建的配置文件名称,ifname后跟的是接口名称,type为ethernet,ipve默认为dhcp
nmcli命令使用以及网卡绑定bond
命令完成后会在/etc/sysconfig/network-scripts/目录下产生一个名为ifcfg-config-eth0-1的配置文件
nmcli命令使用以及网卡绑定bond
nmcli connection up config-eth0-1
nmcli connection down config-eth0-1
对创建好的配置文件我们可以用up,down来启用和禁用
nmcli命令使用以及网卡绑定bond
nmcli connection delete config-eth0-1
删除连接(删除的连接并未被启用)
nmcli命令使用以及网卡绑定bond
nmcli connection add con-name eth0-1 type ethernet ifname eth1 autoconnect yes ip4 10.1.252.60/24 gw4 10.1.0.254
我们也可以使用nmcli来创建一个静态IP网络连接配置
这里的autoconnect 为开机是否自启,yes为开机自启
nmcli命令使用以及网卡绑定bond
我们启用eth0-1看看IP是否变化
nmcli命令使用以及网卡绑定bond
nmcli命令使用以及网卡绑定bond
nmcli connection modify eth0-1 +ipv4.address 2.2.2.2/24

我们也可以对连接文件进行修改
命令修改与配置文件对照表:
nmcli命令使用以及网卡绑定bond
修改连接配置后我们要重新加载才能生效
nmcli connection reload 
nmcli connection down eth0-1
nmcli connection up eth0-1
nmcli命令使用以及网卡绑定bond

二、网卡绑定band

1.什么是bond
网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术。
2.bond的模式种类
常见的bond模式有七种:
Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。
Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
Mode=6(balance-alb) 在5的tlb基础上增加了rlb。)

3.bond的创建方法
这里我们还是用nmcli来创建bond
我们以bond1模式为例
首先我们创建一个连接配置文件
nmcli connection add con-name bond0 type bond ifname bond0 mode active-backup
mode 后跟的bond模式
nmcli命令使用以及网卡绑定bond
因为我们还没有在bond连接中绑定网卡所以显示为×××
nmcli connection add type bond-slave ifname eth2 master bond0
nmcli connection add type bond-slave ifname eth3 master bond0
我们添加两块网卡到bong0中
nmcli命令使用以及网卡绑定bond
启用这两个连接
nmcli命令使用以及网卡绑定bond
cat /proc/net/bonding/bond0
查看bond状态
nmcli命令使用以及网卡绑定bond
我们来测试下bond
nmcli命令使用以及网卡绑定bond
nmcli命令使用以及网卡绑定bond
我们先查看下bond0的ip,然后再在另一个终端上ping
我们先down掉一个网卡
nmcli命令使用以及网卡绑定bond
nmcli命令使用以及网卡绑定bond
down掉eth1后依旧可以ping通
总结:
我们使用nmcli只需简单的几部就可以做好bond了,由此可见bond确实好用。

免责声明:文章转载自《nmcli命令使用以及网卡绑定bond》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nginx日志统计分析-shellangular写的一个导航栏下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

转:CentOS 7使用nmcli配置双网卡聚合LACP

进入CentOS 7以后,网络方面变化比较大,例如eth0不见了,ifconfig不见了,其原因是网络服务全部都由NetworkManager管理了,下面记录下今天下午用nmcli配置的网卡聚合,网络上资料比较多,这里仅记录以备忘,更详细的说明可以参考rhel7和centos7使用nmcli命令管理配置网络。 CentOS7使用ip link代替ifcon...

如何在Ubuntu 20.04上安装Apache ZooKeeper

ZooKeeper是Apache软件基金会的一个软件项目,它提供了一个用于构建分布式应用的高性能共享数据服务。它被一个集群用来维护共享数据,并采用强大的同步技术。它提供了一个简单的接口,用于管理配置信息、命名、分布式同步和提供组服务。在本文中,我们将向您展示如何在Ubuntu 20.04服务器上安装Apache ZooKeeper。先决条件一台运行Ubun...

运行 FreeSWITCH

读到本章,你应该对 FreeSWITCH 有了一个比较全面的了解,迫切地想实验它强大的功能了。让我们从最初的运行开始,一步一步进入 FreeSWITCH 的神秘世界。 命令行参数 一般来说,FreeSWITCH 不需要任何命令行参数就可以启动,但在某些情况下,你需要以一些特殊的参数启动。在此,仅作简单介绍。如果你知道是什么意思,那么你就可以使用,如果...

esp-12e折腾

寒假前就从x宝买了esp-12e以及esp32s,当时似乎是想给自己的蓝牙开门升级换代?esp32s拿来过度linux? 寒假放在书包拿回去以为有时间会玩玩,没想到一直耽搁到现在。前两天才拿出来,网上搜了搜完全不是那么会事,反映了自己购物的时候多有不理智 不知道为什么,官方最新版本里面直接把esp12e的文档给删除了,估计是设计有缺陷?只留下了esp12f...

linux 简介

 linux 介绍(1)Linux根据市场需求不同,基本分为两个方向: 1)图形化界面版:注重用户体验,类似window操作系统,但目前成熟度不够 2)服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们假设服务器的最佳选择 (2)Linux根据原生程度,又分为两种: 1)内核版本:在Linus领导下的内核小组开发维护的系统...

mysql常用语句、命令(增删改查功能)

修改数据库的字符集mysql>use mydbmysql>alter database mydb character set utf8;创建数据库指定数据库的字符集mysql>create database mydb character set utf8; 查看database的字符集! show variables like 'coll...