Linux CentOS stream9 nmcli

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.hqwc.cn/news/413919.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.1.19每日一题

LeetCode 2809.使数组和小于等于x的最少时间 2809. 使数组和小于等于 x 的最少时间 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你两个长度相等下标从 0 开始的整数数组 nums1 和 nums2 。每一秒&#xff0c;对于所有下标 0 < i < nums1.length &#xff0c…

C#开源跨平台的多功能Steam工具箱GitHub加速神器

前言 作为一名程序员你是否会经常会遇到GitHub无法访问(如下无法访问图片)&#xff0c;或者是访问和下载源码时十分缓慢就像乌龟爬行一般。今天分享一款C#开源的、跨平台的多功能Steam工具箱和GitHub加速神器&#xff1a;Watt Toolkit。 项目功能 网络加速、账号切换、库存游…

蓝桥杯(C++ 矩形总面积 错误票据 分糖果1 三国游戏 分糖果2)

目录 一、矩形总面积 思路&#xff1a; 代码&#xff1a; 二、错误票据 思路&#xff1a; 代码&#xff1a; 三、分糖果1 思路&#xff1a; 代码&#xff1a; 四、三国游戏 思路&#xff1a; 代码&#xff1a; 五、分糖果2 思路&#xff1a; 代码&#xff1a;…

最长上升子序列模型(LIS)

最长上升子序列模型就像它的名字一样&#xff0c;用来从区间中找出最长上升的子序列。它主要用来处理区间中的挑选问题&#xff0c;可以处理上升序列也可以处理下降序列&#xff0c;原序列本身的顺序并不重要。 模型 895. 最长上升子序列&#xff08;活动 - AcWing&#xff0…

Android中矩阵Matrix实现平移,旋转,缩放和翻转的用法详细介绍

一&#xff0c;矩阵Matrix的数学原理 矩阵的数学原理涉及到矩阵的运算和变换&#xff0c;是高等代数学中的重要概念。在图形变换中&#xff0c;矩阵起到关键作用&#xff0c;通过矩阵的变换可以改变图形的位置、形状和大小。矩阵的运算是数值分析领域的重要问题&#xff0c;对…

2024 前端高频面试题之 HTML/CSS 篇

【前言】随着市场的逐渐恶劣&#xff0c;通过总结面试题的方式来帮助更多的coder&#xff0c;也是记录自己的学习过程&#xff0c;温故而知新。欢迎各位同胞大大点评补充~ 前端面试题之 HTML/CSS 篇 1、HTML 语义化&#xff1f;2、块级元素&内联样式3、盒子模型的理解&…

【并发编程】synchornized原理

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;并发编程 ⛺️稳重求进&#xff0c;晒太阳 目录 Monitor概念 Java对象头 普通对象 数组对象 Monitor(锁) Monitor结构如下&#xff1a; 注意&#xff1a; 原理之synchornized 轻量…

在PyCharm中创建Flask项目

在 PyCharm 中创建 Flask 项目的步骤如下&#xff1a; 打开 PyCharm&#xff0c;并选择 "Create New Project"&#xff08;新建项目&#xff09;。在弹出的窗口中&#xff0c;选择左侧的 "Python" 选项&#xff0c;然后选择右侧的 "Flask" 项目…

移动云助力智慧交通数智化升级

智慧交通是在整个交通运输领域充分利用物联网、空间感知、云计算、移动互联网等新一代信息技术&#xff0c;综合运用交通科学、系统方法、人工智能、知识挖掘等理论与工具&#xff0c;以全面感知、深度融合、主动服务、科学决策为目标&#xff0c;推动交通运输更安全、更高效、…

AbstractHttpMessageConverter + easyexcell优雅下载附件

介绍 AbstractHttpMessageConverter 是 Spring 框架中用于处理 HTTP 消息转换的抽象基类。它用于处理来自 HTTP 请求的消息,并将其转换为特定的 Java 对象,或者将 Java 对象转换为 HTTP 响应消息。 这个抽象类允许开发人员创建自定义的 HTTP 消息转换器,以便在 Spring MVC…

HTML 表单

文章目录 表单什么是表单GET和POST两种提交方式有什么不同?表单元素表单项外文本单行文本输入框单行文本密码框单选框复选框下拉列表框上传文件隐藏域填写邮箱填写电话填写数字填写日期进度条多行文本输入框提交按钮取消按钮 用户注册案例 表单 什么是表单 form:表单元素 此…

游戏《泰坦陨落2》msvcr120.dll丢失的多种解决方法分享

在Windows 11操作系统环境下&#xff0c;众多玩家在体验《泰坦陨落2》这款备受瞩目的射击游戏时&#xff0c;遭遇了一个令人困扰的技术问题&#xff1a;系统提示缺失msvcr120.dll文件。这一关键的动态链接库文件对于游戏的正常运行至关重要&#xff0c;它的缺失直接导致了《泰坦…