Коротко. Маска подсети делит IP-адрес на две части: какая сеть и какой хост внутри неё. Запись /24 и 255.255.255.0 — одно и то же, просто в разных форматах: первые 24 бита адреса относятся к сети, оставшиеся 8 — к устройствам. Из общего числа адресов в подсети два всегда служебные, поэтому в /24 помещается не 256, а 254 хоста.
Что такое маска подсети простыми словами
IPv4-адрес — это 32 бита, которые для удобства записывают четырьмя числами: 192.168.10.25. Сам по себе адрес не говорит, где заканчивается «улица» и начинается «номер дома». Эту границу задаёт маска.
Маска — тоже 32 бита, но устроенные строго: сначала идут единицы, потом нули, и никак иначе. Единицы отмечают биты сети, нули — биты хоста. Отсюда два эквивалентных способа записи:
- Префиксная запись (CIDR):
192.168.10.25/24— «первые 24 бита это сеть». - Десятичная запись: маска
255.255.255.0— те же 24 единицы, просто расписанные по октетам.
Практический смысл ровно один: устройства с одинаковой частью «сеть» общаются напрямую, а всё остальное отправляется через шлюз. Ошиблись в маске — и два соседних компьютера перестают видеть друг друга, хотя физически стоят рядом.

Таблица масок подсети: от /8 до /32
Это та самая таблица, ради которой большинство и открывает такие статьи. «Адресов» — общее количество в подсети, «хостов» — сколько реально можно раздать устройствам.
| Префикс | Маска | Адресов | Хостов | Где встречается |
|---|---|---|---|---|
/8 | 255.0.0.0 | 16 777 216 | 16 777 214 | Частный диапазон 10.0.0.0/8 целиком |
/12 | 255.240.0.0 | 1 048 576 | 1 048 574 | Частный диапазон 172.16.0.0/12 |
/16 | 255.255.0.0 | 65 536 | 65 534 | Частный диапазон 192.168.0.0/16 |
/20 | 255.255.240.0 | 4 096 | 4 094 | Сегмент провайдера или дата-центра |
/22 | 255.255.252.0 | 1 024 | 1 022 | Крупная офисная сеть |
/23 | 255.255.254.0 | 512 | 510 | Две подсети /24 подряд |
/24 | 255.255.255.0 | 256 | 254 | Типовая офисная и домашняя сеть |
/25 | 255.255.255.128 | 128 | 126 | Половина /24 |
/26 | 255.255.255.192 | 64 | 62 | Четверть /24, отдел |
/27 | 255.255.255.224 | 32 | 30 | Небольшая группа устройств |
/28 | 255.255.255.240 | 16 | 14 | Стойка, набор серверов |
/29 | 255.255.255.248 | 8 | 6 | Точка доступа, малый сегмент |
/30 | 255.255.255.252 | 4 | 2 | Линк «точка — точка», классика |
/31 | 255.255.255.254 | 2 | 2 | Линк «точка — точка» по RFC 3021 |
/32 | 255.255.255.255 | 1 | 1 | Один адрес: правило firewall, маршрут к хосту |
Обратите внимание на две последние строки — они выбиваются из общего правила «минус два», и это не опечатка. Про /31 и /32 — отдельно ниже.
Почему из адресов вычитают два
В каждой обычной подсети два адреса зарезервированы и не выдаются устройствам:
- Адрес сети — самый первый, все биты хоста нули. Для
192.168.10.0/24это192.168.10.0. Он обозначает саму подсеть и используется в таблицах маршрутизации. - Широковещательный адрес — самый последний, все биты хоста единицы:
192.168.10.255. Пакет на него получают все устройства подсети сразу.
Отсюда правило: хостов = 2(32 − префикс) − 2. Для /24 это 256 − 2 = 254, для /29 — 8 − 2 = 6.
Исключения ровно два. В /31 для линков между маршрутизаторами броадкаст и адрес сети не выделяются вовсе — оба адреса рабочие, так экономят адресное пространство. А /32 — это вообще не подсеть, а один конкретный адрес: так записывают маршрут к единственному хосту и правила в firewall.
Самая частая ошибка новичка — «мне нужно 30 устройств, беру /30». Число в префиксе не равно числу устройств:/30даёт два хоста, а тридцать поместятся в/27(30 хостов) — и то впритык, без запаса на рост и без учёта шлюза. Считайте по таблице, а не по интуиции.
Как посчитать адрес сети, broadcast и диапазон
Возьмём 192.168.10.25/27 и разберём по шагам — это ровно то, что спрашивают на собеседованиях и что нужно при настройке сервера.
- Определяем «шаг» подсети. Префикс
/27— это маска255.255.255.224. Шаг = 256 − 224 = 32. Значит, подсети идут границами 0, 32, 64, 96, 128, 160, 192, 224. - Находим свою подсеть. Последний октет адреса — 25, он попадает в промежуток от 0 до 31. Адрес сети:
192.168.10.0. - Broadcast — последний адрес промежутка:
192.168.10.31. - Диапазон хостов — всё между ними: с
192.168.10.1по192.168.10.30, итого 30 адресов.
Проверить себя быстрее всего командой, а не в уме — большинство систем считают это из коробки:
# Linux: показать сеть, broadcast и диапазон
ipcalc 192.168.10.25/27
# Если ipcalc не установлен — то же самое через python3
python3 -c "import ipaddress as i; n=i.ip_network('192.168.10.25/27', strict=False); \
print(n, n.network_address, n.broadcast_address, n.num_addresses)"
# Проверить, входит ли адрес в подсеть
python3 -c "import ipaddress as i; \
print(i.ip_address('192.168.10.25') in i.ip_network('192.168.10.0/27'))"
То же самое без терминала считает IP-калькулятор: вводите адрес с префиксом и сразу получаете маску, адрес сети, broadcast и диапазон хостов.

Частные диапазоны и адреса со специальным смыслом
Не всякий адрес можно назначить свободно. Часть диапазонов зарезервирована, и знать их полезно: именно они чаще всего встречаются в конфигурациях.
| Диапазон | Что это | Практика |
|---|---|---|
10.0.0.0/8 | Частная сеть | Корпоративные сети, облака, Docker-окружения |
172.16.0.0/12 | Частная сеть | Часто выдаётся Docker и виртуализацией по умолчанию |
192.168.0.0/16 | Частная сеть | Домашние роутеры и малые офисы |
127.0.0.0/8 | Локальная петля | 127.0.0.1 — сам хост, наружу не выходит |
169.254.0.0/16 | Адрес «сам себе» | Появился такой адрес — значит, DHCP не ответил |
100.64.0.0/10 | Сеть провайдера (CGNAT) | Ваш «внешний» адрес на самом деле общий с другими абонентами |
Последняя строка объясняет частый вопрос «почему у меня внешний IP не совпадает с тем, что показывает сайт». Если провайдер отдал вам адрес из 100.64.0.0/10, наружу вы выходите под общим адресом — и входящие подключения к вам не дойдут. Что именно видит внешний мир, покажет проверка IP-адреса, а разница между типами адресов разобрана в материале про IPv4 и IPv6.
Где маска нужна владельцу сайта, а не сетевому инженеру
Кажется, что подсети — тема исключительно администраторов. На деле запись вида /24 регулярно встречается там, где о сетях не думают.
- Ограничение доступа к админке. Разрешить вход только из офиса — это правило с CIDR-подсетью, а не со списком отдельных адресов. Синтаксис для Apache разобран в материале про .htaccess, для nginx — в настройке nginx.
- Блокировка нежелательного трафика. Боты обычно приходят не с одного адреса, а с целой подсети; блокировать по одному бессмысленно.
- Белые списки у платёжных и почтовых сервисов. Их адреса выдают именно подсетями, и в конфиг их нужно перенести без ошибок.
- SPF-запись почты. Механизм
ip4:принимает подсеть целиком:ip4:203.0.113.0/24. Как это влияет на доставляемость — в материале про SPF-записи. - Ограничение частоты запросов. Считать лимит на подсеть, а не на адрес — рабочий способ против распределённого перебора; подходы описаны в материале про стратегии рейт-лимита.
# Один и тот же офис в разных конфигурациях
# nginx: пускать в админку только офисную подсеть
location /admin/ {
allow 203.0.113.0/24;
deny all;
}
# Apache 2.4: то же самое
<RequireAll>
Require ip 203.0.113.0/24
</RequireAll>
# SPF: разрешить отправку почты со всей подсети
example.ru. IN TXT "v=spf1 ip4:203.0.113.0/24 -all"
Ошибка в маске в правиле доступа опаснее, чем кажется. Написали/16вместо/24— и вместо своего офиса открыли админку 65 тысячам адресов, включая чужие. Прежде чем сохранять правило, посчитайте диапазон и убедитесь, что в нём именно то, что вы имели в виду.

Как выбрать маску под задачу
Правило простое: берите ближайшую подходящую подсеть с запасом, но не берите заведомо огромную «на всякий случай» — лишние адреса усложняют маршрутизацию и разбор инцидентов.
- Линк между двумя маршрутизаторами —
/30или/31. Больше двух адресов там не нужно никогда. - Небольшой набор серверов —
/28(14 хостов) или/29(6 хостов). - Отдел на 20–30 машин —
/27даёт 30 хостов, но без запаса; при росте лучше сразу/26с 62 адресами. - Обычная офисная сеть —
/24: 254 хоста, привычные адреса, простая диагностика. - Разделение по назначению — не растягивайте одну большую подсеть, а нарежьте несколько: сотрудники, гости, принтеры, видеонаблюдение. Это и безопаснее, и понятнее в логах.
И не забудьте про шлюз: он тоже занимает адрес из диапазона хостов. В /29 с шестью адресами реально остаётся пять устройств.

Маски в IPv6: то же самое, но короче
В IPv6 десятичных масок нет вообще — только префиксы. Логика та же: /64 означает, что первые 64 бита отведены под сеть. Разница в масштабе: типовая пользовательская подсеть /64 вмещает такое количество адресов, что о его экономии никто не думает, а провайдеры выдают клиентам целые /56 или /48. Считать хосты вручную там не нужно; сравнение протоколов — в материале про IPv4 и IPv6.
Чем проверить
- IP-калькулятор — маска, адрес сети, broadcast, диапазон хостов и число адресов по префиксу.
- Проверка IP — какой адрес видит внешний мир, чей это провайдер и в какой автономной системе он находится.
- Ping и проверка портов — доступен ли узел внутри выбранного диапазона.
- Traceroute — через какие сети идёт трафик до адресата.
Частые вопросы
Какая маска подсети у 192.168.1.1?
По умолчанию в домашних сетях — 255.255.255.0, то есть /24. Но это соглашение, а не свойство адреса: та же машина может стоять в /25 или /23, всё зависит от настройки сети. Посмотреть фактическую маску можно в свойствах сетевого подключения или командой ip addr.
Что означает 255.255.255.255?
Как маска — это /32, то есть ровно один адрес. Так записывают маршрут к конкретному хосту и правила firewall для одного адреса. Как адрес назначения эта запись означает широковещательную рассылку в пределах локального сегмента.
Чем /24 отличается от 255.255.255.0?
Ничем: это одна и та же маска в двух форматах записи. Префиксная форма короче и принята в конфигурациях и документации, десятичная — в графических настройках операционных систем.
Сколько устройств помещается в /24?
254. Всего адресов 256, но первый занят адресом сети, последний — широковещательным. Один из оставшихся почти всегда занимает шлюз, так что на устройства остаётся 253.
Почему компьютеры в одной сети не видят друг друга?
Классическая причина — разные маски при одинаковом на вид адресе. Если у одного /24, а у другого /25, они по-разному определяют границу сети, и трафик уходит на шлюз вместо соседа. Сверьте маски на обоих устройствах в первую очередь.
Что за адрес 169.254.x.x?
Устройство не получило адрес от DHCP и назначило себе временный само. Интернета на таком адресе не будет. Ищите причину в DHCP-сервере, кабеле или настройках Wi-Fi, а не в маске.
Чеклист по маске подсети
- Префикс и десятичная маска соответствуют друг другу (сверено по таблице).
- Число хостов посчитано как 2(32 − префикс) − 2, шлюз учтён.
- У всех устройств одной подсети маска одинаковая.
- Выбранный диапазон не пересекается с уже используемыми подсетями.
- Для линков «точка — точка» взяты
/30или/31, а не большая подсеть. - В правилах доступа и firewall префикс проверен расчётом диапазона, а не на глаз.
- Частные диапазоны не перепутаны с публичными, адрес не из
169.254.0.0/16. - В SPF и белых списках подсети перенесены без изменения префикса.