插件窝 干货文章 linux netmask是什么

linux netmask是什么

子网 netmask 263    来源:    2025-05-03

在Linux中,netmask(子网掩码)是一个用于划分IP地址中网络部分主机部分的32位二进制数。它与IP地址结合使用,确定一个IP地址属于哪个子网。


关键概念

  1. 作用

    • 将IP地址分为网络地址主机地址两部分。
    • 帮助设备判断目标IP是否在同一局域网内(直接通信)或需要经过网关(跨子网通信)。
  2. 表示形式

    • 点分十进制:如 255.255.255.0(对应24位网络前缀)。
    • CIDR表示法:如 /24(等同于 255.255.255.0)。
  3. 常见子网掩码

    • 255.0.0.0(/8)
    • 255.255.0.0(/16)
    • 255.255.255.0(/24)

Linux中查看/配置Netmask

1. 查看当前配置

ifconfig
# 或
ip addr show

输出示例:

eth0: inet 192.168.1.100 netmask 255.255.255.0

2. 临时设置Netmask

ifconfig eth0 netmask 255.255.255.0
# 或
ip addr add 192.168.1.100/24 dev eth0

3. 永久配置(根据发行版)

  • Debian/Ubuntu:修改 /etc/network/interfacesplaintext auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1
  • RHEL/CentOS:修改网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-eth0): plaintext NETMASK=255.255.255.0

4. 通过CIDR表示法

现代工具(如 ip 命令)更常用CIDR格式(如 192.168.1.100/24),子网掩码会自动计算。


如何计算Netmask

  1. 二进制转换
    255.255.255.0 = 11111111.11111111.11111111.00000000(前24位为网络位)。

  2. 网络地址计算

    • IP:192.168.1.100
    • Netmask:255.255.255.0
    • 网络地址:192.168.1.0(IP与Netmask按位与运算)。
  3. 主机范围

    • 可用主机:192.168.1.1 ~ 192.168.1.254(广播地址为192.168.1.255)。

常见问题

  1. Netmask与CIDR的关系
    /24 = 255.255.255.0/16 = 255.255.0.0

  2. 为什么需要Netmask?

    • 区分本地网络和远程网络,优化路由效率。
    • 控制子网规模(如/24允许254个主机,/30仅允许2个主机)。
  3. 默认Netmask

    • A类:255.0.0.0(/8)
    • B类:255.255.0.0(/16)
    • C类: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网络配置!