在 CentOS-Stream-9 中使用 network 服务代替 NetworkManager

在 CentOS-Stream-9 中,默认的网络管理工具是 NetworkManager。但在某些场景下,如需要进行低级别的网络配置或脚本控制时,使用传统的 network 服务可能更为合适。以下是如何在 CentOS-Stream-9 中禁用 NetworkManager 并启用 network 服务的详细步骤。

一、禁用 NetworkManager

  1. 停止并禁用 NetworkManager 服务:
    首先,停止 NetworkManager 服务,并防止其在系统启动时自动启动。

    sudo systemctl stop NetworkManager
    sudo systemctl disable NetworkManager
  2. 确认 NetworkManager 已停止:
    使用以下命令确认 NetworkManager 已停止运行。

    sudo systemctl status NetworkManager

二、安装 network 服务

  1. 安装 network-scripts 包:
    默认情况下,CentOS-Stream-9 可能未安装 network-scripts 包。使用以下命令安装该包:

    sudo dnf install network-scripts
  2. 启用 network 服务:
    安装完成后,启用 network 服务,并确保其在系统启动时自动启动。

    sudo systemctl enable network
    sudo systemctl start network
  3. 确认 network 服务状态:
    使用以下命令确认 network 服务已启动。

    sudo systemctl status network

三、配置网络接口

  1. 编辑网络配置文件:
    network 服务使用 /etc/sysconfig/network-scripts/ 目录下的配置文件来管理网络接口。每个网络接口都有一个对应的配置文件,如 ifcfg-eth0。以下是一个典型的配置文件示例:

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

    配置文件内容示例:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes

    对于静态 IP 配置,示例如下:

    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
  2. 重启网络服务:
    编辑完配置文件后,重启 network 服务以应用新的配置。

    sudo systemctl restart network
  3. 验证网络连接:
    使用 ip addr 或 ifconfig 命令验证网络接口是否已正确配置和激活。

    ip addr show eth0

四、检查和排除故障

  1. 查看网络状态和日志:
    如果网络连接有问题,可以查看 network 服务的状态和日志获取更多信息。

    sudo systemctl status network
    sudo journalctl -u network
  2. 检查配置文件语法:
    确保配置文件中没有拼写错误或语法问题,尤其是关键字和值之间不要有多余的空格或错误。

思维导图

graph TD;
    A[CentOS-Stream-9 中使用 network 服务] --> B[禁用 NetworkManager]
    B --> B1[停止 NetworkManager 服务]
    B --> B2[禁用 NetworkManager 自动启动]
    B --> B3[确认 NetworkManager 已停止]

    A --> C[安装 network 服务]
    C --> C1[安装 network-scripts 包]
    C --> C2[启用 network 服务]
    C --> C3[确认 network 服务状态]

    A --> D[配置网络接口]
    D --> D1[编辑网络配置文件]
    D --> D2[重启 network 服务]
    D --> D3[验证网络连接]

    A --> E[检查和排除故障]
    E --> E1[查看网络状态和日志]
    E --> E2[检查配置文件语法]

总结

通过禁用 NetworkManager 并启用 network 服务,您可以在 CentOS-Stream-9 中实现更加细粒度的网络管理。这对于某些需要低级别网络控制的场景非常有用。确保正确安装和配置 network-scripts 包,并编辑网络接口配置文件来满足特定需求。通过上述步骤,您可以顺利地从 NetworkManager 过渡到使用 network 服务进行网络管理。