CentOS 8 的网络管理
一、 NM 简介
CentOS 8默认通过NetworkManager.service(简称NM)进行网络管理,当然 CentOS 8依然支持 network.service,只是默认没有安装,不过官方已明确在下一个大版本中,将彻底放弃 network.service,因此使用 NM 将使大势所趋。
NM服务是管理和监控网络设置的守护进程,它是一个动态的,事件驱动的网络管理服务。NM服务可以通过多种方式进行管理,如:命令行(nmcli)、文本界面(nmtui)、图形界面(nm-connection-editor)等,现在RedHat系、Suse系、Debian/Ubuntu系,均支持NM服务。
二、nmcli 命令
1:nmcli connection (查看网络连接信息)
查看网卡的配置文件,可以简写为nmcli c
网络连接有2种状态:
- 活跃(带颜色字体):表示当前该connection生效
- 非活跃(正常字体):表示当前该connection不生效
2:nmcli device (查看接口信息)
查看存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d
接口信息有4种常见状态:
- connected:已被NM纳管,并且当前有活跃的网络连接
- disconnected:已被NM纳管,但是当前没有活跃的网络连接
- unmanaged:未被NM纳管
- unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候
三、Nmcli常用配置命令
1、查看ip(类似于ifconfig、ip addr)
# nmcli
2、配置静态ip
# nmcli connection add type ethernet con-name connection-name ifname interface-name ipv4.addresses address ipv4.gateway address ipv4.method manual
注意:
(1)ipv4.address和ipv4.gateway可以缩写成ip4和gw4
(2)注意:如果这是为网卡创建的第一个连接,则自动生效;如果此时已有连接存在,则该连接不会自动生效。需要通过nmcli connection up connection-name 使用配置生效。
3、修改ip地址(非交互式)
# nmcli connection modify [connection-name|uuid] [+|-]ipv4.addresses address
注意:
(1)ipv4.addresses前面的+和-代表增加或删除一个ip地址,配置时如果没有+和-,则表示修改ip地址。
(2)修改ip不会立即生效,需要通过nmcli connection up connection-name 使用配置生效。
4、修改ip地址(交互式)
进入交互式界面,如下:
# nmcli connection edit [connection-name|uuid]
注意:在交互界面,如果只进行save,没有activate就直接退出的话,需要通过nmcli connection up connection-name 使用配置生效。
5、删除连接信息
# nmcli connection delete [connection-name|uuid]
6、启用网络连接
# nmcli connection up [connection-name|uuid]
注意:
(1)同一块网卡,只能启一个网络连接
(2)如手动修改过网卡配置文件后,可以通过启用网络连接,实现配置更新(类似systemctl restart network)
7、关闭网络连接
# nmcli connection down [connection-name|uuid]
8、手动修改ifcfg网卡配置文件,生效方法
因为 CentOS 8 默认没有 network.server,所以无法通过 systemctl restart network.server 重启服务,实现配置文件生效,可以通过 nmcli 命令操作。
(1)重载网络连接:
# nmcli connection reload
重载所有ifcfg文件
# nmcli connection load /etc/sysconfig/network-scripts/ifcfg
指定重载ifcfg文件
(2)生效网络连接
此三命令都可以生效网络连接
# nmcli connection up connection-name
# nmcl device connect interface-name
# nmcl device reapply interface-name