До основного вмісту

Маска підмережі CIDR: що таке /24, /16 і як рахувати

VDS / VPS · 19.04.2026 · 5 хв читання
Ілюстрація до статті «Маска підмережі CIDR: що таке /24, /16 і як рахувати»

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МаскаХостівПриклад застосування
/8255.0.0.016 777 214Велика корпоративна мережа
/16255.255.0.065 534Дата-центр, великий офіс
/24255.255.255.0254Офісна підмережа, VLAN
/25255.255.255.128126Половина /24
/26255.255.255.19262Чверть /24
/27255.255.255.22430Невеликий сегмент
/28255.255.255.24014Малий блок
/29255.255.255.2486Мінімальний блок
/30255.255.255.2522Point-to-point лінк
/32255.255.255.2551Один хост, 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.

Типові помилки під час розрахунку CIDR

Помилка "network address not aligned" під час налаштування маршруту або VLAN — означає, що вказана адреса мережі не кратна розміру блоку. Для /26 (блок 64 адреси) мережа має починатися на 0, 64, 128 або 192 в останньому октеті, а не на довільному числі.

# Неправильно: 192.168.1.100/26 — не початок блоку
# Правильно:   192.168.1.128/26 — початок блоку (128, 128+64=192)

ip addr add 192.168.1.100/26 dev eth0
RTNETLINK answers: File exists

Помилка RTNETLINK answers: File exists у цьому контексті зазвичай означає конфлікт з уже наявним маршрутом мережі, а не проблему самого CIDR — але першопричина часто саме в неправильно порахованій межі підмережі.

UFW відхиляє правило з повідомленням "ERROR: Bad source address" — типова причина: вказана маска CIDR без адреси мережі (наприклад, /24 без IP) або використано десятковий формат маски замість префікса.

sudo ufw allow from 10.0.0.0/255.0.0.0 to any port 22
ERROR: Bad source address

UFW приймає лише префіксну нотацію: правильний запис — 10.0.0.0/8, а не десяткова маска через слеш.

CIDR і класова адресація: у чому різниця

ПараметрКласова адресація (застаріла)CIDR (поточний стандарт)
Розмір мережіФіксований (A: /8, B: /16, C: /24)Будь-який префікс від /1 до /32
Гнучкість виділенняНизька, багато невикористаних адресВисока, точний розмір під задачу
Таблиці маршрутизаціїЗростають лінійно з кількістю мережЗменшуються завдяки агрегації маршрутів
Використання сьогодніНе застосовуєтьсяСтандарт де-факто всюди

Коли ручний розрахунок CIDR не потрібен

  • Разове налаштування одного сервера — простіше ввести IP в онлайн-калькулятор, ніж тримати в голові степені двійки.
  • Автоматизація через Terraform, Ansible або хмарну панель — ці інструменти самі перевіряють перетини підмереж і валідність масок.
  • Мережа вже спроєктована провайдером (наприклад, VPC у хмарного хостингу) — змінювати її вручну зазвичай не можна і не потрібно.
  • Потрібно швидко перевірити, чи перетинаються дві підмережі — калькулятор покаже діапазони наочно, тоді як ручне порівняння бітових масок легко призводить до помилки в умі.
  • Планується VLSM (маски змінної довжини) для кількох відділів одразу — ручний підбір меж без інструмента майже гарантовано залишить перетини між блоками.

Перевірка результату

  1. Порахуйте діапазон для своєї підмережі і звірте з калькулятором (cidr.xyz або ipcalc): адреса мережі, широкомовна адреса і кількість хостів мають збігтися.
  2. Застосуйте маску на інтерфейсі: ip addr add 192.168.1.128/26 dev eth0 — команда не повинна повернути помилку.
  3. Перевірте фактичну маску: ip addr show eth0 — у виводі має бути вказаний той самий префікс.
  4. Для правил firewall перевірте, що потрібний хост потрапляє в діапазон: ipcalc 192.168.1.130/26 покаже межі мережі і підтвердить, що адреса всередині блоку.

Розрахунок CIDR напряму пов'язаний з адресацією IPv4 — детальніше в статті про структуру IPv4-адрес, а для налаштування самих маршрутів — стаття про ip route і Netplan.

Часті питання

Чим менше число після слеша у записі CIDR, тим мережа більша чи менша?

Чим менше число після слеша, тим більша мережа і тим більше адрес вона містить, бо це число означає кількість бітів, відведених саме під адресу мережі, а не під хости. Решта бітів дістається хостам, і чим їх більше, тим просторіший діапазон доступних адрес усередині підмережі — залежність тут обернена, а не пряма.

Що станеться, коли дві підмережі з діапазонами, що перетинаються, опиняться в одній таблиці маршрутизації?

Діапазони двох підмереж, що перетинаються, у таблиці маршрутизації одного пристрою створюють неоднозначність — система або відмовиться додати конфліктний маршрут з явною помилкою, або застосує конкретніший із двох за довжиною префікса, проігнорувавши широкий діапазон для частини, що перетинається. Результат залежить від конкретної реалізації стека і порядку додавання маршрутів, тож перетини варто виключати заздалегідь розрахунком, а не з'ясовувати постфактум.

Чи працює нотація CIDR лише для IPv4, чи для IPv6 теж?

Сама концепція запису адреси разом із довжиною префікса через слеш спільна для обох протоколів, а ось IPv6 використовує власну, значно довшу адресацію і свої типові розміри блоків, не придатні для прямого перенесення таблиць і прикладів зі світу IPv4. Формула підрахунку хостів для IPv4 для IPv6 напряму не підходить через іншу розрядність адреси.

Чи дозволено використовувати для приватної мережі будь-який CIDR-блок на вибір, чи частина діапазонів зарезервована?

Ні, частина діапазонів адрес зарезервована окремими стандартами під конкретні цілі на кшталт приватних мереж, loopback-інтерфейсу чи багатоадресної розсилки, і застосовувати їх для інших задач не варто, навіть коли формально ніщо не заважає прописати такий діапазон. Для приватної мережі краще обирати блок саме з діапазонів, виділених під внутрішнє використання, а не довільну публічну адресу.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці