Как рассчитать маски подсети в Linux с помощью ipcalc

Создание подсети в большой сети повышает безопасность, производительность и логически упорядочивает сеть. Но некоторые расчеты сложны. Команда Linux ipcalc упрощает этап планирования.

Что такое подсеть?

Подсеть — это способ разбить большую сеть на более мелкие, связанные между собой части. Каждая часть называется подсетью. Вы можете организовать свою сеть так, чтобы отдел продаж использовал одну подсеть, отдел кадров — другую подсеть, служба поддержки клиентов — еще одну подсеть и так далее.

В этом есть значительные преимущества. Первое связано с безопасностью и контролем. Без подсети все представляет собой одну большую «плоскую» сеть. С подсетями вы можете решать, какие подсети могут общаться с другими подсетями. Разные подсети имеют разные диапазоны IP-адресов и используют разные маски подсети, о которых мы поговорим чуть позже.

Ваш маршрутизатор должен быть настроен так, чтобы трафик из одной подсети мог достигать другой подсети. А поскольку маршрутизатор является управляемым устройством, это дает вам контроль над типом трафика и взаимодействия, разрешенного между различными подсетями.

Подсети также могут предотвратить бесконтрольное перемещение по сети неавторизованных пользователей и вредоносных программ. Или, по крайней мере, замедлит их распространение. Подумайте об этом как о подводной лодке. Если в одной части судна образовалась пробоина, вы можете закрыть двери переборок, чтобы не затопить остальную часть судна. Подсети похожи на эти переборочные двери.

Зачастую подсети большой сети дают преимущества в производительности. Если ваша сеть достаточно велика и достаточно загружена, то увеличение производительности будет происходить за счет снижения сетевого трафика внутри каждой подсети. Одно только снижение ARP-трафика может сделать работу более отзывчивой.

И конечно, после разделения сети на подсети вашему ИТ-персоналу будет проще понимать, обслуживать и поддерживать вашу инфраструктуру.

IP-адреса и маски подсети

Все это звучит замечательно, и так оно и есть. Но это означает, что нам нужно быть очень точными в IP-адресации. Мы должны использовать часть IP-адреса для идентификатора сети, а часть IP-адреса — для адресации устройства. В подсетях нам также необходимо использовать часть IP-адреса для подсети.

В IP-адресах IPv4 используются четыре трехзначных числа, разделенных точками. Это называется точечно-десятичной нотацией. Диапазон этих чисел составляет от 0 до 255. Первые два числа — это идентификатор сети. Третье используется для идентификатора подсети, а четвертое — для адреса устройства. Это в простых случаях.

В компьютерах числа представлены в виде последовательностей двоичных значений. Если в подсети так мало устройств, что в диапазоне номеров адресов устройств есть неиспользуемые старшие биты, эти «запасные» двоичные биты могут быть использованы идентификатором подсети.

Каким образом маршрутизатор или любой другой

Каждый двоичный бит, равный 1 в маске подсети, означает, что соответствующий бит в IP-адресе относится к идентификатору сети или подсети. Каждый ноль в маске подсети означает, что соответствующий бит в IP-адресе относится к адресу устройства.

Возьмем типичный IP-адрес и применим к нему маску подсети. В маске подсети 255 для каждого из первых трех чисел и 0 для четвертого.

IP-адрес : 192.168.1.0

  • Маска подсети : 255.255.255.0 = 11111111.111111.111111.111111.00000000
  • В двоичном формате 255 равно 11111111. Если биты маски подсети установлены в единицу, то соответствующие биты в IP-адресе относятся к идентификатору сети и идентификатору подсети. 255 в маске подсети означает, что все биты соответствующего числа в IP-адресе относятся к ID сети или ID подсети.

Четвертое число — ноль, то есть ни один бит не установлен в единицу. Таким образом, это число относится к адресам сетевых устройств. Таким образом, наша маска подсети 255.255.255.0 означает, что первые три числа IP-адреса содержат идентификатор сети и идентификатор подсети, а последнее число зарезервировано для адресов сетевых устройств.

Это означает, что побочным эффектом всего этого является то, что маска подсети также определяет, сколько битов в IP-адресе может быть использовано для идентификации отдельных устройств. Другими словами, маска подсети определяет, какие биты в IP-адресе идентифицируют подсеть и сколько устройств может содержать эта подсеть.

Изменение маски подсети оказывает значительное влияние на сеть. Поэтому нам необходимо правильно ее настроить.

Команда ipcalc

Команда ipcalc позволяет легко определить, какими должны быть маски подсети и IP-адреса для правильного построения подсети вашей сети. ipcalc уже была установлена на Fedora 36. Нам пришлось установить его на Ubuntu 22.04 и Manjaro 21.

Команда для Ubuntu следующая:

sudo apt install ipcalc

Чтобы установить ipcalc на Manjaro, используйте:

Как рассчитать маски подсети в Linux с помощью ipcalc

sudo pacma n-Sy ipcalc

Как минимум, нам нужно передать ipcalc IP-адрес. Если это все, что мы передаем, ipcalc принимает маску подсети 255.255.255.0. Он выдает информацию о сети и IP-адрес.

Как рассчитать маски подсети в Linux с помощью ipcalc

ipcalc 192.168.1.0

Вывод содержит точечно-десятичные значения и их эквивалентные двоичные значения. Вот что означает каждый бит информации.

Как рассчитать маски подсети в Linux с помощью ipcalc

Адрес : 192.168.1.0. IP-адрес, который мы предоставили.

  • Маска подсети : 255.255.255.0 = 24. Маска подсети. 255.255.255.0 используется, если маска подсети не была указана в командной строке. 24 означает, что в маске подсети 24 бита установлены в 1. Они используются для идентификатора сети и идентификатора подсети. Они отсчитываются слева. Биты, установленные в 1, будут представлять собой непрерывную последовательность 1. Среди них не может быть ни одного бита 0. Мы знаем, что 8 битов, установленных в 1 в двоичном исчислении, дают 255 в десятичном. Таким образом, 24 означает три набора по 8 битов, каждый из которых равен 1. В десятичной системе это дает 255.255.255. Остальные биты будут равны 0, что дает нам 255.255.255.0. Таким образом, подсчитав биты, установленные в 1, и представив их в виде десятичного числа 24, мы можем передать всю маску подсети. Это называется нотацией бесклассовой междоменной маршрутизации.
  • Подстановочный знак : 0.0.0.255. Используется в сетевых устройствах Cisco как часть настроек разрешающего/блокирующего списка.
  • Сеть : 192.168.1.0/24. Это IP-адрес и подсеть сети, описанные в нотации CIDR. Если к этой подсети подключен маршрутизатор, ему часто присваивается самый низкий IP-адрес в допустимом диапазоне.
  • HostMin : 192.168.1.1. Самый низкий IP-адрес, который может иметь устройство, подключенное к этой подсети.
  • HostMax : 192.168.1.254. Наибольший IP-адрес, который может иметь устройство, подключенное к этой подсети.
  • Широковещательный : 192.168.1.255. Это широковещательный адрес. Сетевые пакеты, отправленные на этот IP-адрес, передаются эхом на все устройства в подсети.
  • Хосты/Сеть : 254. Максимальное количество устройств, которые можно подключить к этой подсети. В этом примере диапазон IP-адресов наших устройств от 0 до 255, что означает, что мы можем определить 256 различных IP-адресов (от 0 до 255). Но мы теряем один IP-адрес для сетевого IP-адреса (адрес «.0») и один для широковещательного IP-адреса (адрес «.255»).
  • Класс C, частный интернет : Класс сети.

Класс сети определяется количеством битов, используемых для идентификатора сети и идентификатора подсети, плюс несколько битов, используемых для указания класса сети, называемых ведущими битами.

  • Класс A : Ведущие биты 0. IP-адреса начинаются с 0. Подсеть по умолчанию: 255.0.0.0. Нотация CIDR — /8.
  • Класс B : Ведущие биты 10. IP-адреса начинаются с 128. Подсеть по умолчанию: 255.255.0.0. Нотация CIDR — /16.
  • Класс C : Ведущие биты 110. IP-адреса начинаются с 192. Подсеть по умолчанию: 255.255.255.0. Нотация CIDR — /24.
  • Класс D : Ведущие биты 1110. IP-адреса начинаются с 224. Подсеть по умолчанию: не определена. Нотация CIDR — /4.
  • Изменение маски подсети

Команда ipcalc не может изменить никаких настроек, поэтому мы можем пробовать все, что захотим, не опасаясь, что это на что-то повлияет. Давайте посмотрим, как изменение маски подсети повлияет на нашу сеть.

Вы можете использовать либо CIDR, либо точечно-десятичную нотацию. В CIDR пробел необязателен. Все эти команды эквивалентны.

ipcalc 192.168.1.0/16

ipcalc 192.168.1.0 /16
ipcalc 192.168.1.0 255.255.0.0
Это значительно увеличивает количество устройств, которые вы можете подключить к этой сети. Адресация сетевых устройств для этой сети начинается с 192.168.0.0 и заканчивается 192.168.255.254.

Как рассчитать маски подсети в Linux с помощью ipcalc

Как и раньше, мы теряем один адрес для сетевого адреса и один для широковещательного адреса. Но это все равно дает нам 65 534 возможных устройства.

Но все они по-прежнему будут находиться в одной подсети.

Использование ipcalc с подсетями

Допустим, мы хотим добавить в нашу сеть три подсети, рассчитанные на 20, 15 и 80 хостов соответственно. Мы можем использовать опци ю-s (split) и указать за ней желаемый размер подсети.

ipcalc 192.168.1. 0-s 20 15 80

Первый раздел такой же, как мы видели ранее, где ipcalc дает анализ сети, содержащей IP-адрес, который мы указали в командной строке. Наши подсети описаны в следующих трех разделах.

Как рассчитать маски подсети в Linux с помощью ipcalc

В общем, информация, которую мы получаем, следующая:

Как рассчитать маски подсети в Linux с помощью ipcalc

Маска подсети: 255.255.255.224

  • Адрес первого устройства: 192.168.0.129
  • Адрес последнего устройства: 192.168.0.158
  • Емкость подсети: 30 устройств
  • Маска подсети: 255.255.255.224
  • Адрес первого устройства: 192.168.0.129
  • Адрес последнего устройства: 192.168.0.190
  • Емкость подсети: 30 устройств
  • Маска подсети: 255.255.255.224
  • Адрес первого устройства: 192.168.0.1
  • Адрес последнего устройства: 192.168.0.126
  • Емкость подсети: 126 устройств
  • Обратите внимание на зеленые записи в двоичных значениях. Это биты, которые были зарезервированы для подсети.

Также обратите внимание, что поскольку первая и вторая подсети имеют одинаковую маску подсети 27

Ссылка на основную публикацию