nmcli网络配置命令

2024-01-16 10:56:44 浏览数 (2)

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

0 人点赞