一、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确实好用。

linux 查看绑定网卡命令,nmcli命令使用以及网卡绑定bond相关推荐

  1. linux查看日志的几种命令,Linux查看日志三种命令(转载)

    第一种:查看实时变化的日志(比较吃内存) 最常用的: tail -f filename (默认最后10行,相当于增加参数 -n 10) Ctrl+c 是退出tail命令 其他情况: tail -n 2 ...

  2. linux查看php日志命令,linux查看日志的三种命令是什么,linux查看进程命令

    linux查看日志的三种命令是什么Linux查看日志的三个命令是什么,linux查看日志有三个命令:1.查看实时更改日志,代码为[tail-f filename]:2.搜索关键字附近的日志代码为[ca ...

  3. linux查看jar包内容命令,【达内Java教程】用linux查看jar包内文件命令

    深圳java培训(sz.java.tedu.cn)专家教你用linux查看jar包内文件命令 jar vtf fileName.jar 用法: jar {ctxui}[vfm0Me] [jar-fil ...

  4. linux查看ip等信息的命令

    linux查看ip等信息的命令 : ifconfig dos查看ip等信息的命令:ipconfig

  5. Linux查看本机局域网IP命令

    Linux查看本机局域网IP命令 . UBuntu 系统下 按Ctrl+Alt+T 唤出终端 在终端输入: ifconfig 命令 点击回车 就可以看到自己电脑在局域网的IP地址了 图中第二行 ine ...

  6. linux命令查看内存数据,Linux 查看内存条数据和大小命令

    查看内存条数据和大小命令: sudo dmidecode | grep -A16 "Memory Device$" 需要root 权限.. [life@localhost mp3b ...

  7. Windows 和 Linux 查看和关闭端口常用命令

    title: Windows 和 Linux 查看和关闭端口常用命令 date: 2022-03-11 09:35:48 tags: Linux Windows categories: 开发实践 co ...

  8. linux查看当前环境信息,Linux查看环境变量当前信息命令

    Linux是一个多用户的操作系统.每个用户登录系统后,都会有一个专用的运行环境.通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义. 在Windows下,查看环境变量的命令是: ...

  9. linux查看内存的几个命令

    linux查看内存的几个命令基于编解码视频芯片 free命令详解 top命令详解 cat /proc/cmdline命令详解 cat /proc/media-mem命令详解 free命令详解 参考[L ...

最新文章

  1. 电子技术基础三_电子技术基础
  2. MYSQL WHERE 当一个字段不为NULL的时候使用另一个字段判断
  3. python怎么写手机按钮_python与mel的button写法
  4. 记录一次react项目配置过程
  5. 最近在InfoQ上翻译的几篇文章
  6. 解决Navicat for MySQL 连接 Mysql 8.0.13出现1251- Client does not support authentication protocol 错误
  7. 【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)
  8. 安卓虚拟键盘_干货分享:推荐几款性能不错的安卓模拟器
  9. 以“万物零售”为主题第十届中国网上零售年会
  10. uniapp打包app 踩坑记录
  11. 数据分析-思维分析逻辑day02
  12. python根据日期生成动态密码
  13. linux安装 cuda、cdunn、numpy、scipy、theano、pylearn2、scikit-neuralnetwork
  14. jquery实现HTML复选框变单选框
  15. 编译原理-语法制导翻译、后缀表达式、三元、四元
  16. 软件设计之——“高内聚低耦合”
  17. c语言算数运算,C语言:算数运算符
  18. 亿万级赛道谁主沉浮,国潮品牌直播电商如何破局增长?
  19. PLC实验系列:十字路口交通灯的设计(运用比较指令)
  20. 大连理工大学网络综合实验三:交换机端口配置与生成树协议配置

热门文章

  1. vscode 插件推荐 →_→ escook-translate和escook-theme
  2. 思睿嘉得数据泄露防护系统DLP如何卸载?(无需卸载口令的方法)
  3. OSChina 周五乱弹 ——出轨率最高的竟是IT男
  4. 关于TPS5430电压输出不正常 的原因
  5. java整除_java编程判断一个整数能否被9整除
  6. 轻而易举的攻过tomcat
  7. Windows Phone 7 开发系列教程之 初识Windows Phone 7,环境配置
  8. html5全景代码,HTML5 Canvas实现360度全景图的示例代码
  9. SKYPE算什么!android也有视频通讯应用!
  10. 利用 Javascript 通过几个循环操作打印一个棱形