Дерево IP-блоков с разбивкой по VLAN 10.0.0.0/8 10.10.0.0/16 Пользователи 10.20.0.0/16 Серверы 10.30.0.0/16 VoIP/Телефония 10.40.0.0/16 IoT/Камеры 10.99.0.0/16 DMZ/гость 10.10.10.0/24 Бухгалтерия 10.10.20.0/24 Продажи 10.20.10.0/24 DC/AD 10.20.20.0/24 1С/SQL Шпаргалка масок: /8 = 16 777 214 host /16 = 65 534 host /22 = 1022 host /24 = 254 host /25 = 126 host /26 = 62 host /27 = 30 host /28 = 14 host /29 = 6 host /30 = 2 host (p2p) /31 = 2 host (RFC 3021) /32 = 1 host (loopback) Производственная компания 47 РМ · 9 VLAN · MikroTik CCR2004
Адресный план: 10.0.0.0/8 разбивается по второму октету на функциональные блоки
· 17 мин чтения · Семёнов Е.С., руководитель ITfresh

Адресный план для нового клиента: чек-лист CIDR-разметки сети

К нам обратилась производственная компания на 47 рабочих мест из района Бирюлёво — переезжали в новый офис с цехом, и решили заодно перепроектировать сетевую инфраструктуру. Старая «плоская» сеть 192.168.0.0/24 разрослась до 240 устройств, начались конфликты IP, тормозила печать, шифровальщик разок гулял по всем виндоусам подряд. Ниже — наш стандартный чек-лист CIDR-разметки, который мы применяем для офисов 30-50 РМ. С реальным конфигом MikroTik CCR2004, шпаргалкой масок и расчётами «сколько IP закладывать на отдел».

Почему плоская сеть /24 — путь к шифровальщику

Когда я приехал на старый офис в Бирюлёво, увидел типичную картину: всё в одной подсети 192.168.0.0/24, свободных адресов остаётся 14, MikroTik с дефолтной конфигурацией, на коммутаторе HPE Aruba нет VLAN, ИП-камеры в одной сети с бухгалтерией. У бухгалтера в обед заразился ПК через PDF-вложение, шифровальщик за 40 минут гулял по 18 машинам и зашифровал файловые шары на 1.7 ТБ. Бэкап спас всё, но 2 дня производство стояло.

Корень проблемы — плоская сеть. В одном /24 сегменте все устройства видят друг друга по любым портам. Заразили один ПК — заразили все. Камеры из коридора видят сервер 1С. IP-телефоны лезут в RDP-сервер. Гостевой Wi-Fi имеет доступ к шарам бухгалтерии. Ад.

В новом проекте мы делаем ровно наоборот: жёсткая сегментация на 9 VLAN, правила файрвола между ними, единый адресный план «по второму октету». Но прежде чем рисовать, надо вспомнить шпаргалку CIDR.

Шпаргалка масок и CIDR

За 15 лет работы я знаю эту таблицу наизусть, но любой инженер-стажёр должен распечатать и повесить рядом с монитором. Вот моя рабочая шпаргалка:

CIDR  | Маска             | Хостов  | Адресов | Применение
------|-------------------|---------|---------|---------------------------
/8    | 255.0.0.0         | 16M     | 16777216| Корневой блок RFC1918
/16   | 255.255.0.0       | 65 534  | 65 536  | Большой функциональный блок
/20   | 255.255.240.0     | 4 094   | 4 096   | Корпоративный сегмент
/22   | 255.255.252.0     | 1 022   | 1 024   | Кампус, большой офис
/23   | 255.255.254.0     | 510     | 512     | Расширенный пользовательский
/24   | 255.255.255.0     | 254     | 256     | Стандарт для офисного VLAN
/25   | 255.255.255.128   | 126     | 128     | Половинка /24
/26   | 255.255.255.192   | 62      | 64      | Малый отдел / DMZ
/27   | 255.255.255.224   | 30      | 32      | Серверный сегмент
/28   | 255.255.255.240   | 14      | 16      | Микро-сегмент
/29   | 255.255.255.248   | 6       | 8       | 4-6 серверов в DMZ
/30   | 255.255.255.252   | 2       | 4       | Point-to-Point линк
/31   | 255.255.255.254   | 2       | 2       | P2P по RFC 3021
/32   | 255.255.255.255   | 1       | 1       | Loopback / отдельный хост

Полезные правила, которые я использую в полевых условиях:

Как быстро прикинуть в уме

Когда мне в полевых условиях нужно сходу сказать, поместятся ли 80 серверов в /25 — я считаю так: /24 = 256, /25 = 128, минус 2 на network и broadcast = 126 хостов. 80 < 126 — поместится. Для понимания, какая маска нужна на N устройств, я округляю N вверх до ближайшей степени двойки и беру маску с этим количеством адресов плюс запас 50%.

Принцип «по второму октету»: красивый адресный план

Главный приём, который делает адресный план читаемым через 5 лет — это разделение по второму октету в 10.x.0.0/16. Это как индекс в библиотеке: видишь IP, и сразу понимаешь, к чему он относится:

10.10.0.0/16 — Пользователи (по подразделениям в третьем октете)
  10.10.10.0/24 — Бухгалтерия
  10.10.20.0/24 — Продажи
  10.10.30.0/24 — Маркетинг
  10.10.40.0/24 — Производство (мастера, технологи)
  10.10.50.0/24 — Руководство

10.20.0.0/16 — Серверы и инфраструктура
  10.20.10.0/24 — Контроллеры домена и DNS
  10.20.20.0/24 — Бизнес-серверы (1С, SQL, Bitrix24)
  10.20.30.0/24 — Файловые серверы
  10.20.40.0/24 — Гипервизоры (mgmt-интерфейсы)
  10.20.50.0/24 — Storage SAN
  10.20.90.0/24 — IPMI/iDRAC/iLO

10.30.0.0/16 — VoIP и телефония
  10.30.10.0/24 — IP-телефоны
  10.30.20.0/24 — SIP-сервер (Asterisk/MikroTik)

10.40.0.0/16 — IoT, ОТ, видеонаблюдение
  10.40.10.0/24 — IP-камеры
  10.40.20.0/24 — Контроль доступа (СКУД)
  10.40.30.0/24 — Принтеры и МФУ
  10.40.40.0/24 — Промышленные контроллеры (для производства)

10.50.0.0/16 — Wi-Fi для сотрудников
  10.50.10.0/24 — Корпоративный Wi-Fi (доменные ноуты)
  10.50.20.0/24 — Личные смартфоны (BYOD)

10.60.0.0/16 — VPN
  10.60.10.0/24 — IKEv2/IPsec для удалёнки
  10.60.20.0/24 — VPN для подрядчиков (ITfresh, разработчики 1С)

10.99.0.0/16 — Гостевой и DMZ
  10.99.10.0/24 — Гостевой Wi-Fi (изолирован)
  10.99.20.0/24 — DMZ для публичных сервисов

Этот шаблон я использую в десятке проектов 2024-2026. Через 3 года любой новый инженер ITfresh, открыв документацию, моментально ориентируется: 10.20.x.x — это серверы, 10.40.30.5 — это принтер. Не надо помнить, не надо лезть в Excel.

Сколько IP резервировать: реальная математика

Один из самых частых вопросов — «сколько хостов закладывать на сегмент». Я считаю с трёхкратным запасом, потому что переразметка через 3 года — это всегда боль:

Расчёт пользовательского сегмента на 50 РМ

Если бы я делал плоскую сеть, /24 (254 хоста) хватило бы. Но я их разделяю по функциям, и результат — каждый VLAN получает свою /24, между ними правила файрвола. Запас на каждой подсети при этом 80%, что покрывает 3-5 лет роста.

Расчёт серверного сегмента

Я всё равно беру /24 на серверы. На случай «через 2 года добавится ещё 10 серверов» и для красоты адресного плана.

Конфиг MikroTik CCR2004 для производственной компании

На производственной компании из Бирюлёво я поставил MikroTik CCR2004-1G-12S+2XS. Полный рабочий конфиг по адресному плану выше:

# Создаём bridge с VLAN-фильтрацией
/interface bridge
add name=bridge1 vlan-filtering=yes

# Добавляем физические порты в bridge
/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=ether2
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4

# Создаём VLAN-интерфейсы поверх bridge
/interface vlan
add interface=bridge1 name=vlan10-users vlan-id=10
add interface=bridge1 name=vlan20-servers vlan-id=20
add interface=bridge1 name=vlan30-voip vlan-id=30
add interface=bridge1 name=vlan40-iot vlan-id=40
add interface=bridge1 name=vlan50-wifi vlan-id=50
add interface=bridge1 name=vlan60-vpn vlan-id=60
add interface=bridge1 name=vlan99-guest vlan-id=99

# Назначаем IP на каждый VLAN
/ip address
add address=10.10.10.1/24 interface=vlan10-users  comment="Бухгалтерия и Продажи"
add address=10.20.10.1/24 interface=vlan20-servers comment="DC/AD"
add address=10.20.20.1/24 interface=vlan20-servers comment="1С/SQL"
add address=10.30.10.1/24 interface=vlan30-voip   comment="IP-телефоны"
add address=10.40.10.1/24 interface=vlan40-iot    comment="IP-камеры"
add address=10.40.30.1/24 interface=vlan40-iot    comment="Принтеры"
add address=10.50.10.1/24 interface=vlan50-wifi   comment="Корпоративный Wi-Fi"
add address=10.99.10.1/24 interface=vlan99-guest  comment="Гостевой Wi-Fi"

# DHCP-пулы
/ip pool
add name=pool-users   ranges=10.10.10.50-10.10.10.250
add name=pool-voip    ranges=10.30.10.50-10.30.10.250
add name=pool-iot     ranges=10.40.10.50-10.40.10.250
add name=pool-wifi    ranges=10.50.10.50-10.50.10.250
add name=pool-guest   ranges=10.99.10.50-10.99.10.250

/ip dhcp-server
add address-pool=pool-users   interface=vlan10-users  name=dhcp-users
add address-pool=pool-voip    interface=vlan30-voip   name=dhcp-voip
add address-pool=pool-iot     interface=vlan40-iot    name=dhcp-iot
add address-pool=pool-wifi    interface=vlan50-wifi   name=dhcp-wifi
add address-pool=pool-guest   interface=vlan99-guest  name=dhcp-guest

/ip dhcp-server network
add address=10.10.10.0/24 dns-server=10.20.10.5,10.20.10.6 \
    domain=corp.company.ru gateway=10.10.10.1
add address=10.30.10.0/24 dns-server=10.20.10.5 \
    gateway=10.30.10.1 ntp-server=10.20.10.5
add address=10.40.10.0/24 dns-server=10.20.10.5 \
    gateway=10.40.10.1
add address=10.50.10.0/24 dns-server=10.20.10.5,77.88.8.8 \
    gateway=10.50.10.1
add address=10.99.10.0/24 dns-server=77.88.8.8,1.1.1.1 \
    gateway=10.99.10.1

Это базовая часть. Серверный VLAN (10.20.0.0/16) у меня без DHCP — там все адреса статические и заведены вручную в наш Confluence как часть документации.

Файрвол между VLAN: что разрешать, что запрещать

VLAN без файрвола — это бесполезное упражнение. Они должны быть изолированы по умолчанию, и связи между ними — только явные. Стандартный набор правил у нас выглядит так:

/ip firewall filter
# Базовое — established/related всегда пропускаем
add chain=forward action=accept connection-state=established,related

# Разрешения для пользователей в серверы — только нужные порты
add chain=forward action=accept src-address=10.10.0.0/16 dst-address=10.20.10.0/24 \
    protocol=tcp dst-port=88,389,636,3268,3269 comment="Users to AD/LDAP"
add chain=forward action=accept src-address=10.10.0.0/16 dst-address=10.20.10.0/24 \
    protocol=udp dst-port=53,88,123 comment="DNS, Kerberos, NTP"
add chain=forward action=accept src-address=10.10.0.0/16 dst-address=10.20.20.0/24 \
    protocol=tcp dst-port=1433,1434 comment="Users to MSSQL"
add chain=forward action=accept src-address=10.10.0.0/16 dst-address=10.20.20.10 \
    protocol=tcp dst-port=1540,1541,1560-1591 comment="Users to 1C"
add chain=forward action=accept src-address=10.10.0.0/16 dst-address=10.20.30.0/24 \
    protocol=tcp dst-port=445 comment="Users to SMB"
add chain=forward action=accept src-address=10.10.0.0/16 dst-address=10.40.30.0/24 \
    protocol=tcp dst-port=515,631,9100 comment="Users to Printers"

# IoT и камеры наружу не должны лезть в принципе
add chain=forward action=drop src-address=10.40.0.0/16 dst-address=10.10.0.0/16
add chain=forward action=drop src-address=10.40.0.0/16 dst-address=10.20.0.0/16

# Гостевой только в интернет
add chain=forward action=drop src-address=10.99.10.0/24 dst-address=10.0.0.0/8
add chain=forward action=accept src-address=10.99.10.0/24 \
    out-interface=ether-wan comment="Guest internet only"

# Всё остальное между VLAN — drop
add chain=forward action=drop src-address=10.0.0.0/8 dst-address=10.0.0.0/8 \
    comment="Default deny inter-VLAN"

Эти правила я подбираю под каждого клиента — у производственной компании были специфические потребности по доступу мастеров цеха к терминалам ОТ, у юрфирмы — к серверу 1С через RDP. Но общий каркас неизменен: запрещаем по умолчанию, разрешаем точечно.

Расчёт CIDR в полевых условиях: 5 типичных задач

Когда инженер приходит на новый объект, ему часто приходится на лету считать CIDR. Вот пять реальных задач, которые я даю на собеседовании сетевым инженерам ITfresh:

Задача 1. Разделить /22 на 4 равных части

Дано: 10.10.0.0/22. Разбить на 4 равные подсети.
Решение: /22 содержит 1024 адреса = 4 × 256 = 4 × /24. Получаем:

10.10.0.0/24  — 10.10.0.1   — 10.10.0.254   bcast 10.10.0.255
10.10.1.0/24  — 10.10.1.1   — 10.10.1.254   bcast 10.10.1.255
10.10.2.0/24  — 10.10.2.1   — 10.10.2.254   bcast 10.10.2.255
10.10.3.0/24  — 10.10.3.1   — 10.10.3.254   bcast 10.10.3.255

Задача 2. Какая маска нужна на 200 хостов

200 хостов = ближайшая степень двойки сверху + 2 (network/broadcast) = 256 = /24. Подходит. /25 (128 хостов) — мало.

Задача 3. Найти broadcast для 192.168.10.50/26

/26 = маска 255.255.255.192 = шаг 64 в последнем октете. Сети начинаются с 0, 64, 128, 192. 50 попадает в 0-63. Network = 192.168.10.0, broadcast = 192.168.10.63. Хосты: 1-62.

Задача 4. Объединить 192.168.10.0/24 и 192.168.11.0/24 в одну сеть

Две смежные /24 = /23. Получаем 192.168.10.0/23, network 192.168.10.0, broadcast 192.168.11.255, 510 хостов.

Задача 5. p2p-линк между двумя MikroTik с минимумом IP

/30 — это 4 адреса (network/broadcast/2 хоста). Например 10.0.0.0/30: 10.0.0.1 и 10.0.0.2 на интерфейсах. /31 — 2 адреса по RFC 3021, но не все коробки поддерживают (старые Cisco — нет, MikroTik с RouterOS 6.40+ — да).

Документация адресного плана

Адресный план без документации — это бомба замедленного действия. Через 2 года никто не вспомнит, почему 10.20.30.45 — это файловый сервер, а 10.20.30.46 — DFS-кеш. Я веду документацию в одной из двух систем (по выбору заказчика):

В обоих случаях есть правило: каждое заведённое устройство должно быть зафиксировано в адресном плане в течение 24 часов после установки. Если правило не соблюдается — через год начинается «А что это за устройство на 10.40.30.78? Не знаю, кто его поставил».

Контр-нарратив: где много VLAN — это перебор

Скажу непопулярное. Я видел проекты, где интегратор для офиса на 12 человек настроил 8 VLAN, RADIUS-аутентификацию по портам, динамическую назначение VLAN по 802.1X. Заказчик в восторге первые две недели, потом приходит сменщик-бухгалтер, не работает Wi-Fi, RADIUS не пускает, MAC-фильтр на коммутаторе не пропускает — а инженер уволился.

Сегментация должна быть пропорциональна размеру компании. Для офиса до 10 РМ хватает 2 VLAN — пользователи и гости. Для 10-30 РМ — 3-4 (плюс серверы, плюс IoT). Для 30-50 РМ оправданы 6-9 VLAN. Дальше уже корпоративный масштаб со сложной маршрутизацией. Если интегратор предлагает 12 VLAN на офис в 15 человек — он либо переплачивает, либо строит проект под себя, чтобы только он мог обслуживать.

FAQ: что чаще всего спрашивают клиенты

Стоит ли использовать 10.0.0.0/8 или 192.168.0.0/16 для офисной сети?

Для офиса до 50 РМ — однозначно 10.0.0.0/8. Это даёт огромную свободу для роста, удобную разметку по VLAN (10.10.x.x — пользователи, 10.20.x.x — серверы и т.п.) и не пересекается с домашними сетями сотрудников при VPN. 192.168.x.x плох именно потому, что дома у каждого второго стоит роутер с такой же подсетью — и при VPN получаются конфликты.

Сколько IP-адресов резервировать на одно рабочее место?

Минимум три: основной ПК, IP-телефон и потенциальный второй девайс (личный смартфон в Wi-Fi, новый ноутбук). Плюс на офис в 30 человек принтеры, камеры, точки Wi-Fi, MFU, IoT-устройства — это ещё 20-40 адресов. Я закладываю /24 (254 хоста) на сегмент пользователей — этого хватает с трёхкратным запасом.

Почему я разделяю серверы и пользователей на разные VLAN?

Чтобы пользовательский ПК не мог напрямую общаться с сервером 1С по нестандартным портам. На MikroTik между VLAN стоит файрвол с правилами «разрешено только конкретное» — RDP, SMB, печать, DNS, Kerberos. Это снимает 80% риска шифровальщика, который зашёл через одну заражённую машину и пошёл сканировать всё подряд.

Что такое /30 и /31 — и зачем они нужны?

/30 — это подсеть на 4 адреса (2 хоста), используется для point-to-point линков между маршрутизаторами. /31 — это совсем 2 адреса по RFC 3021, тоже для p2p, экономнее на 2 IP. В офисной сети /30 нужен для линка между двумя MikroTik в режиме failover, /31 — когда у вас целый парк маршрутизаторов и каждый IP на счету.

Сколько стоит у ITfresh разработка адресного плана с нуля?

Для нового офиса 30-50 РМ — 20-30 тысяч рублей за день инженера: проектирование, документация в Visio/Drawio, конфиг MikroTik, перенастройка коммутаторов, миграция с плоской сети. Если адресный план идёт частью большого проекта (переезд офиса, развёртывание AD), то отдельно не считаем — он входит в стоимость работ.

Итог

CIDR-разметка — это не магия и не теория для CCNA-экзамена, а инструмент, который определяет всю последующую жизнь сети. Час времени инженера на проектирование адресного плана сэкономит компании годы боли с конфликтами IP, шифровальщиками и переездами. У производственной компании из Бирюлёво новая сеть на 9 VLAN живёт уже два года без единого инцидента межсегментного заражения. Если вам нужно перепроектировать адресный план — напишите, пришлю готовый шаблон под вашу специфику.

Похожая задача в вашей компании?

Расскажите, что у вас сейчас — пришлю план работ и оценку в течение рабочего дня.

Написать в Telegram  или  +7 903 729-62-41

Семёнов Е.С., руководитель ITfresh