修改NETMASK必须与IPADDR、GATEWAY处于同一子网,否则网络不通;可通过编辑ifcfg文件、nmcli(需CIDR格式)或临时ifconfig设置,但需重启网络服务或重载连接才能生效,且务必验证子网划分合理性。

直接改 NETMASK 行就行,但必须和 IP、网关在同一个子网里,否则网络直接不通。
修改 /etc/sysconfig/network-scripts/ifcfg-ens33 中的 NETMASK
子网掩码不是独立参数,它和 IPADDR、GATEWAY 必须逻辑自洽。比如你设 IPADDR=192.168.137.10,那 NETMASK 就不能写成 255.255.0.0(这会把网段扩大到 192.168.0.0/16),否则网关 192.168.137.2 就不在同一子网内,路由失败。
- 打开对应网卡配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33(把ens33换成你的真实网卡名) - 确认
BOOTPROTO=static,否则NETMASK不生效 - 修改或添加这一行:
NETMASK=255.255.255.0(常见值)或PREFIX=24(等价写法,更现代) - 保存退出后必须重启网络服务:
systemctl restart network或service network restart
用 nmcli 改子网掩码时要带 CIDR 表示法
nmcli 不认单独的 NETMASK 字段,它要求把掩码合并进 IP 地址里,用 CIDR 格式(如 192.168.137.10/24)。只改掩码不改 IP 时容易漏掉这个细节。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 查当前连接名:
nmcli connection show - 修改 IPv4 地址+前缀:
nmcli connection modify "ens33" ipv4.addresses 192.168.137.10/24 - 同时确保方法为 manual:
nmcli connection modify "ens33" ipv4.method manual - 重载连接:
nmcli connection down "ens33" && nmcli connection up "ens33" - 注意:如果只运行
nmcli connection modify但没down/up,变更不会生效
ifconfig 设置的子网掩码是临时的,重启就丢
用 ifconfig ens33 192.168.137.10 netmask 255.255.255.0 能立刻生效,但这是内核层面的临时配置,不写入任何配置文件。系统重启、network 服务重启、甚至网卡 down/up 都会清掉它。
- 仅适合调试或临时测试,比如验证某个掩码是否能通网关:
ping -c 3 192.168.137.2 - 不要和静态配置混用——如果
/etc/sysconfig/network-scripts/ifcfg-ens33里写了NETMASK,又用ifconfig覆盖,重启后会回退到文件值,造成预期外行为 - 查看当前生效掩码用:
ip addr show ens33 | grep inet(输出里/24就是掩码)
真正麻烦的不是改哪一行,而是改完之后没验证子网划分是否合理——比如把 NETMASK=255.255.255.0 错改成 255.255.255.128,IP 和网关可能突然跨子网,连 ping 自己的网关都会超时,这时候得回头检查整个地址块的二进制对齐。

















