linux修改子网掩码和网关分临时与永久两种:临时用ifconfig或ip addr设掩码、route或ip route设网关,立即生效但重启丢失;永久需编辑/etc/sysconfig/network-scripts/ifcfg-eth0(centos)或/etc/network/interfaces(ubuntu)等配置文件并重启网络服务。

直接用命令行改掩码和网关,分两种情况:临时生效和永久生效。临时改马上能用,但重启就丢;永久改要写配置文件,重启也不变。
临时修改子网掩码
用 ifconfig 或 ip 命令,不需要重启服务:
-
ifconfig 方式(传统,部分新系统已弃用):
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
这会同时设置 IP 和掩码;若只改掩码,需先确认当前 IP,再重设一次带新掩码的完整地址。 -
ip 命令方式(推荐,现代标准):
ip addr flush dev eth0(清空旧地址)ip addr add 192.168.1.100/24 dev eth0
其中/24等价于255.255.255.0,支持 CIDR 表示法更简洁。
临时修改默认网关
网关属于路由规则,用 route 或 ip route 设置:
- 先删掉旧默认网关(避免冲突):
route del default或ip route del default - 再添加新网关:
route add default gw 192.168.1.1
或更通用的写法:ip route add default via 192.168.1.1 dev eth0
显式指定出口网卡,避免多网卡时出错。
永久修改掩码和网关
需要编辑网卡配置文件,不同发行版路径略有差异:
- CentOS/RHEL/Fedora:
编辑/etc/sysconfig/network-scripts/ifcfg-eth0,确保包含:BOOTPROTO=staticIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1 - Debian/Ubuntu:
编辑/etc/network/interfaces,添加或修改:iface eth0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1 - 改完后重启网络:
CentOS:systemctl restart network或nmcli connection reload && nmcli connection down eth0 && nmcli connection up eth0
Ubuntu:systemctl restart networking或ifdown eth0 && ifup eth0
验证是否生效
改完别忘了检查:
- 看 IP 和掩码:
ip addr show eth0或ifconfig eth0 - 看默认路由:
ip route show default或route -n - 测试连通性:
ping -c 3 192.168.1.1(网关)、ping -c 3 8.8.8.8(外网)











