1.前言

nmcli 是 NetworkManager 的提供的命令,使用 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

2. nmcli networking

显示 NetworkManager 是否接管网络设置:

nmcli networking

networking 可以简写为 n、ne、net、netw…… 所以以上命令可以简写为:

nmcli n

查看网络连接状态:

nmcli n connectivity

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

connectivity 可以简写为 c,所以以上命令可简写为:

nmcli n c

开启网络连接:

nmcli n on

关闭网络连接:

nmcli n off

3. nmcli general

显示系统网络状态:

nmcli general status


显示连接客户端主机名

nmcli g hostname # 或
nmcli g h


若修改主机名,需要重启 NetworkManager。

4.nmcli connection

显示所有网络连接的信息:

nmcli connection show

connection 可以简写为 c、co、con、conn……

show 是 connection 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli c

nmcli connection show 有一个 -active 参数,可以只显示当前启动的连接:

nmcli c s --active  # 或
nmcli c s -a        # 因为 show 后面有参数项,所以此时的 show 不能省


显示某一特定连接的详细信息(以 ens33 为例):

nmcli c s ens33

启动指定连接:

nmcli c up ens33

如果 ens33 本来就出于连接状态,那此命令会重启 ens33。
关闭指定连接:

nmcli c down ens33

关闭连接后,执行 nmcli c 命令, DEVICE 项将显示为 – 。
修改连接:

nmcli c modify ens33  [ + | - ]选项 选项值  # 或
nmcli c m ens33  [ + | - ]选项 选项值

下面给出常用修改示例:

nmcli c m ens33 ipv4.address 192.168.80.10/24  # 修改 IP 地址和子网掩码
nmcli c m ens33 ipv4.method manual             # 修改为静态配置,默认是 auto
nmcli c m ens33 ipv4.gateway 192.168.80.2      # 修改默认网关
nmcli c m ens33 ipv4.dns 192.168.80.2          # 修改 DNS
nmcli c m ens33 +ipv4.dns 114.114.114.114      # 添加一个 DNS
nmcli c m ens33 ipv6.method ignored            # 将 IPv6 禁用
nmcli c m ens33 connection.autoconnect yes     # 开机启动

注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!
用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):

nmcli c m ens33 ipv4.method ""

选项有很多,详细信息可以通过以下命令查看:

man 5 nm-settings-nmcli

主要可以看里面 connection setting 和 ipv4 setting 部分。
新增连接:

nmcli c add tyep 连接类型 选项 选项值  # 或
nmcli c a tyep 连接类型 选项 选项值

type 为必选项,我们通常用到的是 802-3-ethernet(别名 ethernet)。
选项与前面介绍的“修改连接”中的选项一样,其中重要的几个选项:
connection.id(别名 con-name):连接名;
connection.interface-name(别名 ifname):设备名;
connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes。
下面给出一个示例:

nmcli c a type ethernet con-name ens36 ifname ens36

删除指定连接:

nmcli c delete ens33  # 或
nmcli c de ens33      # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de

重载所有连接的配置文件:

nmcli c reload  # 或
nmcli c r

重载某一指定连接的配置文件:

nmcli c load ifcfg-ens33  # 或
nmcli c l ifcfg-ens33

网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。
网络配置文件的命名方式就是ifcfg-连接名,例如 ens33 的配置文件名为ifcfg-ens33。
网络配置文件说明:

TYPE=Ethernet           # 以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none          # 静态配置,等同于 ipv4.method manual
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens33              # 连接名
UUID=16862343-b55e-4248-b05d-a3ea662a84a4
DEVICE=ens33            # 设备名
ONBOOT=yes              # 开机自启
IPADDR=192.168.80.10    # IP 地址
PREFIX=24               # 子网掩码
GATEWAY=192.168.80.2    # 网关
DNS1=192.168.80.2       # DNS1
DNS2=114.114.114.114    # DNS2

建议使用 nmcli 命令来设置网络参数,不要直接修改此文件。

5. nmcli device

显示所有网络接口设备的状态:

nmcli device status

device 可以简写为 d、de、dev……
status 是 device 的默认项,可以省略不写。所以,以上命令可简写为:

nmcli d

显示所有设备的详细信息:

nmcli d show  # 或
nmcli d sh         # show 不可简写为 s,否则与 status 冲突,但可以简写为 sh

显示某一特定设备的详细信息:

nmcli d sh ens33

连接设备:

nmcli d connect ens33  # 或
nmcli d c ens33

如果 ens33 本来就出于连接状态,那此命令会重启 ens33。

断开设备:

nmcli d disconnect ens33  # 或
nmcli d d ens33

更新设备信息:

nmcli d reapply ens33  # 或
nmcli d r ens33

只有在设备处于连接状态,才可以更新设备。
更新设备相当于重启连接。

参考

nmcli用法

加入讨论

-----------------------------分割线-------------------------------------

新的文章内容和分享

已更新在:

|工|·-·|重|·-·|号|:协议森林

感恩您的关注,谢谢~

【Linux应用】网络管理nmcli 用法相关推荐

  1. Linux 管理联网 nmcli用法 新建动静连接

    nmcli  用法 nmcli 管理的对象 ===>>>         主要管理的对象 : 我们主要讲的是  ===>>                 connect ...

  2. [转帖]Linux - NetworkManager网络管理工具

    Linux - NetworkManager网络管理工具 https://baijiahao.baidu.com/s?id=1615753590782070031&wfr=spider& ...

  3. Linux系统网络管理

    Linux系统网络管理 一.基本网络配置: 将Linux主机接入网络,需要配置网络相关设置 一般包括以下内容: 主机名IP/netmask路由:默认网关DNS服务器:主DNS服务器次DNS服务器 网络 ...

  4. Linux之网络管理(2)虚拟网卡

    Linux之网络管理(2)虚拟网卡 在linux中,默认的内核模块中包含了很多与网络相关的组件和工具,来提供对网络的管理和设置.同样,linux中也是支持虚拟网卡的设置,已经多网卡绑定等功能.在网卡不 ...

  5. linux下svn的用法(转)

    linux下svn的用法 2008-10-30 17:12:56 标签:linux svn 用法 [推送到技术圈] 来源:http://zhoutao.blog.51cto.com/425866/10 ...

  6. linux下find命令用法

    一.Linux中find常见用法示例 ·find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} /; ...

  7. linux中EOF的用法梳理

    2019独角兽企业重金招聘Python工程师标准>>> linux中EOF的用法梳理 在linux运维工作中,我们会碰到这样一个场景: 执行脚本的时候,需要往一个文件里自动输入N行内 ...

  8. shell实例第20讲:linux shell date的用法

    linux shell date的用法 转自:https://www.cnblogs.com/faberbeta/p/linux-shell002.html 1.date中的参数 %% 一个文字的 % ...

  9. Linux dd 命令具体用法

                                           Linux dd 命令具体用法 dd命令:文件创建或复制命令 if=数据来源 of=数据存储目标 bs=1 blocksi ...

最新文章

  1. Objective-C Runtime
  2. java-多线程安全-锁
  3. mysql cursor 嵌套_MYSQL 存储过程多游标嵌套遍历
  4. seaborn常用速查手册
  5. 投影仪幕布增益_当贝投影带你看投影仪使用幕布和白墙的区别实测!
  6. java抽象类_Java抽象类
  7. Android应用开发:Dialog使用及示例
  8. 《数学建模与数学实验》第5版 网络优化 习题5.9
  9. Python:人工智能库如何选择,百度图像识别入门
  10. 大学追忆录(天空晴朗的梦)
  11. 华为畅享20 pro 和华为畅享Z 的区别 哪个好
  12. dhcp服务器修改dns设置方法,dhcp服务器的dns设置方法
  13. Python/numpy 设置数组某一整行列的值为0/1 修改数组行列设置为特定值
  14. 美国纽约大学计算机专业排名,纽约大学计算机科学排名怎么样?专业好不好?
  15. 场景调研 persona
  16. Netbackup for sap 7.0之十五:nbu的错误代码6
  17. [Android实例] [版主原创]ScrollView嵌套ScrollView
  18. 弘晖资本募集完成人民币三期基金
  19. GNU Radio学习一 :什么是GUN Radio
  20. php .accdb,PHP:调试与Access数据库(.accdb)的PDO连接

热门文章

  1. 景联文科技—专业数据标注公司和智能数据标注平台
  2. 在数组中查找字符串的位置
  3. 云计算ACP云服务器ECS实例题库(三)
  4. oracle10g配置远程连接
  5. 用WinForm做一个简单的计算器
  6. Solidity案例:经典众筹
  7. 直播APP平台需要怎么样的服务器?
  8. gis信息可视化之一Leaflet组件介绍
  9. 电脑屏幕高清录像方法?
  10. 《拖延心理学》读书笔记