CIDR 表示法:/24、/32 的含义和只匹配单个 IP 的写法

CIDR(无类别域间路由)用”IP地址/前缀长度”表示一段 IP 范围,前缀长度决定有多少个 IP 被包含在内。

/24 不等于单个 IP

43.255.122.56/24 表示前 24 位固定,等价于:

43.255.122.0 - 43.255.122.255

共 256 个地址,包含 43.255.122.56,但也包含同网段的所有其他地址。

只匹配单个 IP:使用 /32

IPv4 地址是 32 位,/32 表示所有 32 位都固定:

43.255.122.56/32  →  仅匹配 43.255.122.56

配置防火墙、ACL、路由规则、Cloudflare IP 规则时,允许或封禁单个 IP 都应使用 /32

# iptables
iptables -A INPUT -s 43.255.122.56/32 -j ACCEPT

# Nginx
allow 43.255.122.56/32;

如果不要求 CIDR 格式,直接写 IP 不加后缀也等同于 /32

43.255.122.56

常用前缀长度对照

写法匹配范围地址数
x.x.x.x/32仅这一个 IP1
x.x.x.x/312 个(常用于点对点链路)2
x.x.x.x/304 个4
x.x.x.x/298 个8
x.x.x.x/2816 个16
x.x.x.0/24256 个(常见局域网段)256
x.x.0.0/1665536 个65536
x.0.0.0/816777216 个(A 类网络)16777216
0.0.0.0/0所有 IPv4 地址全部

前缀长度与地址数的计算

地址数 = 2^(32 - 前缀长度)

  • /32 → 2^0 = 1
  • /24 → 2^8 = 256
  • /16 → 2^16 = 65536

网络地址与广播地址

在标准 IPv4 子网中,最小地址(如 43.255.122.0)是网络地址,最大地址(43.255.122.255)是广播地址,可用主机地址是中间的 254 个。但在防火墙规则和 CIDR 匹配中,这个区分通常不重要,/24 就是匹配全部 256 个地址。