Как пользоваться
- Вставьте диапазоны по одному на строку. Можно смешивать диапазоны, отдельные адреса и блоки CIDR.
- Оставьте объединение включённым, чтобы получить один отсортированный список, или выключите, чтобы строки не смешивались.
- Скопируйте блоки CIDR в файрвол, группу безопасности или конфиг сервера. Строка под результатом показывает, сколько получилось блоков и адресов.
Как это работает
Каждый адрес — это число: 32 бита для IPv4 и 128 бит для IPv6. Начиная с первого адреса диапазона, калькулятор берёт самый большой блок, который:
- выровнен — начальный адрес делится на размер блока, как требует префикс /n;
- помещается — последний адрес блока не дальше конца диапазона.
Блок записывается, расчёт переходит к следующему за ним адресу и повторяется, пока диапазон не покрыт. Блок из 2^k адресов имеет префикс 32 − k для IPv4 (128 − k для IPv6).
Пример
Диапазон 10.0.0.1 – 10.0.0.254 — вся сеть 10.0.0.0/24 без адреса сети и широковещательного адреса:
- 10.0.0.1 нечётный, поэтому помещается только один адрес: 10.0.0.1/32;
- 10.0.0.2 делится на 2: 10.0.0.2/31; дальше 10.0.0.4/30, 10.0.0.8/29, 10.0.0.16/28, 10.0.0.32/27 и 10.0.0.64/26;
- с 10.0.0.128 мог бы начаться блок /25, но он дошёл бы до 10.0.0.255, за конец диапазона, поэтому берётся 10.0.0.128/26; затем 10.0.0.192/27, 10.0.0.224/28, 10.0.0.240/29, 10.0.0.248/30, 10.0.0.252/31 и 10.0.0.254/32.
Итого 14 блоков на 254 адреса. Диапазон 10.0.0.0 – 10.0.0.255 был бы одним блоком 10.0.0.0/24.
Советы
- Лучше всего переводятся диапазоны от .0 до .255. Если диапазон начинается или кончается посреди блока, понадобятся дополнительные мелкие блоки.
- Сверяйте число адресов. Если адресов больше, чем ожидалось, скорее всего, строки пересекаются или опечатка расширила диапазон.
- Адрес сети, маску и диапазон хостов одного блока покажет калькулятор IP-подсетей.