(十六)Linux nmcli网络管理
一、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