Калькулятор подсетей — инструмент, который по адресу с префиксом CIDR выдаёт адрес сети, широковещательный адрес, диапазон доступных хостов, маску подсети и обратную (wildcard) маску. Автор itsfoss.com собрал такой инструмент для себя и выложил в общий доступ: всё считается прямо в браузере, введённые данные никуда не отправляются.
Пригодится это в тот момент, когда вы настраиваете VLAN в домашней лаборатории, нарезаете VPC на облачном сервере или пишете правило для файрвола. Один и тот же расчёт называют по-разному — калькулятор IP, калькулятор CIDR, калькулятор маски подсети, — но математика под ним одна.
Как пользоваться калькулятором подсетей
Введите IP-адрес в поле ввода. Префикс можно указать в форме CIDR (10.0.0.5/20) или выбрать маску подсети из выпадающего списка (255.255.240.0) — это одно и то же, берите ту запись, которая у вас под рукой. Результаты обновляются по мере ввода.
Для IPv6 вставьте адрес с длиной префикса, например 2001:db8:abcd:12::1/64, — калькулятор сам переключится в режим IPv6. Если нужно разбить сеть на части, есть опция разделения блока на равные подсети с показом диапазона каждой.
Что означают результаты
IPv4-адрес — это 32 бита, разделённые на две части: первая определяет сеть, вторая — устройство в этой сети. Маска подсети задаёт, где проходит граница. Для 192.168.10.77/26 калькулятор выдаёт:
| Результат | Что означает | Пример |
|---|---|---|
| Адрес сети | Первый адрес подсети, имя самой сети; устройствам не назначается | 192.168.10.64 |
| Широковещательный адрес | Последний адрес подсети; пакет сюда доходит до всех устройств | 192.168.10.127 |
| Диапазон доступных хостов | Адреса, которые можно выдать компьютерам, телефонам и серверам | 192.168.10.65 – 192.168.10.126 |
| Число хостов | Сколько устройств помещается: всего минус адрес сети и broadcast | 62 |
| Маска подсети | Префикс, записанный четырьмя числами; так до сих пор пишут роутеры и старые конфиги | 255.255.255.192 |
| Wildcard-маска | Перевёрнутая маска; её требуют ACL в Cisco и конфиги OSPF | 0.0.0.63 |
| Запись CIDR | Адрес сети плюс число битов сети | 192.168.10.64/26 |
Именно из-за адреса сети и широковещательного адреса /24 даёт 254 доступных хоста, а не 256. Исключения — /31, который RFC 3021 разрешает для point-to-point линков с двумя рабочими адресами, и /32 — одиночный хост.
Как посчитать подсеть вручную
Считать в уме полезно хотя бы несколько раз — особенно если готовитесь к CCNA или экзамену по сетям Linux. Разберём 192.168.10.77/26.
Шаг 1. Префикс в маску. /26 означает, что первые 26 битов — единицы, оставшиеся 6 — нули. Первые три октета полные (8 + 8 + 8 = 24 бита), значит, они равны 255. Четвёртому октету достаются последние 2 бита сети: 11000000 в двоичном виде, то есть 192. Получаем 255.255.255.192.
Шаг 2. Побитовое И адреса с маской. Интересен только последний октет, остальные закрыты 255. Запишем 77 и 192 в двоичном виде и оставим единицу только там, где она есть у обоих:
77 = 0 1 0 0 1 1 0 1 (адрес)
192 = 1 1 0 0 0 0 0 0 (маска)
-------------------------
64 = 0 1 0 0 0 0 0 0 (сеть)
Адрес сети — 192.168.10.64.
Шаг 3. Широковещательный адрес. Теперь все биты хоста выставляем в 1. Последние 6 битов становятся 111111, октет — 01111111, то есть 127. Broadcast — 192.168.10.127.
Шаг 4. Диапазон и число хостов. Рабочий диапазон лежит между этими адресами: 192.168.10.65 – 192.168.10.126. При 6 битах хоста получается 2^6 = 64 адреса, минус 2 — остаётся 62 доступных хоста.
Сокращённый путь: размер блока. Когда освоитесь, двоичную запись можно пропустить. Вычтите «интересный» октет маски из 256: для /26 это 256 − 192 = 64, значит, подсети начинаются с 0, 64, 128 и 192. Ваш адрес 77 попадает между 64 и 128, поэтому сеть — .64, а broadcast — на единицу меньше следующего блока, .127. Этот приём работает с любым префиксом.
Шпаргалка по маскам подсети
Таблица ниже покрывает все префиксы IPv4 от /8 до /32 с маской, wildcard-маской и числом хостов. Дома и в небольших офисах чаще всего нужны /24–/30.
| CIDR | Маска подсети | Wildcard-маска | Всего адресов | Доступно хостов |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 0.255.255.255 | 16 777 216 | 16 777 214 |
| /12 | 255.240.0.0 | 0.15.255.255 | 1 048 576 | 1 048 574 |
| /16 | 255.255.0.0 | 0.0.255.255 | 65 536 | 65 534 |
| /20 | 255.255.240.0 | 0.0.15.255 | 4 096 | 4 094 |
| /22 | 255.255.252.0 | 0.0.3.255 | 1 024 | 1 022 |
| /23 | 255.255.254.0 | 0.0.1.255 | 512 | 510 |
| /24 | 255.255.255.0 | 0.0.0.255 | 256 | 254 |
| /25 | 255.255.255.128 | 0.0.0.127 | 128 | 126 |
| /26 | 255.255.255.192 | 0.0.0.63 | 64 | 62 |
| /27 | 255.255.255.224 | 0.0.0.31 | 32 | 30 |
| /28 | 255.255.255.240 | 0.0.0.15 | 16 | 14 |
| /29 | 255.255.255.248 | 0.0.0.7 | 8 | 6 |
| /30 | 255.255.255.252 | 0.0.0.3 | 4 | 2 |
| /31 | 255.255.255.254 | 0.0.0.1 | 2 | 2 (point-to-point) |
| /32 | 255.255.255.255 | 0.0.0.0 | 1 | 1 (одиночный хост) |
Запомнить просто: каждая строка вниз вдвое уменьшает число адресов. /25 — половина /24, /26 — четверть и так далее.
Несколько префиксов встречаются постоянно. /24 — по умолчанию у большинства домашних роутеров. /30 — классический линк между двумя маршрутизаторами. /29 или /28 обычно выдаёт провайдер, когда вы покупаете небольшой блок статических IP.
Что такое CIDR и откуда он взялся
CIDR расшифровывается как Classless Inter-Domain Routing. На практике это косая черта и число после IP-адреса. Число — длина префикса, то есть сколько битов принадлежит сети. У 10.0.0.0/8 восемь битов сети и 24 бита хоста, у 172.16.5.0/24 — 24 и 8. Чем больше число после слэша, тем меньше сеть.
CIDR заменил старую систему классов A, B и C в 1993 году. До этого можно было получить только /8, /16 или /24, что расходовало много адресов впустую. С CIDR граница может проходить на любом бите, и сеть получается ровно такого размера, какой нужен.
Сейчас блоки CIDR встречаются везде: AWS, Google Cloud и Azure просят диапазон CIDR при создании VPC или подсети, Docker и Kubernetes используют их для сетей контейнеров, а файрволы вроде ufw и nftables принимают их в правилах — так одним правилом разрешается целый диапазон.
Как разбить сеть на подсети
Допустим, есть 192.168.10.0/24, и нужно четыре отдельные сети: для дома, IoT-устройств, гостей и серверов. Займите 2 бита у части хоста — получите четыре подсети /26 по 62 доступных хоста в каждой.
Равные деления подходят не всегда: домашней сети может требоваться 100 адресов, а серверному сегменту — 20. Здесь в дело вступает VLSM (Variable Length Subnet Masking): сначала вырезается самая большая подсеть, затем в оставшееся место укладываются меньшие.
Из того же /24 можно взять /25 для дома (192.168.10.0 – .127, 126 хостов), /26 для IoT (.128 – .191, 62 хоста) и две /27 для гостей и серверов (.192 – .223 и .224 – .255, по 30 хостов). Без пересечений и без потерь места.
IPv6: та же логика, но места гораздо больше
Адрес IPv6 — 128 битов, записанных как восемь групп по четыре шестнадцатеричные цифры через двоеточие. Длина префикса по-прежнему говорит, сколько битов принадлежит сети. Ведущие нули в группе можно отбрасывать, а одну последовательность нулевых групп — сжимать в двойное двоеточие: 2001:0db8:abcd:0012:0000:0000:0000:0001 превращается в 2001:db8:abcd:12::1. Калькулятор делает это развёртывание и сжатие за вас.
Большинство адресов IPv6, с которыми вы столкнётесь, устроены одинаково: первые 48 битов — префикс маршрутизации от провайдера, следующие 16 битов — идентификатор подсети, который вы нумеруете как хотите, последние 64 бита определяют устройство.
Из-за последней части каждая локальная сеть IPv6 — это /64: SLAAC (stateless address autoconfiguration), которым большинство устройств выбирает себе адрес, ожидает 64-битный идентификатор интерфейса. Сделайте подсеть меньше /64 — и SLAAC перестанет работать. Поэтому в IPv6 считают не хосты, а подсети: /48 даёт 65 536 отдельных сетей /64. Широковещательного адреса в IPv6 нет — вместо него используется multicast, поэтому для IPv6-сетей калькулятор его не показывает.
| Префикс | Сколько сетей /64 | Обычно используется для |
|---|---|---|
| /32 | 4 294 967 296 | Выделение провайдеру или крупной организации |
| /48 | 65 536 | Площадка бизнеса или дата-центр |
| /56 | 256 | Домашнее подключение (частая делегация провайдера) |
| /60 | 16 | Домашнее подключение у некоторых провайдеров |
| /64 | 1 | Одна локальная сеть или VLAN |
| /127 | — (2 адреса) | Point-to-point линк между маршрутизаторами |
| /128 | — (1 адрес) | Одиночный хост или loopback |
Сколько получите вы, зависит от провайдера. Делегированный префикс ищите на странице состояния WAN в роутере — обычно это что-то вроде Network → WAN → IPv6. Несколько префиксов зарезервированы: 2001:db8::/32 — для документации (поэтому он и появляется во всех примерах), fe80::/10 — link-local, fd00::/8 — для приватных сетей, аналог 192.168.x.x в IPv4.
Расчёт подсетей в терминале Linux
Текущую подсеть в Linux можно узнать, не выходя из терминала. Команда ip показывает каждый адрес вместе с длиной префикса:
ip -4 addr show
Ищите строку, начинающуюся с inet, — например, inet 192.168.1.42/24. Вот этот /24 и есть ваша подсеть. Для IPv6 используйте ip -6 addr show.
Для самих вычислений есть ipcalc — он входит в репозитории большинства дистрибутивов. В Ubuntu и Debian ставится так:
sudo apt install ipcalc
Затем передайте ему адрес с префиксом:
ipcalc 192.168.10.77/26
Если вы держите сеть на современном ядре, стоит помнить, что Linux 7.3 принёс ускорение ext4 и новый режим cgroup, а для неизменяемых сборок Ubuntu Core Desktop готовит переход на linux-firmware-hwe — сетевые настройки в таких системах стоит проверять отдельно.
Ограничение: калькулятор не ищет устройства
Калькулятор занимается математикой, а не обнаружением сети. Он говорит, что содержит подсеть, но не какие адреса в ней заняты. Для этого нужен сканер вроде nmap.
Частые вопросы
Что такое подсеть?
Подсеть — это меньшая сеть, вырезанная из большей. Устройства внутри одной подсети общаются напрямую, а трафик между подсетями идёт через маршрутизатор — это и позволяет держать IoT-устройства отдельно от ноутбука, а серверы отдельно от гостей.
Что такое маска подсети?
Маска подсети указывает устройству, какая часть IP-адреса относится к сети, а какая — к хосту. 255.255.255.0 означает, что первые три октета — сеть. Это та же информация, что и префикс CIDR, только записанная иначе.
Что означает /24 в IP-адресе?
Это запись CIDR: первые 24 бита — часть сети. Соответствует маске 255.255.255.0, 256 адресов и 254 доступных хоста. Самый распространённый размер для домашних и небольших офисных сетей.
Что такое длина префикса подсети?
Это число после слэша в записи CIDR. Некоторые экраны настроек, включая параметры сети Windows и Android, просят длину префикса вместо маски. Если ваша маска 255.255.255.0, вводите 24.
Как узнать маску подсети в Linux?
Выполните ip addr и посмотрите на число после слэша. Если там /24, это 255.255.255.0.
Сколько доступных хостов в подсети /30?
Два. В /30 четыре адреса, один уходит на адрес сети и один на broadcast. Поэтому /30 был стандартом для линков между маршрутизаторами, хотя сейчас для той же задачи используют /31 без потерь адресов.
Чем wildcard-маска отличается от маски подсети?
Wildcard-маска — это маска подсети с перевёрнутыми битами: 255.255.255.0 превращается в 0.0.0.255. Wildcard-маски используют ACL в Cisco и операторы network в OSPF, а большинству других инструментов нужна обычная маска или префикс CIDR.
Какие диапазоны IP считаются приватными?
RFC 1918 отводит под приватные сети три блока IPv4: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Они не маршрутизируются в интернете, поэтому внутри своей сети их можно использовать свободно. Для IPv6 аналог — fd00::/8.
Почему подсеть IPv6 всегда /64?
SLAAC, которым большинство устройств настраивает себе IPv6-адрес, требует 64-битного идентификатора интерфейса. Возьмёте подсеть меньше — устройства не смогут настроиться автоматически. Единственные частые исключения — /127 для линков между маршрутизаторами и /128 для одного адреса.
Источник: itsfoss.com