将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

 找回密码
 开始注册
查看: 86|回复: 0
收起左侧

nmcli相关介绍使用方法

[复制链接]
发表于 2020-9-21 21:07:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?开始注册

x
1. nmcli 安装
nmcli实用工具是由NetworkManager包提供,有关详情,请参阅NetworkManager(8)
~]$ yum install -y NetworkManager  d2 S$ V" s& I7 i4 U- X7 w0 p/ }
在CentOS 7中,默认已安装。

. m" a9 W+ z# G) }
# ^/ u- k: z$ C' w. q: A3 x
2. nmcli 基本选项  Z) y; b) B  _1 \
选项作用5 b4 [, o. B. g/ P, V6 }! e
-t简洁输出,会将多余的空格删除,
2 H3 e; i0 W! Q( Y-p人性化输出,输出很漂亮3 o! y- L" g0 W$ h# q8 v  `6 ^
-n优化输出,有两个选项tabular(不推荐)和multiline(默认)
8 g7 c# X: ?9 w7 a. e) ^/ }0 W  _-c颜色开关,控制颜色输出(默认启用)3 h% Y8 q0 K8 }" p1 o4 g
-f过滤字段,all为过滤所有字段,common打印出可过滤的字段8 A8 g( G  Z3 }* \" G
-g过滤字段,适用于脚本,以:分隔8 p$ n. F- d, `9 d
-w超时时间
- p* t5 G6 e2 Y0 U0 c2 c/ l+ o
# Q* r# ^2 u% _/ ^0 B* n
3. general 常规选项
命令格式:nmcli general {status|hostname|permissions|logging}
4 S* d/ G. }% O) `命令描述:使用此命令可以显示网络管理器状态和权限,你可以获取和更改系统主机名,以及网络管理器日志记录级别和域。

4 z3 Z: L5 h& }8 q+ w( O) m2 _8 s3.1 status
显示网络管理器的整体状态。
[root@www ~]# nmcli general statusSTATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    connected  full          enabled  enabled  enabled  enabled
+ u! v, B1 o) l% v: i5 @6 [5 `3.2 hostname
获取主机名或该更主机名,在没有给定参数的情况下,打印配置的主机名,当指定了参数,它将被移交给NetworkManager,以设置为新的系统主机名。
[root@www ~]# nmcli general hostnamewww.keepdown.cn[root@www ~]# nmcli general hostname myself[root@www ~]# nmcli general hostnamemyself
9 Z- w, [$ j4 J4 N7 c3.3 permissions
显示当前用户对网络管理器可允许的操作权限。 如启用和禁用网络、更改WI-FI和WWAN状态、修改连接等。
[root@www ~]# nmcli general permissions PERMISSION                                                 VALUE org.freedesktop.NetworkManager.enable-disable-network      yes   org.freedesktop.NetworkManager.enable-disable-wifi         yes   org.freedesktop.NetworkManager.enable-disable-wwan         yes   org.freedesktop.NetworkManager.enable-disable-wimax        yes   org.freedesktop.NetworkManager.sleep-wake                  yes   org.freedesktop.NetworkManager.network-control             yes   org.freedesktop.NetworkManager.wifi.share.protected        yes   org.freedesktop.NetworkManager.wifi.share.open             yes   org.freedesktop.NetworkManager.settings.modify.system      yes   org.freedesktop.NetworkManager.settings.modify.own         yes   org.freedesktop.NetworkManager.settings.modify.hostname    yes   org.freedesktop.NetworkManager.settings.modify.global-dns  yes   org.freedesktop.NetworkManager.reload                      yes   org.freedesktop.NetworkManager.checkpoint-rollback         yes   org.freedesktop.NetworkManager.enable-disable-statistics   yes, n% v& h  _2 {( H1 F
3.4 loggin
获取和更改网络管理器日志记录级别和域,没有任何参数当前日志记录级别和域显示。为了更改日志记录状态, 请提供级别和域参数,有关可用级别和域值, 参阅NetworkManager.conf(5)
[root@www ~]# nmcli general loggingLEVEL  DOMAINS                                                                                                                                                                                                                       INFO   PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,IP4,IP6,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,TEAM,CONCHECK,DCB,DISPATCH,AUDIT,SYSTEMD,PROXY1 E! C( s, Z) e* p

. d% S9 h7 H& {2 s  V3 i
4. networking 网络控制
命令格式:nmcli networking {on|off|connectivity}7 X1 u0 s# ^* L; v4 h: y& C3 S5 x0 \. X. g
命令描述:查询网络管理器网络状态,开启和关闭网络0 ?  _2 {& H9 J. X; ~0 M* l( v
选项:
  • on: 禁用所有接口
  • off: 开启所有接口
  • connectivity: 获取网络状态,可选参数checl告诉网络管理器重新检查连接性,否则显示最近已知的状态。而无需重新检查。(可能的状态如下所示)
    • none: 主机为连接到任何网络
    • portal: 无法到达完整的互联网
    • limited: 主机已连接到网络,但无法访问互联网
    • full: 主机连接到网络,并具有完全访问
    • unknown: 无法找到连接状态+ x4 p9 l# |( c) {& m2 q

    ' G3 f8 Q/ p' t
[root@www ~]# nmcli networking connectivityfull[root@www ~]# nmcli networking connectivity checkfull
! x+ ^* `2 g$ y" G) j
9 {# k3 b7 n) I- |' R
5. radio 无线限传输控制
命令格式:nmcli radio {all|wifi|wwan}
, j# I9 F7 ]' |" _4 u' ~显示无线开关状态,或启用和禁用开关
[root@www ~]# nmcli radio allWIFI-HW  WIFI     WWAN-HW  WWAN    enabled  enabled  enabled  enabled [root@www ~]# nmcli radio all off[root@www ~]# nmcli radio allWIFI-HW  WIFI      WWAN-HW  WWAN     enabled  disabled  enabled  disabled [root@www ~]# nmcli radio wifi on[root@www ~]# nmcli radio wwan on[root@www ~]# nmcli radio allWIFI-HW  WIFI     WWAN-HW  WWAN    enabled  enabled  enabled  enabled
) n# [* y( H8 @) R* o/ c
3 Q. P( |5 u1 v, s
6. monitor 活动监视器
活动监视器(ACTIVITY MONITOR)
观察网络管理器活动。监视连接的变化状态、设备或连接配置文件。
另请参阅 nmcli connection monitor 和nmcli device monitor某些设备或连接中的更改。
/ z1 n/ [9 s& I2 C


  p9 u/ K3 j# U9 Z7. connection 连接管理
命令格式:nmcli connection {show|up|down|modify|add|edit|clone|delete|monitor|reload|load|import|export}
) b* {" a6 C8 ^/ x; u这是主要使用的一个功能。
  q* f# ~! _, H& Q3 x( |" P6 v' K
7.1 show
show有两种用法,分别是:
, e. z% D5 V) e. V) }
1. 列出活动的连接,或进行排序(+-为升降序)
# 查看所有连接状态[root@www ~]# nmcli connection show# 等同于nmcli connection show --order +active[root@www ~]# nmcli connection show --active# 以活动的连接进行排序[root@www ~]# nmcli connection show --order +active# 将所有连接以名称排序[root@www ~]# nmcli connection show --order +name# 将所有连接以类型排序(倒序)[root@www ~]# nmcli connection show --order -type
8 W. M4 }  L/ `
2. 查看指定连接的详细信息
[root@www ~]# nmcli connection show eth0# 省略......
6 F+ ?& b# l+ m/ ]* B) O7.2 up
激活连接,提供连接名称或uuid进行激活,若未提供,则可以使用ifname指定设备名进行激活。
# 以连接名进行激活[root@www ~]# nmcli connection up eth0# 以uuid进行激活[root@www ~]# nmcli connection up 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03# 以设备接口名进行激活[root@www ~]# nmcli connection up ifname eth0
3 }/ j# h0 Y) O7.3 down
停用连接,提供连接名或uuid进行停用,若未提供,则可以使用ifname指定设备名进行激活。
# 以连接名进行激活[root@www ~]# nmcli connection down eth0# 以uuid进行激活[root@www ~]# nmcli connection down 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03# 以设备接口名进行激活[root@www ~]# nmcli connection down ifname eth0
5 p3 N( _# u) X8 w6 r7.4 modify
这些属性可以用nmcli connection show eth0进行获取,然后可以修改、添加或删除属性,若要设置属性,只需指定属性名称后跟值,空值将删除属性值,同一属性添加多个值使用+。同一属性删除指定值用-加索引。
& s" m4 z" Y1 r3 P9 {2 ~9 x, F
添加多个ip
# 添加三个[root@www ~]# nmcli connection modify eth0 +ipv4.addresses 192.168.100.102/24[root@www ~]# nmcli connection modify eth0 +ipv4.addresses 192.168.100.103/24[root@www ~]# nmcli connection modify eth0 +ipv4.addresses 192.168.100.104/24# 查看[root@www ~]# nmcli -f IP4 connection show eth0IP4.ADDRESS[1]:                         192.168.100.101/24IP4.GATEWAY:                            192.168.100.100IP4.DNS[1]:                             8.8.8.8# 启用配置[root@www ~]# nmcli connection up eth0Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/18)# 再次查看[root@www ~]# nmcli -f IP4 connection show eth0IP4.ADDRESS[1]:                         192.168.100.101/24IP4.ADDRESS[2]:                         192.168.100.102/24IP4.ADDRESS[3]:                         192.168.100.103/24IP4.ADDRESS[4]:                         192.168.100.104/24IP4.GATEWAY:                            192.168.100.100IP4.DNS[1]:                             8.8.8.8! U* W& s( T; v2 n  e7 O  L
删除指定ip
[root@www ~]# nmcli -f IP4 connection show eth0IP4.ADDRESS[1]:                         192.168.100.101/24IP4.ADDRESS[2]:                         192.168.100.102/24IP4.ADDRESS[3]:                         192.168.100.103/24IP4.ADDRESS[4]:                         192.168.100.104/24IP4.GATEWAY:                            192.168.100.100IP4.DNS[1]:                             8.8.8.8# 删除索当前索引为2的地址[root@www ~]# nmcli connection modify eth0 -ipv4.addresses 2# 查看[root@www ~]# nmcli -f IP4 connection show eth0IP4.ADDRESS[1]:                         192.168.100.101/24IP4.ADDRESS[2]:                         192.168.100.102/24IP4.ADDRESS[3]:                         192.168.100.103/24IP4.ADDRESS[4]:                         192.168.100.104/24IP4.GATEWAY:                            192.168.100.100IP4.DNS[1]:                             8.8.8.8# 再次激活[root@www ~]# nmcli connection up eth0Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19)# 查看[root@www ~]# nmcli -f IP4 connection show eth0IP4.ADDRESS[1]:                         192.168.100.101/24IP4.ADDRESS[2]:                         192.168.100.102/24IP4.GATEWAY:                            192.168.100.100IP4.DNS[1]:                             8.8.8.8% o0 _3 e& N7 k1 M* U+ Z
7.5 add
这是创建一个新的连接,需要指定新创建连接的属性,语法与modify相同。
[root@www ~]# nmcli con add con-name eth1 type ethernet  autoconnect yes ifname eth0# con-name     连接名称# type              连接类型# autoconnect 是否自动连接# ifname          连接到的设备名称
更多的类型或方法可以使用nmcli connection add help查看。
) X9 ^: r: U" `4 c. }+ T! f  N
7.6 clone
克隆连接,克隆一个存在的连接,除了连接名称和uuid是新生成的,其他都是一样的。
[root@www ~]# nmcli connection clone eth0 eth0_1
! x& b. @5 O: L7.7 delete
删除连接,这将删除一个连接。
[root@www ~]# nmcli connection delete eth0_1: p7 _$ }$ f% i) g0 [8 n5 E
7.8 load
从磁盘加载/重新加载一个或多个连接文件,例如你手动创建了一个/etc/sysconfig/network-scripts/ifcfg-ethx连接文件,你可以将其加载到网络管理器,以便管理。
[root@www ~]# echo -e "TYPE=Ethernet\nNAME=ethx" > /etc/sysconfig/network-scripts/ifcfg-ethx[root@www ~]# nmcli connection showNAME  UUID                                  TYPE            DEVICE eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0 [root@www ~]# nmcli connection load /etc/sysconfig/network-scripts/ifcfg-ethx [root@www ~]# nmcli connection showNAME  UUID                                  TYPE            DEVICE eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0   ethx  d45d97fb-8530-60e2-2d15-d92c0df8b0fc  802-3-ethernet  --
" [5 b$ c/ {' X2 x7.9 monitor
监视连接配置文件活动。每当指定的连接更改时, 此命令都会打印一行。要监视的连接由其名称、UUID 或 D 总线路径标识。如果 ID 不明确, 则可以使用关键字 id、uuid 或路径。有关 ID 指定关键字的说明, 请参阅上面的连接显示。
监视所有连接配置文件, 以防指定无。当所有监视的连接消失时, 该命令将终止。如果要监视连接创建, 请考虑使用带有 nmcli 监视器命令的全局监视器。
[root@www ~]# nmcli connection monitor eth0
' E( @6 Q* c8 x7 E1 j: T7 |

5 [4 C) l* [3 V) [8. device 设备管理
命令格式:nmcli device {status|show|set|connect|reapply|modify|disconnect|delete|monitor|wifi|lldp}
' T/ Z0 u" ~1 w  A显示和管理设备接口。该选项有很多功能,例如连接wifi,创建热点,扫描无线,邻近发现等,下面仅列出常用选项。详细功能可使用nmcli device help查看。

( a8 h- A# _3 c+ l8.1 status
打印设备状态,如果没有将命令指定给nmcli device,则这是默认操作。
[root@www ~]# nmcli device statusDEVICE  TYPE      STATE      CONNECTION eth0    ethernet  connected  eth0       lo      loopback  unmanaged  --         [root@www ~]# nmcli deviceDEVICE  TYPE      STATE      CONNECTION eth0    ethernet  connected  eth0       lo      loopback  unmanaged  --8 h9 @' ]2 h6 ^# a* T7 k! F9 u* A
8.2 show
显示所有设备接口的详细信息。
# 不指定设备接口名称,则显示所有接口的信息[root@www ~]# nmcli device show eth0GENERAL.DEVICE:                         eth0GENERAL.TYPE:                           ethernetGENERAL.HWADDR:                         00:0C:29:99:9A:A1GENERAL.MTU:                            1500GENERAL.STATE:                          100 (connected)GENERAL.CONNECTION:                     eth0GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/9WIRED-PROPERTIES.CARRIER:               onIP4.ADDRESS[1]:                         192.168.100.101/24IP4.ADDRESS[2]:                         192.168.100.102/24IP4.GATEWAY:                            192.168.100.100IP4.DNS[1]:                             8.8.8.8; R0 X* N: ~+ v0 Z/ d4 ]
8.3 set
设置设备属性
[root@www ~]# nmcli device set ifname eth0 autoconnect yes
. o# i1 c# K6 ?. C9 R2 F8.4 connect
连接设备。提供一个设备接口,网络管理器将尝试找到一个合适的连接, 将被激活。它还将考虑未设置为自动连接的连接。(默认超时为90s)
[root@www ~]# nmcli dev connect eth0Device 'eth0' successfully activated with '5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03'.
" P; P, n* o6 T$ U8.5 reapply
使用上次应用后对当前活动连接所做的更改来更新设备。
[root@www ~]# nmcli device reapply eth0Connection successfully reapplied to device 'eth0'.  L. X, m9 s  ~
8.6 modify
修改设备上处于活动的设备,但该修改只是临时的,并不会写入文件。(语法与 nmcli connection modify 相同)
[root@www ~]# nmcli device modify eth0 +ipv4.addresses 192.168.100.103/24Connection successfully reapplied to device 'eth0'.[root@www ~]# nmcli dev show eth0[root@www ~]# nmcli device modify eth0 -ipv4.addresses 1Connection successfully reapplied to device 'eth0'.
8 \4 }! S3 T+ [1 f# O1 G8.7 disconnect
断开当前连接的设备,防止自动连接。但注意,断开意味着设备停止!但可用 connect 进行连接
[root@www ~]# nmcli device disconnect eth0& X7 z5 x& T1 m* U1 P" m" _  u
8.8 delete
删除设备,该命令从系统中删除接口。请注意, 这仅适用于诸如bonds, bridges, teams等软件设备。命令无法删除硬件设备 (如以太网)。超时时间为10秒
[root@www ~]# nmcli device delete bonds
6 r, i1 d1 M: V8.9 monitor
监视设备活动。每当指定的设备更改状态时, 此命令都会打印一行。
监视所有设备以防未指定接口。当所有指定的设备消失时, 监视器将终止。如果要监视设备添加, 请考虑使用带有 nmcli 监视器命令的全局监视器。
[root@www ~]# nmcli device monitor eth0: W' C/ w* Z+ q

6 J$ ^. Y- P6 \+ m8 I7 P: [: [/ V
9. nmcli 返回状态码
mcli 如果成功退出状态值为0,如果发生错误则返回大于0的值。
  • 0: 成功-指示操作已成功
  • 1: 位置或指定的错误
  • 2: 无效的用户输入,错误的nmcli调用
  • 3: 超时了(请参阅 --wait 选项)
  • 4: 连接激活失败
  • 5: 连接停用失败
  • 6: 断开设备失败
  • 7: 连接删除失败
  • 8: 网络管理器没有运行
  • 10: 连接、设备或接入点不存在
  • 65: 当使用 --complete-args 选项,文件名应遵循。

    2 \1 O$ j/ c# J+ d7 `5 l* n
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2020-10-25 16:46 , Processed in 4.238867 second(s), 24 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

快速回复 返回顶部 返回列表