在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.100255.255.255.0192.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网络配置!