|
1. nmcli 安装 nmcli实用工具是由NetworkManager包提供,有关详情,请参阅NetworkManager(8) ~]$ yum install -y NetworkManager
4 o4 t5 Q9 i! h- p2 z3 }% s" h在CentOS 7中,默认已安装。 5 j6 K4 d0 C' O/ w8 Y2 x; r
( b3 t2 q p/ N7 c8 D& S9 q
2. nmcli 基本选项9 x, c2 [& T7 ?; m/ T a' b
选项作用
+ P% X. D+ r" j% r) ^ F-t简洁输出,会将多余的空格删除,, _% \. ?) r! e+ w( ~
-p人性化输出,输出很漂亮" \# z2 z: Y' e0 Q: C1 t0 Q
-n优化输出,有两个选项tabular(不推荐)和multiline(默认)/ G" x2 P' I+ w' D
-c颜色开关,控制颜色输出(默认启用)
7 m# H0 Z$ t r- K9 L2 S-f过滤字段,all为过滤所有字段,common打印出可过滤的字段
/ l3 A7 U9 m9 `4 f( g-g过滤字段,适用于脚本,以:分隔
+ p& w3 [4 U% K4 Y# u' m-w超时时间4 ^3 _3 k+ ]- u. V, U' G3 T: s
0 k" s9 t5 p1 l5 H& `; y3. general 常规选项命令格式:nmcli general {status|hostname|permissions|logging}1 U' r6 y# n U' H+ w# l9 Y+ Q
命令描述:使用此命令可以显示网络管理器状态和权限,你可以获取和更改系统主机名,以及网络管理器日志记录级别和域。
% h% {- D! ]' t& B6 a" m, A: z A1 d8 q3.1 status显示网络管理器的整体状态。 [root@www ~]# nmcli general statusSTATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN connected full enabled enabled enabled enabled
) n3 I! W( Q7 ~' c! x8 ]/ F6 w T: ?3.2 hostname获取主机名或该更主机名,在没有给定参数的情况下,打印配置的主机名,当指定了参数,它将被移交给NetworkManager,以设置为新的系统主机名。 [root@www ~]# nmcli general hostnamewww.keepdown.cn[root@www ~]# nmcli general hostname myself[root@www ~]# nmcli general hostnamemyself, b: V" _9 A0 Q) K4 j: W( s# o
3.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 yes2 K9 d1 x3 v$ _+ v- p/ q% N
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,PROXY
) B" H, _$ |6 I* A Y
7 Q) Z6 v$ T1 \* }$ ~0 c4. networking 网络控制命令格式:nmcli networking {on|off|connectivity}
) g8 n# p \2 h$ e/ `! `命令描述:查询网络管理器网络状态,开启和关闭网络
^; ~. |7 s( o3 F选项: - on: 禁用所有接口
- off: 开启所有接口
- connectivity: 获取网络状态,可选参数checl告诉网络管理器重新检查连接性,否则显示最近已知的状态。而无需重新检查。(可能的状态如下所示)
- none: 主机为连接到任何网络
- portal: 无法到达完整的互联网
- limited: 主机已连接到网络,但无法访问互联网
- full: 主机连接到网络,并具有完全访问
- unknown: 无法找到连接状态0 O, n& `5 F0 X: e+ m& u- H
- W: |& D3 r+ C9 w! h& t [root@www ~]# nmcli networking connectivityfull[root@www ~]# nmcli networking connectivity checkfull/ a) \% k9 v* Q. n
' O* [9 v6 C! O7 n. K. Q5. radio 无线限传输控制命令格式:nmcli radio {all|wifi|wwan}: W5 |9 V6 [0 K( {. b3 P" t" z
显示无线开关状态,或启用和禁用开关 [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. E% Y0 }7 {4 r7 C) P: c
8 ]; m4 M. k- n! M3 [6. monitor 活动监视器活动监视器(ACTIVITY MONITOR) 观察网络管理器活动。监视连接的变化状态、设备或连接配置文件。 另请参阅 nmcli connection monitor 和nmcli device monitor某些设备或连接中的更改。
0 T e, ?3 O5 n5 @
+ s9 x) g# @* Y5 V" ]) a7. connection 连接管理命令格式:nmcli connection {show|up|down|modify|add|edit|clone|delete|monitor|reload|load|import|export}
- i4 ?7 {$ k1 A& W2 N这是主要使用的一个功能。
, D- c: C* c" P7.1 showshow有两种用法,分别是: + r$ d0 b ?: p. @* i
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
% b$ `: |7 f9 q3 p2. 查看指定连接的详细信息 [root@www ~]# nmcli connection show eth0# 省略......
! k. b# q$ h! C# I. @/ V! o: t; }7.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" V3 R* b" j7 T' Y
7.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
, p4 F7 V7 @3 l0 ^1 q" H4 e7.4 modify这些属性可以用nmcli connection show eth0进行获取,然后可以修改、添加或删除属性,若要设置属性,只需指定属性名称后跟值,空值将删除属性值,同一属性添加多个值使用+。同一属性删除指定值用-加索引。 - d% {# K6 E( E5 _, q( a; y
添加多个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& g/ X" F' C, N* { h# R3 J1 O( d
删除指定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& K4 W+ S& B- e( X7 U
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查看。 1 ~7 b! c# h2 o0 w
7.6 clone克隆连接,克隆一个存在的连接,除了连接名称和uuid是新生成的,其他都是一样的。 [root@www ~]# nmcli connection clone eth0 eth0_1
: |6 ~+ l6 H% V; I7.7 delete删除连接,这将删除一个连接。 [root@www ~]# nmcli connection delete eth0_1
( }& P% L0 ?& o/ K- t \. `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 --
) j" n/ w1 b* Z0 d+ u, G* b3 I7.9 monitor监视连接配置文件活动。每当指定的连接更改时, 此命令都会打印一行。要监视的连接由其名称、UUID 或 D 总线路径标识。如果 ID 不明确, 则可以使用关键字 id、uuid 或路径。有关 ID 指定关键字的说明, 请参阅上面的连接显示。 监视所有连接配置文件, 以防指定无。当所有监视的连接消失时, 该命令将终止。如果要监视连接创建, 请考虑使用带有 nmcli 监视器命令的全局监视器。 [root@www ~]# nmcli connection monitor eth0
1 g# ]# m# k* K6 J+ w
. V% A& l* ?5 Z8. device 设备管理命令格式:nmcli device {status|show|set|connect|reapply|modify|disconnect|delete|monitor|wifi|lldp}, s. P2 q p# }, \6 x$ Q J
显示和管理设备接口。该选项有很多功能,例如连接wifi,创建热点,扫描无线,邻近发现等,下面仅列出常用选项。详细功能可使用nmcli device help查看。
/ }+ M' M* c m5 L9 j8.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 --7 K% I5 g E" g* o5 K
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
" T0 g; X9 X' h& ^8.3 set设置设备属性 [root@www ~]# nmcli device set ifname eth0 autoconnect yes
) M4 V5 P2 w$ \5 a# e' y; `# T! E8.4 connect连接设备。提供一个设备接口,网络管理器将尝试找到一个合适的连接, 将被激活。它还将考虑未设置为自动连接的连接。(默认超时为90s) [root@www ~]# nmcli dev connect eth0Device 'eth0' successfully activated with '5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03'.
: ~, I' A; u0 s! S n8.5 reapply使用上次应用后对当前活动连接所做的更改来更新设备。 [root@www ~]# nmcli device reapply eth0Connection successfully reapplied to device 'eth0'.; r- K( h0 l4 y. K
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'.# y% j N2 G9 i. G( I
8.7 disconnect断开当前连接的设备,防止自动连接。但注意,断开意味着设备停止!但可用 connect 进行连接 [root@www ~]# nmcli device disconnect eth0
, m- a8 P, X0 P' A8 `2 z B$ o7 u" i8.8 delete删除设备,该命令从系统中删除接口。请注意, 这仅适用于诸如bonds, bridges, teams等软件设备。命令无法删除硬件设备 (如以太网)。超时时间为10秒 [root@www ~]# nmcli device delete bonds% @! @: p9 k |5 D9 v# L
8.9 monitor监视设备活动。每当指定的设备更改状态时, 此命令都会打印一行。 监视所有设备以防未指定接口。当所有指定的设备消失时, 监视器将终止。如果要监视设备添加, 请考虑使用带有 nmcli 监视器命令的全局监视器。 [root@www ~]# nmcli device monitor eth0
+ j( c1 e+ ~$ I2 X" |5 L
! M2 D' a1 m$ q* ]' T2 O0 J" A9. nmcli 返回状态码mcli 如果成功退出状态值为0,如果发生错误则返回大于0的值。 |