在Linux中,netmask
(子网掩码)是一个用于划分IP地址中网络部分和主机部分的32位二进制数。它与IP地址结合使用,确定一个IP地址属于哪个子网。
作用:
表示形式:
255.255.255.0
(对应24位网络前缀)。/24
(等同于 255.255.255.0
)。常见子网掩码:
255.0.0.0
(/8)255.255.0.0
(/16)255.255.255.0
(/24)ifconfig
# 或
ip addr show
输出示例:
eth0: inet 192.168.1.100 netmask 255.255.255.0
ifconfig eth0 netmask 255.255.255.0
# 或
ip addr add 192.168.1.100/24 dev eth0
/etc/network/interfaces
:
plaintext
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
/etc/sysconfig/network-scripts/ifcfg-eth0
):
plaintext
NETMASK=255.255.255.0
现代工具(如 ip
命令)更常用CIDR格式(如 192.168.1.100/24
),子网掩码会自动计算。
二进制转换:
255.255.255.0
= 11111111.11111111.11111111.00000000
(前24位为网络位)。
网络地址计算:
192.168.1.100
255.255.255.0
192.168.1.0
(IP与Netmask按位与运算)。主机范围:
192.168.1.1
~ 192.168.1.254
(广播地址为192.168.1.255
)。Netmask与CIDR的关系:
/24
= 255.255.255.0
,/16
= 255.255.0.0
。
为什么需要Netmask?
/24
允许254个主机,/30
仅允许2个主机)。默认Netmask:
255.0.0.0
(/8)255.255.0.0
(/16)255.255.255.0
(/24)ipcalc
工具(需安装):
bash
ipcalc 192.168.1.100/24
输出示例:
Address: 192.168.1.100
Netmask: 255.255.255.0 = 24
Network: 192.168.1.0/24
HostMin: 192.168.1.1
HostMax: 192.168.1.254
通过理解netmask
,你可以更灵活地管理Linux网络配置!