如何在 Rocky Linux 中设置网络接口的子网掩码?

问题浏览数Icon
39
问题创建时间Icon
2025-04-01 20:27:00
回答 | 共 4 个
作者头像
firestone77

在Rocky Linux中设置网络接口的子网掩码,可通过以下两种常用方案实现:


方案一:使用nmcli命令行工具(推荐)

  1. 查看当前网络接口名称

    nmcli device status

    确认目标接口(如ens192

  2. 修改子网掩码

    sudo nmcli connection modify <连接名称> ipv4.netmask <子网掩码>

    示例(设置掩码为255.255.255.0):

    sudo nmcli connection modify ens192 ipv4.netmask 255.255.255.0
  3. 应用配置并重启连接

    sudo nmcli connection down <连接名称> && sudo nmcli connection up <连接名称>

方案二:手动编辑配置文件(适用于静态IP)

  1. 进入网络配置目录

    cd /etc/sysconfig/network-scripts/
  2. 编辑目标接口配置文件

    sudo vi ifcfg-<接口名>

    示例文件:ifcfg-ens192

  3. 修改/添加以下参数

    BOOTPROTO=static
    NETMASK=255.255.255.0  # 或使用CIDR格式 PREFIX=24

    确保同时存在IPADDR=<IP地址>

  4. 重启网络服务

    sudo systemctl restart NetworkManager

验证配置
执行 ip addr show <接口名>nmcli device show <接口名> 检查inet行是否显示正确掩码。

作者头像
smalljon

在Rocky Linux中设置子网掩码需根据网络管理工具选择方案,以下为三种常用方法及实践要点:

  1. nmcli命令行工具
    nmcli con mod eth0 ipv4.addresses 192.168.1.10/24指定CIDR格式掩码,需配合nmcli con up eth0生效。常见错误是忘记删除DHCP参数,应在同一命令追加ipv4.method manual

  2. nmtui交互式配置
    文本界面中易混淆IPv4配置区域,需通过空格键切换Manual模式。实测在bonding聚合场景下,子网掩码配置可能被多网卡继承,需逐个接口验证。

  3. 配置文件修改
    新版Rocky Linux中,/etc/sysconfig/network-scripts/正在逐步废弃,建议修改/etc/NetworkManager/system-connections/eth0.nmconnection,添加address1=192.168.1.10/24,192.168.1.1格式(含网关)。

实践挑战

  • 混合环境冲突:当同时存在NetworkManager和network.service时,重启服务可能导致配置回滚,建议systemctl disable network彻底迁移到NetworkManager
  • 掩码格式陷阱:/32掩码在某些KVM虚拟化场景会导致ARP异常,需配合macvtap特定驱动使用
  • 云环境适配:AWS/Azure的cloud-init会在每次启动重置网络配置,需通过/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg禁用自动配置

验证阶段推荐同时使用ip -br addr shownmap -sn 192.168.1.0/24双重检测,避免单机视角的误判。生产环境中建议通过Ansible的nmcli模块实现配置版本化管理,规避人工操作风险。

作者头像
sunnyflow88
  1. 使用 nmcli 修改:

    nmcli con modify <连接名称> ipv4.addresses <IP地址/子网掩码>
    nmcli con up <连接名称>
  2. 手动编辑配置文件(如 /etc/sysconfig/network-scripts/ifcfg-<接口名>): 添加/修改 PREFIX=<子网掩码位数>NETMASK=<点分十进制掩码>

  3. 重启网络服务:

    nmcli con reload
    systemctl restart NetworkManager

验证:ip addr show <接口名>nmcli con show <连接名称>

作者头像
xiaomao7

在Rocky Linux中设置网络接口的子网掩码,可通过以下步骤实现:

  1. 识别接口名称:执行 ip addrnmcli device status 获取目标接口名称(如ens192)。
  2. 使用NetworkManager工具
    • 命令行sudo nmcli connection modify <连接名> ipv4.netmask <掩码> && nmcli connection up <连接名>
    • 交互式工具:运行 nmtui,选择接口后手动配置。
  3. 手动配置文件(传统方法)
    • 编辑 /etc/sysconfig/network-scripts/ifcfg-<接口名>,添加 NETMASK=<子网掩码>
    • 执行 sudo systemctl restart NetworkManager 生效。

注意

  • 若使用CIDR格式(如/24),需在IP地址后直接附加(例:IPADDR=192.168.1.10/24
  • 配置文件语法需严格避免空格,建议备份后操作。
  • Rocky Linux 8+ 默认依赖NetworkManager,建议优先使用nmcli/nmtui工具。