1.NMCLI(NetworkManager Command Line Tool):基于命令行的网络管理工具。
RedHat Enterprise Linux 7中默认的网络服务由NetworkManager提供,这是动态控制及配置网络的守护进程,它用于保持当前网络设备及连接处于工作状态,同时也支持传统的 ifcfg 类型的配置文件。
NetworkManager是管理和监控网络设置的守护进程,设备即就是网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置文件,但默认只有一个配置文件连接生效。NetworkManager 可以用于以下类型的连接:Ethernet、VLANS、Bridges、Bonds、Team、Wi-Fi、mobile boradband以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名、IP 地址、静态路由、DNS、VPN连接以及很多其它的特殊参数。
NMCLI可用来控制 NetworkManager,本章我们主要是来了解NMCLI针对Team网卡聚合链路的配置。
2.什么是网卡聚合链路?
链路聚合是指将两个或多个数据信道结合成一个单个的信道,该信道以一个单个的更高带宽的逻辑链路出现。链路聚合一般用来连接一个或多个带宽需求大的设备,例如连接骨干网络的服务器或服务器群
3.了解Team:
Team也是一种链路聚合的方式,Team最多支持8块网卡进行聚合

Team网卡聚合支持模式有:
广播( broadcast ) -容错,传输来自所有端口的数据包;
轮询( roundrobin )-以轮循的模式进行调度传输所有端口的数据包,即每次调度执行i = (i + 1) mod n,并选出第i块网卡进行数据包的传输。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度;
主备(activebackup )-主备模式这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输;
负载均衡(loadbalance)-将数据分摊到多个操作单元上进行执行,监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡。

4.Team配置网卡聚合链路的优点:

高可用
负载均衡

5.配置team高可用:
5.1查看本地网卡的情况:

[root@localhost ~]# nmcli device show
[root@localhost ~]# nmcli device status


5.2查看team配置的示例文件:

[root@localhost ~]# cd /usr/share/doc/teamd-1.17/example_configs/
[root@localhost example_configs]# ll

[root@localhost example_configs]# vim activebackup_arp_ping_1.conf


5.3Linux操作系统下team的配置操作(实验环境是准备三块网卡,将其中的两块网卡进行绑定测设,team网卡聚合模式为主备模式,注意要绑定的网卡的网络工作方式必须是一致的,本案例中我进行绑定的两块网卡是仅主机模式):

#选择好链路聚合配置模型
#取用以下内容
"runner":       {"name": "activebackup"}
#创建team 0设备和team会话
[root@localhost ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"} }'             //con-name指定新添加的会话名,ifname指定针对哪一个设备添加新的会话
成功添加的连接 'team0'(1f028006-2f2e-4c93-bcd2-43e4f1ecbfdc)。
#查看创建好的team0会话
[root@localhost ~]# nmcli connection show

#修改team0会话的IP地址和网关及dns
[root@localhost ~]# nmcli connection modify team0 ipv4.addresses 192.168.10.222/24
[root@localhost ~]# nmcli connection modify team0 ipv4.gateway 192.168.10.1
[root@localhost ~]# nmcli connection modify team0 ipv4.dns 114.114.114.114
#在这里我们也可以通过以下命令来完成静态配置ip地址信息等一系列配置内容
[root@localhost ~]# nmcli connection modify team0 ipv4.addresses 192.168.10.222 ipv4.gateway 192.168.10.1 ipv4.dns 114.114.114.114 +ipv4.dns 8.8.8.8 ipv4.method mannul connection.autoconnect yes    //注意添加第一个dns服务器地址时要用+连接,ipv4.method mannul代表静态配置,connection.autoconnect yes代表网卡配置信息开机自动启动
#添加物理设备到team0
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port1 ifname eno33554992 master team0
成功添加的连接 'team0-port1'(7cfcb33a-cbcc-4a50-9730-222ff2a84f40)。
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port2 ifname eno50332216 master team0
成功添加的连接 'team0-port2'(ac74f69b-16cc-4ba9-b5c0-4363b313f4ef)。
#激活从设备
[root@localhost ~]# nmcli connection up team0-port1
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@localhost ~]# nmcli connection up team0-port2
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/8)
#激活主设备
[root@localhost ~]# nmcli connection up team0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
#查看启动后的team0的状态
[root@localhost ~]# teamdctl team0 state

#查看team0获取到的ip地址信息
[root@localhost ~]# ifconfig


#通过ping命令进行测试

#停用一个从设备会话来检验效果
[root@localhost ~]# nmcli connection down team0-port1
测试分别停一个端口的变化/ 两个端口都停掉的变化/在停掉一个真实物理网卡的变化
停一个端口:


停两个端口:

停掉一个真实物理网卡:

停用之后也可以通过ping命令来进行测试:
停用一个端口、停用两个端口或是停用一块物理设备(注意这里实在虚机的环境上进行实验,所以停掉两个端口之后还能ping通,真实环境中是不可以的):


6.配置软件桥接

#创建一个软件桥接设备和会话
[root@localhost ~]# nmcli connection add type bridge con-name br1 ifname br1
#添加从设备和会话到桥接设备
[root@localhost ~]# nmcli connection add type bridge-slave con-name br1-port0 ifname eno33554984 master br1
#配置软件桥接网卡的IP地址、网关和地址获取方式
[root@localhost ~]# nmcli connection modify br1 ipv4.addresses 192.168.10.66/24
[root@localhost ~]# nmcli connection modify br1 ipv4.gateway 192.168.10.1
[root@localhost ~]# nmcli connection modify br1 ipv4.method manual
#启动从设备会话
[root@localhost ~]# nmcli connection up br1-port0
#启动桥接会话
[root@localhost ~]# nmcli connection up br1

7.配置team桥接
7.1配置team

#创建team1设备和team1会话

[root@localhost ~]# nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "activebackup"} }'

#添加物理设备到team1

[root@localhost ~]# nmcli connection add type team-slave con-name team1-port1 ifname eno33554984 master team1
[root@localhost ~]# nmcli connection add type team-slave con-name team1-port2 ifname eno50332208 master team1

#激活从设备

[root@localhost ~]# nmcli connection up team1-port1
[root@localhost ~]# nmcli connection up team1-port2

#激活主设备

[root@localhost ~]# nmcli connection up team1

#查看team状态

[root@localhost ~]# teamdctl team1 state

#断掉team1设备

[root@localhost ~]# nmcli device disconnect team1

#停用NetworkManager服务

[root@localhost ~]# systemctl stop NetworkManager.service         //网络管理服务

#禁止该服务开机启动(一般默认是开机自动启动)

[root@localhost ~]# systemctl disable NetworkManager.service

#切换到网卡配置目录

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

#编辑team1配置文件

[root@localhost network-scripts]# vim ifcfg-team1

#追加如下内容:

BRIDGE=brteam1

#编辑team1从设备配置文件/etc/sysconfig/network-scripts/ifcfg-team1-port1,只保留以下内容

NAME=team1-port1
UUID=01de42d1-7304-4ef8-8c62-93c405cd8474
DEVICE=eno33554984
ONBOOT=yes
TEAM_MASTER=team1
DEVICETYPE=TeamPort

#配置brteam1配置文件

[root@localhost network-scripts]# cat ifcfg-brteam1
DEVICE=brteam1                      //指定当前设备名称
ONBOOT=yes                          //开机自动启动
TYPE=Bridge                         //指定当前类型
IPADDR0=192.168.10.66               //桥之后会自动获取IP,防止冲突,手动添加一条
PREFIX0=24                          //掩码

#重启网络服务

[root@localhost ~]# systemctl restart NetworkManager
[root@localhost ~]# systemctl restart network            //重启网络服务

注意:一定要记住Linux中网卡配置文件在/etc/sysconfig/network-scripts/ifcfg-******路径下。

了解NMCLI网络管理工具以及使用NMCLI配置网络相关推荐

  1. RHEL8使用nmcli配置网络

    RHEL8网络配置 服务器常见网卡 查看/开启/关闭nmcli服务 查看网卡 ethool查看指定网卡信息 查看网卡的固件(Fireware)版本 通过lshw查看网卡总线 通过nmcli查看网卡信息 ...

  2. linux使用命令配置网络,使用nmcli命令配置网络

    使用nmcli命令配置网络 NetworkManager是管理和监控网络设置的守护进程,设备既就是网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置,但同时只有一个连接配置生效. 1 配 ...

  3. linux中nmcli命令配置网卡ip,Linux 使用nmcli配置网络

    Linux 使用nmcli配置网络 前提: 在虚拟机中添加一张桥接模式的网卡,如果是VirtualBox虚拟机中要shutdown才能添加. 1.启动NetworkManager工具,安装nmcli命 ...

  4. Linux命令-按照与使用 (3) centOS7 通过nmtui和nmcli图形配置网络服务

    一.通过nmtui配置网络参数 Linux系统配置网络参数的方式有很多种,其中最简单最直接的方式就是直接修改网卡配置文件,但这种方式也很容易出错,比如说IPADDR.NETMASK.GATEWAY等参 ...

  5. nmcli 命令配置网络

    nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配置由NetworkManager管理网络连接的方法.nmcli命令的基本格式为: nmcli [OPTIONS] OBJE ...

  6. Linux 使用nmcli配置网络

    Linux 使用nmcli配置网络 前提: 在虚拟机中添加一张桥接模式的网卡,如果是VirtualBox虚拟机中要shutdown才能添加. 1.启动NetworkManager工具,安装nmcli命 ...

  7. nmtui 和 nmcli 命令 配置网络

    目录 一.nmtui命令 – 修改静态IP地址 二.nmcli命令 – 基于命令行配置网卡参数 三.绑定两块网卡 1.创建出一个bond网卡 2.向bond0设备添加从属网卡 3.配置bond0设备的 ...

  8. linux没有nmtui这个命令,linux进阶之nmtui和nmcli配置网络

    CentOS7配置网络推荐使用NetworkManager服务(不推荐network服务). 图形化方式:nmtui或Applications->System Tools->Setting ...

  9. hyperic hq mysql_网络管理工具Hyperic HQ监控MySQL配置

    MySQL是最流行的开放源代码关系数据库系统.其性能和易用性,使其成为LAMP架构的中心支柱之一. MySQL监控一直是关注MySQL数据库性能和MySQL数据库运维管理技术人员的非常感兴趣话题.如何 ...

最新文章

  1. saltstack(十二)job管理
  2. VS2010 win32项目windows窗体程序 向导生成代码解析
  3. python基础语法第10关作业-Python基础语法习题一
  4. CentOS7 minimal 没有netstat命令
  5. B1007 素数对猜想
  6. [包计划] node-fs-extra
  7. node.js——麻将算法(三)胡牌相关明牌
  8. Redis之Redis事务
  9. 人工智能面试题86问,新手找工作必备!
  10. tcp/ip通信第5期之客户机端程序
  11. 六个步骤 教你搭建Ubuntu nfs服务器
  12. lammps教程:EAM势参数设置详解
  13. Http分段下载实现
  14. matlab主成分分析代码
  15. Node版本管理工具
  16. 163邮箱的格式怎么写,如何申请电子邮箱?
  17. sen1.2词典制作
  18. iphone7plus计算机,iPhone 7 Plus真实详尽评测-电池篇
  19. Catch That Cow
  20. 计算机组成原理知识点总结(第3篇 第6章 计算机的运算方法)

热门文章

  1. Java 学习笔记 —— 基础部分
  2. 一张图读懂系列|什么是量子计算机
  3. jQuery带缩略图轮播效果图片切换带缩略图
  4. 学习rtklib(三)
  5. 【工具分享篇二】PDF公式提取教程(一):Mathpix/Typora及Pandoc扩展安装教程
  6. 针对学校出现猪流感而做的一个简单的小软件(更新版)
  7. n(n-1)到底是个啥
  8. stm32 f105 RBT6 建立工程头文件
  9. LocalDate的用法与String互转
  10. 用计算机输入文字语音播放出来,Win10如何实现电脑语音输入?Win10使用搜狗输入法语音输入文字的方法...