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

nmcli connection modify eth0-1 +ipv4.address 2.2.2.2/24
我们也可以对连接文件进行修改
命令修改与配置文件对照表:
修改连接配置后我们要重新加载才能生效
nmcli connection reload
nmcli connection down eth0-1
nmcli connection up eth0-1
二、网卡绑定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模式
因为我们还没有在bond连接中绑定网卡所以显示为×××
nmcli connection add type bond-slave ifname eth2 master bond0
nmcli connection add type bond-slave ifname eth3 master bond0
我们添加两块网卡到bong0中
启用这两个连接
cat /proc/net/bonding/bond0
查看bond状态
我们来测试下bond

我们先查看下bond0的ip,然后再在另一个终端上ping
我们先down掉一个网卡

down掉eth1后依旧可以ping通
总结:
我们使用nmcli只需简单的几部就可以做好bond了,由此可见bond确实好用。
nmcli命令使用以及网卡绑定bond的更多相关文章
- Linux双网卡绑定bond详解--单网卡绑定多个IP
Linux双网卡绑定bond详解 1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及 ...
- Debian 16.04 配置双网卡绑定bond
Debian 16.04 配置双网卡绑定bond Debian 16.04 bonding多网卡配置 安装负载均衡软件 fenslave root@ubuntu:~# apt-get install ...
- Linux下双网卡绑定bond配置实例详解
本文源自:http://blog.itpub.net/31015730/viewspace-2150185/ 一.什么是bond? 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡冗余,带宽 ...
- Linux 多网卡绑定bond
mode=0:负载均衡模式,增加带宽,两块网卡使用的是同一个MAC地址,所以必须配置网卡相连的交换机,这两个端口应采用聚合方式. mode=1:主备模式,一个线断了,另一条自动备援. mode=6:负 ...
- CentOS下多网卡绑定bond/多网卡聚合
网卡bond我直接理解成网卡聚合了,就是把多张网卡虚拟成1张网卡,出口时,这张网卡无论哪个断线都不影响网络,入口时,需要结合交换机的端口聚合功能实现和网卡配置的bond模式进行负载均衡.bond需要在 ...
- Linux下多网卡绑定bond及模式介绍
[介绍] 网卡bond一般主要用于网络吞吐量很大,以及对于网络稳定性要求较高的场景. 主要是通过将多个物理网卡绑定到一个逻辑网卡上,实现了本地网卡的冗余,带宽扩容以及负载均衡. Linux下一共有七种 ...
- 36、网卡绑定bond
注意:虚拟机需要网卡模式为同一模式,否则无法进行通信: 36.1.mode0(平衡负载模式): 平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术. ...
- Linux双网卡绑定bond详解
参考资料: 1.https://blog.csdn.net/shengerjianku/article/details/79221886
- Linux多网卡绑定(bond)及网络组(team)
Linux多网卡绑定(bond)及网络组(team) 很多时候,由于生产环境业务的特殊需求,我们需要对服务器的物理网卡实施特殊的配置,从而来满足不同业务场景下对服务器网络的特殊性要求.如高并发的网 ...
随机推荐
- 不二之选_iTOP-4418开发板研发之旅_缩短开发时间
迅为iTOP-4418开发板拿到手?用能力印证梦想,培养你的研发路程,能力·思维 一.板载WIFI蓝牙.4G.GPS.千兆以太网接口.串口.重力加速度计等. 二.自选模块支持500W摄像头自动对焦摄像 ...
- 微信小程序 Button控件 点击传值给JavaScript
直接看例子吧: WXML:直接看Button,用“data-”(data-total)传值,后台如何获取,继续看下面JS代码. <view class="infothird" ...
- having的用法
转载:http://blog.csdn.net/oathevil/article/details/5521757 where和having: “Where” 是一个约束声明,使用Where来约束来自于 ...
- RequireJS - 个人小入门
quirejs : http://www.requirejs.cn/ 叶小钗 : http://www.cnblogs.com/yexiaochai/p/3214926.html app.js 展示 ...
- Python 爬虫 某迅漫画 selemiun+plantomJS
目标站点需求分析 爬取某迅漫画到本地 涉及的库 selenium, PhantomJS time,urllib.request,os,random 模拟滑动窗口,获取完整网页 保存到文件中 获取本地h ...
- SpringMVC的入门示例
1.配置流程说明 第一步:导入包 第二步:构建一个请求,编写请求页面 第三步:配置核心控制器 第四步:构建一个业务控制器 第五步:编写Spring配置文件 第六步:编写一个返回页面 2.配置流程--- ...
- ubuntu的磁盘扩容
前言:以前项目的人给ubuntu虚拟机分配磁盘空间走的默认,导致后期/根和swap空间跟不上需求,需要扩容 流程如下: 1.先添加块硬盘,命令行输入fdisk -l,会发现多了个/dev/sdb(vd ...
- pta总结2
7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...
- Make Eudict for reviewing example sentences
Recently, I've started an activity of recording typical and nice English sentences from dictionaries ...
- Python3中的真值测试
1. 真值测试 所谓真值测试,是指当一种类型对象出现在if或者while条件语句中时,对象值表现为True或者False.弄清楚各种情况下的真值对我们编写程序有重要的意义. 对于一个对象a,其真值定义 ...