nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全,也可在命令最后通过-h、--help、help查看帮助。在nmcli中有2个命令最为常用:
代码语言:python代码运行次数:0复制nmcli语法:
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT和COMMAND可以用全称也可以用简称,最少可以只用一个字母,建议用头三个字母。OBJECT里面我们平时用的最多的就是connection和device,还有其他的选项在里暂时不介绍,这里需要简单区分一下connection和device
·
nmcli 常用选项
代码语言:python代码运行次数:0复制OPTIONS
-t[erse] # terse output 简洁的输出
-p[retty] # pretty output 漂亮的输出
-m[ode] tabular|multiline # output mode 输出模式
-f[ields] <field1,field2,...>|all|common # specify fields to output 指定要输出的字段
-e[scape] yes|no # escape columns separators in values 在值中转义列分隔符
-n[ocheck] # 不要检查nmcli和NetworkManager版本
-a[sk] # 要求缺少参数
-w[ait] <seconds> # 设置超时等待整理操作
-v[ersion] # 显示程序版本
-h[elp] # 打印此帮助
OBJECT
g[eneral] NetworkManager的一般状态和操作
n[etworking] 整体组网控制
r[adio] NetworkManager切换开关
c[onnection] NetworkManager的连接
d[evice] 由NetworkManager管理的设备
a[gent] NetworkManager秘密代理或polkit代理
nmcli connection show # 查看当前连接状态
nmcli connection reload # 重启服务
nmcli connection show -active # 显示活动的连接
nmcli connection show "lan eth0"# 显示指定一个网络连接配置
nmcli device status # 显示设备状态
nmcli device show eno16777736 # 显示指定接口属性
nmcli device show # 显示全部接口属性
nmcli con up static # 启用static连接配置
nmcli con up default # 启用default连接配置
nmcli con add help # 查看帮助
nmcli connection及常用选项
代码语言:python代码运行次数:0复制[root@zutuanxue ~]# nmcli connection
add 添加
delete 删除
edit 编辑
help 帮助
load 加载
monitor 监控
show 查看
clone 克隆
down 停用
modify 修改
reload 重载
up 启用
nmcli device及常用选项
代码语言:python代码运行次数:0复制[root@zutuanxue ~]# nmcli device
connect 连接
disconnect 断开
lldp 显示通过lldp协议学习到的相邻设备信息
monitor 监控设备
set 设置设备
status 显示设备状态
delete 删除设备 只能删除软件设备
help 帮助
modify 修改
reapply 更新
show 查看详细信息
wifi 无线网络管理
启动和停止接口
代码语言:python代码运行次数:0复制nmcli connection down connection-name
nmcli connection up connection-name
nmcli device disconnect interface-name
nmcli device connect interface-name
nmcli的其他常用设置
代码语言:python代码运行次数:0复制-c count
// count表示数量。抓取数据包的数量达到count后结束命令,如果不使用-c 参数,会不停的抓取数据包,直到手动停止
-C file_size
// 抓取数据包保存到文件时,通过该命令指定文件的大小。文件达到指定大小后,会创建一个在原文件名称后面加上序号的新文件,如:dump.txt,dump.txt1。file_size的单位是b
-D
// 列出服务器所有网卡。tcpdump默认监听的是编号最小的那个网卡,一般是eth0。在进行抓包时可以通过 -i 参数指定监听的网卡,any表示监听所有网卡
-i interfaces
// 指定监听的网卡名称,any表示监听所有的网卡
-n
// 输出结果中,不把ip转换成主机名(默认显示的是主机名)
-q
// 快速输出,只输出简要的数据包信息
-r file
// 从文件中获取数据包,不再从网络获取数据包
-t
// 不输出时间戳
-w file
// 将抓取的数据包保存到文件,-r 参数可以从文件中读取数据包
-W filecount
// 指定文件的数量,当文件滚动到指定数量后会从第一个文件开始覆盖
-host
// 过滤主机,如 tcpdump host 192.168.1.110 只抓取经过这个ip的数据包
-src
// 用来过滤请求来源方的参数,如:tcpdump src host 192.168.1.110 只抓取从这个ip过来的数据包
-dst
// 用来过滤请求接收方的参数,如:tcpdump dst host 192.168.1.110 只抓取发送到这个ip的数据包
-port
// 过滤端口,如:tcpdump port 8080 只抓取经过8080端口的数据包
-net
// 过滤网络,如:tcpdump net 192.168 只抓取经过这个网段的数据包
-and、not、or
// 条件过滤,和字面意思一样。如:tcpdump net 192.168 and port 8080 抓取经过192.168网段并经过8080端口的数据包
一:查看网卡信息
查看所有网络连接
代码语言:python代码运行次数:0复制nmcli connection show
查看活动的网络连接
代码语言:python代码运行次数:0复制nmcli connection show -active
查看指定网卡的详细信息
代码语言:python代码运行次数:0复制nmcli connection show ethernet-mgbe0 # ethernet-mgbe0 为connection name,通过 nmcli connection show查询
显示设备的连接状态
代码语言:python代码运行次数:0复制nmcli device status
显示所有设备网络设备详情信息
代码语言:python代码运行次数:0复制nmcli device show
显示指定网络设备的详细信息
代码语言:python代码运行次数:0复制nmcli device show mgbe0 # mgbe0 为网卡名称
二:网卡修改命令
启用网络连接
代码语言:python代码运行次数:0复制nmcli connection up ethernet-mgbe0 # ethernet-mgbe0为连接名称
停用网络连接-可以被自动激活
代码语言:python代码运行次数:0复制nmcli connection down ethernet-mgbe0 # ethernet-mgbe0为连接名称
禁用网卡放置被激活
代码语言:python代码运行次数:0复制nmcli device disconnect mgbe0 # mgbe0为网卡名称
删除网络连接的配置文件
代码语言:python代码运行次数:0复制nmcli connection delete ethernet-mgbe0 # ethernet-mgbe0为连接名称
重新加载网络配置文件
代码语言:python代码运行次数:0复制nmcli connection reload
三:修改网卡配置
设置自动启动网卡
代码语言:python代码运行次数:0复制nmcli connection modify ethernet-mgbe0 connection.autoconnect yes # ethernet-mgbe0为连接名称
设置IP地址获取方式是手动或者DHCP
代码语言:python代码运行次数:0复制手动设置IPv4地址,如果原本是DHCP获取地址,改手动后,如果后面不接IP地址,可能会报错
[root@localhost network-scripts]nmcli connection modify ethernet-mgbe0 ipv4.method manual ipv4.addresses 172.16.10.1/16
设置IP地址为DHCP
network-scripts]nmcli connection modify ens37 ipv4.method auto
实际修改的是网卡配置文件BOOTPROTO,BOOTPROTO=none 表示手动;BOOTPROTO=dhcp 表示dhcp
修改IP地址
代码语言:python代码运行次数:0复制nmcli connection modify ethernet-mgbe0 ipv4.addresses 172.16.10.100/24 # ethernet-mgbe0为连接名称
修改网关
代码语言:python代码运行次数:0复制nmcli connection modify ethernet-mgbe0 ipv4.gateway 172.16.1.1 # ethernet-mgbe0为连接名称
添加第二个IP地址
代码语言:python代码运行次数:0复制nmcli connection modify ethernet-mgbe0 ipv4.addresses 172.16.10.10/24 # ethernet-mgbe0为连接名称
添加DNS
代码语言:python代码运行次数:0复制nmcli connection modify ethernet-mgbe0 ipv4.dns 114.114.114.114 # ethernet-mgbe0为连接名称
添加第二个DNS
代码语言:python代码运行次数:0复制nmcli connection modify ethernet-mgbe0 ipv4.dns 8.8.8.8 # ethernet-mgbe0为连接名称
删除第二个DNS
代码语言:python代码运行次数:0复制nmcli connection modify ethernet-mgbe0 -ipv4.dns 8.8.8.8 # ethernet-mgbe0为连接名称
添加网卡
代码语言:python代码运行次数:0复制【root@localhost】nmcli connection add type ethernet ifname ens8 con-name ethernet-ens8