在
Linux 网络配置中,子网掩码(
netmask )是划分 IP 地址网络部分与主机部分的核心参数。例如,IP 地址
192.168.1.100
搭配子网掩码
255.255.255.0
时,系统会识别网络部分为
192.168.1.0
,主机部分为
100
。这一机制直接影响局域网通信、路由表生成和访问控制等核心功能。本文通过 Debian/
Ubuntu 、CentOS/RHEL 两大发行版的实战案例,解析子网掩码的配置方法与故障排查技巧。
子网掩码由 32 位二进制数组成,连续的1
代表网络位,连续的0
代表主机位:
255.255.255.0
→ 二进制11111111.11111111.11111111.00000000
(前 24 位为网络位,即/24
)
255.255.0.0
→ 二进制11111111.11111111.00000000.00000000
(前 16 位为网络位,即/16
)
网络隔离 :划分不同子网(如研发部192.168.1.0/24
与财务部192.168.2.0/24
)
路由优化 :帮助路由器 计算最短路径
访问控制 :防火墙 基于子网掩码匹配特定流量
场景类型
示例配置
适用环境
小型局域网
192.168.1.0/24
家庭 / 办公室(≤254 台设备)
多子网隔离
10.1.1.0/24
等
中型企业网络
路由器 互联
172.16.0.1/30
点对点链路(仅需 2 个 IP)
sudo ip addr add 192.168 .1.100/24 dev eth0
sudo ip addr show eth0 | grep inet
sudo ifconfig eth0 192.168 .1.100 netmask 255.255 .255.0
sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168 .1.100
netmask 255.255 .255.0
gateway 192.168 .1.1
dns-nameservers 8.8 .8.8 8.8 .4.4
sudo systemctl restart networking
sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [ 192.168 .1.100/24]
gateway4: 192.168 .1.1
nameservers:
addresses: [ 8.8 .8.8, 8.8 .4.4]
sudo netplan apply
sudo ifconfig eth0 192.168 .1.100 netmask 255.255 .255.0
sudo ip addr add 192.168 .1.100/24 dev eth0
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
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
sudo systemctl restart network
sudo ifconfig eth0:1 192.168 .1.101 netmask 255.255 .255.0
echo "auto eth0:1
iface eth0:1 inet static
address 192.168.1.101
netmask 255.255.255.0" | sudo tee -a /etc/network/interfaces
sudo systemctl restart networking
现象 :配置
192.168.1.100/25
后无法访问
网关 192.168.1.1
原因 :
/25
掩码(
255.255.255.128
)将网络分为
0-127
和
128-255
,IP 与
网关 不在同一子网
解决 :统一掩码为
/24
sudo ip addr change 192.168 .1.100/24 dev eth0
十进制掩码
CIDR 表示
可用主机数
255.255.255.0
/24
254
255.255.0.0
/16
65,534
255.255.254.0
/23
510
255.255.255.192
/26
62
禁用临时配置 :通过配置文件永久化设置,避免重启失效
使用 CIDR 格式 :如/24
代替255.255.255.0
,简洁且易维护
配置前备份 :
sudo cp /etc/network/interfaces /etc/network/interfaces.bak
图形化工具 :用nmcli
快速配置(支持 NetworkManager 的系统)
nmcli connection mod ify eth0 ipv4.addresses 192.168 .1.100/24
nmcli connection up eth0
定期验证 :
ip route show | grep "192.168.1.0/24"
ping -c 4 192.168 .1.1
子网掩码配置是 Linux 网络的基础,需结合网络规模、隔离需求和扩展性综合设计。掌握本文的配置方法与故障排查技巧,可确保网络通信稳定,为业务系统提供可靠支撑。