CIDR (Classless Inter-Domain Routing) — способ записи IP-адреса вместе с маской подсети: 192.168.1.0/24. Число после косой черты — количество битов, отведённых под сеть.
Как работает CIDR
При /24: 24 бита — сеть, 8 бит — хосты. 2^8 = 256 адресов, из которых 254 доступны для хостов (первый — адрес сети, последний — широковещательный).
192.168.1.0 /24
|------------|------|
Сеть(24) Хост(8)
Таблица популярных CIDR
| CIDR | Маска | Хостов | Пример применения |
|---|---|---|---|
| /8 | 255.0.0.0 | 16 777 214 | Крупная корпоративная сеть |
| /16 | 255.255.0.0 | 65 534 | Дата-центр, большой офис |
| /24 | 255.255.255.0 | 254 | Офисная подсеть, VLAN |
| /25 | 255.255.255.128 | 126 | Половина /24 |
| /26 | 255.255.255.192 | 62 | Четверть /24 |
| /27 | 255.255.255.224 | 30 | Небольшой сегмент |
| /28 | 255.255.255.240 | 14 | Маленький блок |
| /29 | 255.255.255.248 | 6 | Минимальный блок |
| /30 | 255.255.255.252 | 2 | Point-to-point линк |
| /32 | 255.255.255.255 | 1 | Один хост, loopback |
Формула расчёта
# Количество хостов: 2^(32-prefix) - 2
# Для /24: 2^(32-24) - 2 = 2^8 - 2 = 254
# Для /20: 2^(32-20) - 2 = 2^12 - 2 = 4094
Практические примеры
# UFW — разрешить целую подсеть
sudo ufw allow from 10.0.0.0/8
# iptables — блокировать диапазон
iptables -A INPUT -s 192.168.100.0/24 -j DROP
# Nginx — ограничить доступ по IP
location /admin {
allow 10.0.0.0/8;
allow 192.168.0.0/16;
deny all;
}
CIDR в WireGuard и OpenVPN
# WireGuard — AllowedIPs = маршрутизируемые диапазоны
[Peer]
AllowedIPs = 10.0.0.0/8, 172.16.0.0/12
# Весь трафик через VPN
AllowedIPs = 0.0.0.0/0, ::/0
💡 Онлайн-калькуляторы: cidr.xyz или jodies.de/ipcalc — мгновенно покажут диапазон адресов, маску, первый и последний хост для любого CIDR.