Подсеть (Subnet)

Часть большой сети с общим диапазоном адресов: сеть делят на подсети, чтобы разграничить доступ и упростить управление.

Подсеть — логически выделенная часть сети со своим диапазоном IP-адресов. Большую сеть делят на подсети так же, как здание делят на этажи и отделы: серверы приложений — в одной подсети, базы данных — в другой, рабочие места сотрудников — в третьей. Между подсетями трафик идет через маршрутизатор или межсетевой экран, и там можно решать, кому куда разрешено.

Как записывается подсеть

IP-адрес IPv4 состоит из 32 бит. Часть бит обозначает сеть, остальные — устройство в ней. Сколько бит отведено под сеть, показывает маска или число после косой черты (запись CIDR):

10.0.1.0/24   = маска 255.255.255.0   = адреса 10.0.1.0 – 10.0.1.255

В подсети /24 256 адресов, из них 254 можно раздать устройствам: первый адрес обозначает саму сеть, последний — широковещательный.

Префикс Маска Адресов для устройств
/24 255.255.255.0 254
/25 255.255.255.128 126
/26 255.255.255.192 62
/28 255.255.255.240 14
/30 255.255.255.252 2

Каждый лишний бит в префиксе делит подсеть пополам. Подробнее об адресах — в термине IPv4 / IPv6.

Зачем делить сеть

  • Безопасность. Если взломан компьютер сотрудника, он не должен иметь прямого доступа к базам данных. Разделение на подсети с правилами между ними ограничивает распространение атаки.
  • Порядок. По адресу сразу понятно, что это за устройство и где оно находится.
  • Производительность. Широковещательные сообщения не выходят за пределы подсети и не нагружают всю сеть.
  • Требования регуляторов. Системы, обрабатывающие персональные данные или платежи, выделяют в отдельные сегменты с контролируемым доступом.

Пример разбиения

  • 10.0.1.0/24 — веб-серверы и балансировщики, доступные из интернета;
  • 10.0.2.0/24 — серверы приложений, доступные только из первой подсети;
  • 10.0.3.0/24 — базы данных, доступные только серверам приложений;
  • 10.0.10.0/23 — рабочие места сотрудников.

Подсети в облаке

В облачных платформах подсети создаются внутри виртуальной частной сети (VPC) и привязываются к зонам доступности. Их удобно описывать кодом в Terraform, чтобы схема сети была задокументирована и воспроизводима. Главная ошибка при планировании — слишком маленькие подсети: расширить их потом сложно, поэтому адресов закладывают с запасом, а диапазоны разных площадок и VPN не должны пересекаться.