Linux CentOS stream9 nmcli

news2024/10/1 1:28:30

nmcli命令是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入配置文件,永久生效。

一、前期准备

在讨论、学习与训练nmcli命令前,必须明确几点:

1.开启NetworkManager

使用nmcli命令前,先检查NetworkManager状态及相关信息。保证是开启状态,才能正常使用nmcli命令。

NetworkManager是一个为系统自动连接到网络提供检测和配置的程序,对无线和有线网络都可以管理。特别是对于无线网络。其最初由Red Hat开发,现在由GNOME项目托管。

作为一个服务,是网络管理的守护进程,运行在后台。相关操作可以使用systemctl命令:

        systemctl status NetworkManager  查看运行状态(应用比较多)

        systemctl start NetworkManager  启动

        systemctl restart NetworkManager  重启(应用最多)

        systemctl stop NetworkManager 关闭

        systemctl enable NetworkManager开机启动

注意:NetworkManager 中开头的N和中间的M必须大写。

2.NetworkManager版本

NetworkManager有多种不同版本,可升级为最新版本。不同版本,nmcli命令有差异。

可以在当前系统中升级NetworkManager

如 dnf upgrade NetworkManager

查看nmcli正在使用的NetworkManager版本:

3.网络配置文件

在使用nmcli命令中,经常要查看网络配置文件,必须提前了解配置文件所在的路径及配置文件名称。

Centos7 配置文件路径和名称:

        /etc/sysconfig/network-scripts/ifcfg-**

Centos8 配置文件路径和名称:

        /etc/sysconfig/network-scripts/ifcfg-**

Centos stream9配置文件路径和名称:

        /etc/NetworkManager/system-connections/**.nmconnection

4.添加网卡

提前添加2-3块网卡。

详细操作过程可参考《Linux CentOS7 添加网卡》。

5.网络基础知识

a.网络连接重要的IP参数

        address  IP地址  192.168.*.*/24(此类写法不需要再写子网掩码255.255.255.0)

        gateway网关 192.168.*.2(最后一位常常是2或254)

        dns 域名解析器  8.8.8.8  114.114.114.114

        route 路由  一般初学者可以不设置,由系统自动配置默认路由

b.网卡与网络连接

一张网卡可以设置多个连接,不同连接可以分别命名(如在网卡ens37上配置两个连接,可以命令为ens37:0 ens37:1)

一个连接只能对应一张网卡。

设置/修改网络连接参数时,该连接自动停用,只有启动后才能连通网络。

一张网卡重新启用一个连接,另外的连接自动停止(一张网卡只有一个活动的连接)。

二、语法解析

        nmcli [OPTIONS...] {help | general | networking | radio |connection | device | agent | monitor} [COMMAND] [ARGUMENTS...]

简化格式  nmcli  选项  对象  命令

可用选项:

选项

说明

-e

转义值中的列分隔符

-f

指定要输出的字段

-p

美化输出,以易于人类阅读的形式显示

-h

查看帮助

-v

查看版本信息

常用对象:

对象

简写

说明

connection

c/con

NetworkManager的连接

device

d/dev

NetworkManager管理的设备

重要命令:

命令

简写

说明

status

s

显示设备状态

show

s

显示设备/连接详情

add

a

添加网络连接参数

modify

m

修改网络连接参数

edit

e

编辑网络连接参数

reload

r

重新加载NetworkManager配置

on/off

启用/关闭网络连接

up/down

启用/禁用网卡设备

delete

d

删除已配置的连接

hostname

h

查看/修改主机名

三、使用技巧

1.简写

nmcli命令支持简写。不需要把命令全部录入,仅录入首字符就可以执行。常用的命令只记住首字母即可。

在nmcli c命令中,c是connection的简写。默认命令show没有录入。与下面的完整命令功能相同:

        nmcli connection show

在nmcli -p d命令中,-p是选项,表明以方便阅读的方式输出信息。d是device的简写。默认命令status没有录入。

利用简写命令查看帮助

        h help的简写

利用简写命令查看主机名/修改主机名

        g general的简写;h hostname的简写

PS:应用nmcli命令时一般不加选项。而命令区分大小写。默认命令可以不录入。

参考帮助信息,注意区别选项的短选项与长选项;注意对象的简写与命令的简写。如h,作为对象是help的简写,而作为命令是hostname简写。类似的还有r和m。

2.补全

a.录入对象、命令的首字母(允许情况下,可以回车执行)按Tab进行补全

b.录入命令后,按空格,如不知道有什么选项,可以连按两次Tab,显示可以选择的选项(有时选项太多时会提示你是否显示全部,可根据情况决定)。

3.空格

在执行nmcli命令时,选项、命令、属性、属性值相互之间都用空格分隔。不需要换行,不需要添加分号等其他分隔符。

如nmcli c m ens37 gateway 192.168.100.254

执行命令后,NM会在配置文件中编写

        gateway=192.168.100.254

对于中间有空格但前后是一个整体的情况,或在空格前加\(转义字符)或把整体用单引号括起来。

4.+-应用

同一项设置添加两个值(如一个连接设置两个IP地址)

a.一个连接设置两项IP值,只需在两个值之间加一逗号分隔

        ipv4.address 192.168.100.50/24,192.168.100.60/24

b.正常设置一个,然后在第二次设置时前面加+

        ipv4.address 192.168.100.60/24

        +ipv4.address 192.168.100.70/24

c.取消多个IP地址中的一个,应用修改命令

        -ipv4..…

四、操作案例

1.查看

a.查看网络连接状态:

网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。

以下两个命令都可以查看。

        nmcli n c 其中n是networking简写;c是connectivity简写

        nmcli g  其中g是general简写

b.接口信息:

        nmcli d

命令的选项和参数都可以简写

c.连接信息

        nmcli c

d.ip地址等信息

        nmcli

PS:查看设置的IP地址仍然可以借助ip a或ifconfig命令

2.添加

在用nmcli添加一个网络连接时(创建新连接)必须包含三项:type、ifname和con-name。

其中type指定连接类型;con-name指定网络连接名称;ifname  指定使用的设备名称(初学者主要是指网卡名)。

在此基础上,再添加其他设置,满足不同需求。

a.动态ip地址的连接

添加一块新网卡,默认采用自动获取IP地址的方式。本人设置时,只需设定基础的三项即可。

b.静态ip地址的连接

必须指定IP地址、网关和DNS,ipv4.method:手动设置manual

c.双静态ip地址

d.一卡多个连接

正常添加一个连接后,在同一网卡接口设备上再添加一个连接,各项设置同前述一致,只是在命名连接名时推荐使用接口设备名:1(国外一般从0开始,1代表第二项)

下图显示ens38设备上创建了四个连接,只有一个“有线连接 1”是活动的:

3、修改

主要应用modify(m)命令修改连接设置参数

a.完善设置

一个网络连接有多项设置,并不需要一次全部设置完全(有时忘记设置哪些属性了),可以这样处理:

把原命令调出,把a改为m再添加其他一项或多项'属性 值'

        modify 接口名称 '属性1 值1  属性2 值2'

b.接口连接名

        con-name 新接口连接名

下图是把新网卡默认的连接名“有线连接 1”修改为ens38

下图是通过指定UUID修改connection.id(这是连接的接口名标志,可以简写为con.id或c.id)

c.双IP变为单IP

        …m -ipv4.address 192.168.100.50/24

d.动态IP转静态IP

从添加连接时的设置,可以知道ens37:2是动态IP地址,(修改命令)再添加静态IP地址就可以。

        nmcli c m ens37:2 ipv4.address 192.168.100.200/24 ipv4.gateway 192.168.100.254 ipv4.method manual

4、删除

一个连接不再需要,可以删除。这个删除是删除连接的配置文件,此连接将不存在(不能重启)。

        nmcli c delete ens38:2

删除配置文件,也是删除连接。

5、启动/停用

a.NM管理

设定 NetworkManager 接管网络设置:

        nmcli n on

取消 NetworkManager 接管网络设置:

        nmcli n off

b.启动/停用一个连接

切换连接时,不用把原来的连接停用,仅需把新的连接启动即可。

我们直接启动连接ens38,原来同一设备上的连接将会停止。

        nmcli c up ens38

如果停用ens38,需要执行命令

        nmcli c down ens38

如果一个设备上有两个连接,停用一个就会启用另一个。

c.启动/停用设备上的连接

执行命令nmcli d disconnect 设备名

可以停用设备上的所有连接

对于一个设备上只创建了一个连接,可以执行子命令down停用连接。而对于有多个连接的情况,就要后子命令disconnect。

小结

nmcli命令众多,不可能一一演示。可以多训练,才能熟练掌握。

对于网络连接不熟悉的,可以使用图形化命令nmtui和nm- connection-editor。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1395599.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构--串

本文为复习的草稿笔记,,,有点乱 1. 串的基本概念和基本操作 串是由零个或多个字符组成的有限序列 2. 串的存储结构 3.串的应用 模式匹配 BF算法(简单匹配算法 穷举法 算法思路:从子串的每一个字符开始依次与主串…

百度云网盘下载速度如何提升到正常速度

引入问题 我们在下载代码学习资料的时候大多数都是百度云网盘,但是限速!下载的十分的慢,有什么办法能让我们不开通会员就能享受正常速度呢? 当然有! 解决百度云网盘下载速度过慢,提高到正常速度 点击右…

SpringBoot + 自定义注解 + AOP 打造通用开关

前言 最近在工作中迁移代码的时候发现了以前自己写的一个通用开关实现,发现挺不错,特地拿出来分享给大家。 为了有良好的演示效果,我特地重新建了一个项目,把核心代码提炼出来加上了更多注释说明,希望xdm喜欢。 案例 …

编译FFmpeg4.3.1 、x264并移植到Android

1、前言 FFmpeg 既是一款音视频编解码工具,同时也是一组音视频编解码开发套件。 2、准备工作 系统:LinuxNDK:android-ndk-r21b-linux-x86_64.zipFFmpeg:ffmpeg-snapshot.tar.bz2x264:x264 3、下载NDK 在linux环境中…

触摸按键控制LED灯

目录 1.理论 2.代码 2.1 touch_ctrl_led.v 2.2 tb_touch_ctrl_led 1.理论 以上的波形图的touch_flag是采用组合逻辑的方式产生的。 以上的touch_flag是采用时序逻辑产生的,时序逻辑会延迟一拍。 以上是上升沿和下降沿的组合逻辑和时序逻辑实现,逻辑或…

Spring Boot - 利用Resilience4j-Circuitbreaker实现断路器模式_防止级联故障

文章目录 PreResilience4j概述Resilience4j官方地址Resilience4j-Circuitbreaker应用场景微服务演示Address servicePOMModelRepositoryServiceControllerData InitProperties测试 Order serviceModelRepositoryServiceSet UpProperties测试 探究断路器调用order-service API 2…

spring boot学习第八篇:kafka监听消费

为了实现监听器功能 pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLoc…

.NetCore Flurl.Http 4.0.0 以上管理客户端

参考原文地址&#xff1a;Managing Clients - Flurl 管理客户端 Flurl.Http 构建在堆栈之上System.Net.Http。如果您熟悉HttpClient&#xff0c;那么您可能听说过这个建议&#xff1a;不要为每个请求创建一个新客户端&#xff1b;重复使用它们&#xff0c;否则将面临后…

navigateTo失效-跳转不了页面解决办法!uniapp\vue

改了一个小时多的错误&#xff0c;跳转页面无论怎么样都跳转不了&#xff0c;有2个问题&#xff1a; 注意&#xff1a;uniapp的报错可以在console里检查&#xff01; 1.pages.json文件没有配置路径&#xff0c; 在pages:[ ]里面加 &#xff08;根据自己的路径进行修改 {&qu…

Plane Geometry (Junior High School)

初中平面几何&#xff0c; ACBD, ∠CAD60&#xff0c;∠C40&#xff0c;求∠B Vertical Calculation-CSDN博客 Rectangular Area-CSDN博客

详细介绍IP 地址、网络号和主机号、ABC三类、ip地址可分配问题、子网掩码、子网划分

1、 IP 地址: 网络之间互连的协议&#xff0c;是由4个字节(32位二进制)组成的逻辑上的地址。 将32位二进制进行分组&#xff0c;分成4组&#xff0c;每组8位(1个字节)。【ip地址通常使用十进制表示】ip地址分成四组之后&#xff0c;在逻辑上&#xff0c;分成网络号和主机号 2…

Java多线程并发篇----第二十二篇

系列文章目录 文章目录 系列文章目录前言一、DelayQueue(缓存失效、定时任务 )二、SynchronousQueue(不存储数据、可用于传递数据)三、LinkedTransferQueue四、LinkedBlockingDeque前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家…

港科夜闻|香港科大团队研发多功能,可重构和抗破坏单线感测器阵列

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大团队研发多功能、可重构和抗破坏单线感测器阵列。研究人员开发出一种受人类听觉系统启发的感测器阵列设计技术。透过模仿人耳根据音位分布来区分声音的能力&#xff0c;这种新型感测器阵列方法可能优化感测器阵列…

Ansible-基础模块

目录 一 Ansible概述 1.Ansible是什么 2.为什么要学Ansible&#xff08;特点&#xff09; 二 Ansible的架构及运行机制 1.Ansible的架构 2.Ansible的运行机制 三 Ansible环境安装部署 1.控制节点安装ansible 2.Ansible目录结构 3.Ansible 命令行模块 &#xff08;1&a…

强化学习(二)多臂老虎机 “Multi-armed Bandits”——1

将强化学习与机器学习、深度学习区分开的最重要的特征为&#xff1a;它通过训练中信息来评估所采取的动作&#xff0c;而不是给出正确的动作进行指导&#xff0c;这极大地促进了寻找更优动作的需求。 1、多臂老虎机&#xff08;Multi-armed Bandits&#xff09;问题 赌场的老虎…

解析Transformer模型

原文地址&#xff1a;https://zhanghan.xyz/posts/17281/ 进入Transformer RNN很难处理冗长的文本序列&#xff0c;且很容易受到所谓梯度消失/爆炸的问题。RNN是按顺序处理单词的&#xff0c;所以很难并行化。 用一句话总结Transformer&#xff1a;当一个扩展性极佳的模型和一…

全链路压力测试:现代软件工程中的重要性

全链路压力测试不仅可以确保系统在高负载下的性能和稳定性&#xff0c;还能帮助企业进行有效的风险管理和性能优化。在快速发展的互联网时代&#xff0c;全链路压力测试已成为确保软件产品质量的关键步骤。 1、测试环境搭建 测试应在与生产环境尽可能相似的环境中进行&#xff…

RabbitMQ 部署与配置[CentOS7]

# RabbitMQ,Erlang 版本包对应 https://rabbitmq.com/which-erlang.html#eol-seriescd /usr/local/src# Erlang下载 # https://github.com/rabbitmq/erlang-rpm/releases https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.5/erlang-23.3.4.5-1.el7.x86_64.rp…

Spring 核心之 IOC 容器学习一

IOC 与 DI IOC(Inversion of Control)控制反转&#xff1a;所谓控制反转&#xff0c;就是把原先我们代码里面需要实现的对象创建、依赖的代码&#xff0c;反转给容器来帮忙实现。那么必然的我们需要创建一个容器&#xff0c;同时需要一种描述来让容器知道需要创建的对象与对象…

【探索C++容器:vector的使用和模拟实现】

【本节目标】 1.vector的介绍及使用 2.vector深度剖析及模拟实现 1.vector的介绍及使用 1.1 vector的介绍 vertor文档介绍 1. vector是表示可变大小数组的序列容器。2. 就像数组一样&#xff0c;vector也采用连续存储空间来存储元素。也就是意味着可以采用下标对vector的元…