首页 > 系统相关 >[Linux系列]nmcli详解

[Linux系列]nmcli详解

时间:2023-11-04 23:45:00浏览次数:42  
标签:nmcli -- Route 详解 ens38 Linux ethernet root

背景
前段时间在做LVS实验的时候,网络规划和配置示非常关键的,以往在linux的系统中都是通过配置文件来配置和修改ip的,今天我们就来说一说nmcli命令配置网络。

目前所有的linux系统配置网卡等信息,均已经推行Network-Manager服务去管理。nmcli 是 NetworkManager 的命令行工具。nm 代表 NetworkManager,cli 代表 Command-Line 命令行。

查看运行状态:
systemctl status NetworkManager

启动:
systemctl start NetworkManager

重启:
systemctl restart NetworkManager

关闭:
systemctl stop NetworkManager

查看是否开机启动:
systemctl is-enabled NetworkManager

开机启动:
systemctl enable NetworkManager

禁止开机启动:
systemctl disable NetworkManager

注意:NetworkManager 中开头的 N 和中间的 M 必须大写。
信息查询
1. 显示所有连接
root@Route:~# nmcli connection show
NAME UUID TYPE DEVICE
ethernet 8fb866df-f48f-4f67-af40-e23e0b6dcd09 ethernet ens38
ens33 c0f36c4d-9f4a-439d-80e3-eb38df216bb4 ethernet ens33
2. 显示可用连接
root@Route:~# nmcli connection show --active
NAME UUID TYPE DEVICE
ethernet 8fb866df-f48f-4f67-af40-e23e0b6dcd09 ethernet ens38
ens33 c0f36c4d-9f4a-439d-80e3-eb38df216bb4 ethernet ens33
3. 显示device(网卡设备)的详细信息
##deviece的连接状态
root@Route:~# nmcli device status
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected ens33
ens38 ethernet disconnected --
lo loopback unmanaged --
root@Route:~# nmcli device show
GENERAL.DEVICE: ens33
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:C7:1E:A0
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens33
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 10.10.10.129/24
IP4.GATEWAY: 10.10.10.2
IP4.ROUTE[1]: dst = 10.10.10.0/24, nh = 0.0.0.0, mt = 101
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 10.10.10.2, mt = 20101
IP4.ROUTE[3]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS[1]: 10.10.10.2
IP4.DOMAIN[1]: localdomain
IP6.ADDRESS[1]: fe80::3c4:6c33:343a:c3bd/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024

GENERAL.DEVICE: ens38
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:C7:1E:AA
GENERAL.MTU: 1500
GENERAL.STATE: 30 (disconnected)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
WIRED-PROPERTIES.CARRIER: on
IP4.GATEWAY: --
IP6.GATEWAY: --

GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: --
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = ::1/128, nh = ::, mt = 256
lines 19-42/42 (END)

网络配置
配置流程:

1. 确定系统中的可用device;
2. 确认device上是否存在可用连接;
3. 对device上的连接进行ip配置及修改;
确认device----->创建连接----->配置及修改

1. 创建有效连接
root@Route:~# nmcli connection add ifname ens38 con-name ens38_1 type ethernet
Connection 'ens38_1' (ee550e98-2156-4dd0-805c-d8ab38532f2e) successfully added.

root@Route:~# nmcli connection show
NAME UUID TYPE DEVICE
ens38_1 ee550e98-2156-4dd0-805c-d8ab38532f2e ethernet ens38
ens33 c0f36c4d-9f4a-439d-80e3-eb38df216bb4 ethernet ens33
ethernet 8fb866df-f48f-4f67-af40-e23e0b6dcd09 ethernet --
root@Route:~#

con-name 指定连接名字,没有特殊要求,自定义
ifname 指定网卡设被名,既就是次配置所生效的网卡
type 指定连接的类型,ethernet为以太网(默认)


2. 配置网络信息
root@Route:~# nmcli connection modify ens38_1 ipv4.addresses 172.16.93.140/24 ipv4.getway 172.16.93.3 ipv4.dns 172.16.93.2

ipv4.addresses 指定IPv4地址
ipv4.getway 指定网关
ipv4.dns 指定dns
3. 启动和关闭连接
root@Route:~# nmcli connection up ens38_1
root@Route:~# nmcli connection down ens38_1
4. 删除网络
root@Route:~# nmcli connection delete ens38_1
修改网络
1. 修改IP地址及网关
root@Route:~# nmcli connection modify ens38_1 ipv4.addresses 200.100.100.100/24 ipv4.getway 200.100.100.1
2. 添加删除dns
root@Route:~# #nmcli connection modify ens38_1 +ipv4.dns 114.114.114.114

root@Route:~# nmcli connection modify ens38_1 -ipv4.dns 114.114.114.114
3. 添加删除ip
root@Route:~# nmcli connection modify ens38_1 +ipv4.addresses 10.10.10.10/24

root@Route:~# nmcli connection modify ens38_1 -ipv4.addresses 10.10.10.10/24
4. 修改连接配置后重新激活
root@Route:~# nmcli connecti reload

标签:nmcli,--,Route,详解,ens38,Linux,ethernet,root
From: https://www.cnblogs.com/A121/p/17810067.html

相关文章

  • 数组的练习专项(接上节的数组的详解)
     练习1:求和需求:定义一个数组,存储1,2,3,4,5遍历数组得到每一个元素,求数组里面所有的数据和代码示例:/*定义一个数组,存储1,2,3,4,5遍历数组得到每一个元素,求数组里面所有的数据和*///分析://1.定义一个数组,并添加数据1,2,3,4,5int[]arr={1,2,3,4,5};//求和变量int......
  • 数组的练习专项(接上节的数组的详解)
     练习1:求和需求:定义一个数组,存储1,2,3,4,5遍历数组得到每一个元素,求数组里面所有的数据和代码示例:/*定义一个数组,存储1,2,3,4,5遍历数组得到每一个元素,求数组里面所有的数据和*///分析://1.定义一个数组,并添加数据1,2,3,4,5int[]arr={1,2,3,4,5};//求和变量int......
  • Linux文件权限详解
    Linux是一款功能强大的操作系统,其文件权限系统是确保文件和系统安全的关键组成部分。正确理解和配置文件权限对于维护系统安全至关重要。初次接触Linux时,在公司服务器上处理文件夹或文件时常常碰到Permissiondenied的提示。为了解决问题,我会直接使用一条简单而粗暴的命令sudochmo......
  • linux下快速创建文件占用磁盘
    在测试中有时间需要创造一些场景,比如服务器或主机中莫磁盘空间不足的情况,目前磁盘空间都很大,一般已T为单位,想要短时间把磁盘空间耗尽也不是件容易的事,想象下你需要耗尽10T空间的资源,需要多长时间?实践中我尝试了多种方式:tee创建文件占用空间catusr1.txt|tee2022.1.9{1…1000}.t......
  • 如何通过一条命令让Linux系统崩溃
    如何一条命令让 Linux 系统崩溃,如何一条命令让系统不可用,如何一条命令清除所有数据。这个对于要离职的人来讲,是必须要学会的。即将离职的程序员,如果比较负责任的话,应该在离开前,将自己不再使用的电脑清理干净,如何一条命令清理硬盘,且看如下示例,用随机数擦除存储 sda中的数据:dd......
  • 如何进行Linux中RedHat 7.6 安装
    今天就跟大家聊聊有关如何进行Linux中RedHat7.6安装,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。开始安装为了日后排查问题时,不出现乱码,所以此处选择英文配置安装选项选择需要安装的包单击“SOFTWARES......
  • Oracle 19c Linux平台启动时出现ORA-00800错误浅析
    这里简单介绍一下如何处理解决Linux平台下Oracle19c启动时,告警日志出现ORA-00800错误的问题,详情介绍请见下面内容:环境描述:操作系统:RedHatEnterpriseLinuxrelease8.8(Ootpa)数据库:19.16.0.0.0企业版问题描述:在Oracle19c启动时,在Oracle的告警日志中会出现下面这样一......
  • 升级linux下的python版本
    以centos7为例将python升级到3.10.111、安装必备软件包:##第一步基础包yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-devellibpcap-develxz-develgcc##第二步安装db4-devel,必先安装epel-releaseyumi......
  • 《Unix/Linux系统编程》第五章学习笔记
    《Unix/Linux系统编程》第五章学习笔记第五章定时器及时钟服务本章讨论了定时器和定时器服务;介绍了硬件定时器的原理和基于Intelx86的PC中的硬件定时器;讲解了CPU操作和中断处理;描述了Linux中与定时器相关的系统调用、库函数和定时器服务命令;探讨了进程间隔定时器、定......
  • 【django框架】共4大模块50页md学习文档 第3篇:django路由和网络请求使用详解
    当你考虑开发现代化、高效且可扩展的网站和Web应用时,Django是一个强大的选择。Django是一个流行的开源PythonWeb框架,它提供了一个坚实的基础,帮助开发者快速构建功能丰富且高度定制的Web应用全套Django笔记直接地址:请移步这里共10章,31子模块,总计2w余字路由配置学习目......