Linux nmcli 网络管理
RHEL 和 CentOS 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用 nmcli 命令来管理 NetworkManager 服务。nmcli 是一款基于命令行的网络配置工具,功能丰富,参数众多。
nmcli自带图形网络接口配置工具
命令:nmtui
常用操作
查询操作
- # 查询服务器所有网卡
- nmcli connection show
- # 查看正在使用的网卡
- nmcli connection show -active
- # 查看指定网卡信息详情
- nmcli connection show 设备名称
- # 查看所有网络设备状态
- nmcli device status
- # 查看所有网络设备状态详情
- nmcli device show
- # 查看指定网络设备状态详情
- nmcli device show 设备名称
修改操作
- # 创建DHCP类型网络设备、新建配置文件
- nmcli connection add con-name "连接名" type 设备类型 ifname 设备名称
- 实例:nmcli connection add con-name "dhcp" type ethernet ifname ens33
- # 创建静态类型网络设备、新建配置文件、添加IP地址、添加网关。 ↓面单独拿出来详解
- nmcli connection add con-name "连接名" ifname 设备名称 autoconnect no type 设备类型 ip4 IP地址 gw4 网关地址
- 实例:nmcli connection add con-name "static" ifname ens33 autoconnect no type ethernet ip4 192.168.1.240 gw4 192.168.1.1
- 注:autoconnect 为是否开启网络设备。
- 对应配置文件: autoconnect no/yes | ONBOOT=no/yes
- # 修该模式为手动(static)
- nmcli connection modify 设备名称 ipv4.method manual ipv4.addresses IP地址/网关
- 实例:nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.10/24
- 注:原本DHCP模式需要手动添加IP地址,不然会报错。
- 对应配置文件:ipv4.method manual/auto | BOOTPROTO=static/dhcp
- # 修该模式为自动(dhcp)
- nmcli connection modify 设备名称 ipv4.method auto
- 实例:nmcli connection modify ens33 ipv4.method auto
- 对应配置文件:ipv4.method manual/auto | BOOTPROTO=static/dhcp
- # 修该IP地址
- nmcli connection modify 设备名称 ipv4.addresses IP地址/网关
- 实例:nmcli connection modify ens33 ipv4.addresses 192.168.1.10/24
- 对应配置文件:ipv4.addresses x.x.x.x/x | IPADDR=x.x.x.x 、PREFIX=x
- # 修该网关
- nmcli connection modify 设备名称 ipv4.gateway 网关地址
- 实例:nmcli connection modify ens33 ipv4.gateway 192.168.1.1
- 对应配置文件:ipv4.gateway x.x.x.x | GATEWAY=x.x.x.x
- # 已创建静态网络设备、添加DNS
- nmcli connection modify 设备名称 ipv4.dns DNS地址
- 实例:nmcli connection modify ens33 ipv4.dns 8.8.8.8
- 对应配置文件:ipv4.dns x.x.x.x | DNS=x.x.x.x
- # 已创建静态网络设备、添加第二个DNS
- nmcli connection modify 设备名称 +ipv4.dns DNS地址
- 实例:nmcli connection modify ens33 +ipv4.dns 9.9.9.9
- 对应配置文件:ipv4.dns x.x.x.x | DNS2=x.x.x.x
- # 修该模式为手动(static)、IPV6
- nmcli connection modify 设备名称 ipv6.addresses 'IPV6地址/掩码' ipv6.method 手动
- 实例:nmcli connection modify ens33 ipv6.addresses '2001:ac18::132/64' ipv6.method manual
- 注:原本DHCP模式需要手动添加IP地址,不然会报错。
删除操作
- # 删除指定网络设备、DNS地址
- nmcli connection modify 设备名称 -ipv4.dns 已存在DNS地址
- 实例:nmcli connection modify ens33 -ipv4.dns 8.8.8.8
- # 删除网络连接配置文件
- nmcli connection delete 设备名称
- 实例:nmcli connection delete ens33
其他操作
- # 启用网络设备连接
- nmcli connection up 设备名称
- 实例:nmcli connection up ens33
- # 停用网络连接、可以被自动激活
- nmcli connection down 设备名称
- 实例:nmcli connection up ens33
- # 停用网络连接,禁止被激活
- nmcli device disconnect 设备名称
- 实例:nmcli device disconnect ens33
- # 重新加载网络配置文件
- nmcli connection reload