可临时用ifconfig或ip命令修改子网掩码,但重启后失效;永久修改需编辑/etc/sysconfig/network-scripts/ifcfg-文件并重启网络服务。

可以直接用 ifconfig 或更现代的 ip 命令修改,但要注意:这些是临时生效的操作,重启网络服务或系统后会丢失。如需永久生效,得改配置文件。
用 ifconfig 临时修改子网掩码和广播地址
命令格式统一为:
sudo ifconfig <ip> netmask broadcast </ip>
例如,把 eth0 的 IP 设为 192.168.50.100,子网掩码设为 255.255.255.0,广播地址设为 192.168.50.255:
sudo ifconfig eth0 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
⚠️ 注意:只改子网掩码或只改广播地址时,也必须带上 IP 地址,否则会清空原有 IP;若只想改掩码不改 IP,就重复当前 IP(如已知是 192.168.50.100,就写全)。
用 ip 命令临时修改(推荐替代 ifconfig)
ip 命令更清晰、更符合现代 Linux 实践:
- 修改 IP + 子网掩码:
sudo ip addr replace 192.168.50.100/24 dev eth0(/24等价于 255.255.255.0) - 广播地址由子网自动推导,无需单独设置;但若需显式指定(如特殊网络环境),可在路由层补充:
sudo ip route replace default via dev eth0 src 192.168.50.100
验证是否生效:ip addr show eth0 或 ifconfig eth0,看 inet 行的 inet 192.168.50.100/24 和对应 broadcast 字段。
永久修改子网掩码与广播地址
主流发行版(如 CentOS/RHEL、Rocky、AlmaLinux)配置文件路径为:/etc/sysconfig/network-scripts/ifcfg-eth0(网卡名按实际替换)。
编辑该文件,确保包含以下几行:
BOOTPROTO=staticIPADDR=192.168.50.100-
NETMASK=255.255.255.0(子网掩码) -
BROADCAST=192.168.50.255(广播地址,可选;多数情况下系统自动计算,但显式写上更稳妥) ONBOOT=yes
保存后重启网络:sudo systemctl restart NetworkManager(桌面环境)或 sudo systemctl restart network(传统服务器环境)。
常见问题提醒
修改后无法上网?大概率是网关丢失 —— 子网掩码或 IP 变更后,原有默认路由常被清除。请立即检查:
- 查路由表:
ip route show,确认是否有default via xxx.xxx.xxx.xxx - 若缺失,手动加网关:
sudo ip route add default via 192.168.50.1 dev eth0(网关地址按实际填写) - 永久网关写在 ifcfg 文件中:
GATEWAY=192.168.50.1











