NetBox для документации IT-инфраструктуры: порядок вместо 12 Excel-файлов
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. Типовой сценарий, который я вижу у нового клиента: в папке Documents лежит «IP-план-v3-ФИНАЛ-2024-правка2.xlsx», в другом файле — серверный учёт, в третьем — схема сети, нарисованная в Visio пять лет назад, а актуальный список свитчей... в голове у приходящего админа, который в отпуске. При любом инциденте диагностика начинается с археологии. NetBox решает это за одну неделю внедрения. Расскажу, как и когда это оправдано.
Что такое NetBox и зачем бизнесу source of truth
NetBox — open-source инструмент от DigitalOcean для документации IT-инфраструктуры. Две главные подсистемы:
- IPAM (IP Address Management) — учёт IP-адресов, подсетей, VLAN, DNS-имен, prefix-аллокация.
- DCIM (Data Center Infrastructure Management) — физическое железо: стойки, серверы, свитчи, их физическое расположение, кабели, консольные порты, распайка.
Плюс модели для:
- Tenancy — многоарендность, привязка устройств к клиентам/проектам.
- Circuits — внешние каналы связи (провайдеры, MPLS, VPN-туннели).
- Virtualization — виртуальные машины и их размещение на гипервизорах.
- Contacts — контакты ответственных лиц.
- Wireless — SSID, точки доступа.
Главная идея — всё в одной базе, доступно через API. Другие системы (Ansible, Zabbix, Terraform, NetBox-to-DNS, LibreNMS) берут данные отсюда, не из Excel.
Когда NetBox реально нужен
Мой критерий: внедряем если хотя бы ДВА из условий:
- Больше 50 сетевых устройств (свитчи, АП, роутеры, сервера).
- Больше одной площадки.
- Админов 2+ (им нужно синхронизироваться).
- Частая смена железа (ротация, миграции, реорганизация).
- Уже есть Ansible или подобная автоматизация (NetBox даст inventory).
- Регулярные аудиты ФСТЭК / ЦБ / налоговой.
Если у вас 10 серверов, один админ и ничего не меняется — Excel по-прежнему работает.
Установка через docker-compose
# Официальный netbox-docker
git clone https://github.com/netbox-community/netbox-docker.git
cd netbox-docker
cp env/netbox.env.example env/netbox.env
# Редактируем пароли
# Старт
docker compose pull
docker compose up -d
# Создание суперпользователя
docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
nginx перед NetBox для Let's Encrypt и reverse-proxy. В проде рекомендуется держать PostgreSQL отдельно на managed-сервере (Selectel Managed PostgreSQL или на своём отдельном хосте).
Первичное заполнение
Порядок, который я применяю у клиентов:
- Sites (площадки): головной офис, филиалы, дата-центр.
- Racks (стойки) в каждом Site с размерами и U-count.
- Device types (модели железа): Dell R650, Cisco Catalyst 9300, Eltex MES-2428 и т.д. — описываются единожды с портами.
- Devices: конкретные экземпляры с серийными номерами, asset tag, размещением в стойке.
- Interfaces: порты устройств (автоматически из Device Type).
- Prefixes: подсети IP по VRF.
- VLANs: идентификаторы и назначения.
- IP addresses: адреса с привязкой к интерфейсам.
- Cables: кабельные связи между портами.
Для 50 устройств первичное заполнение занимает 2-4 рабочих дня вручную. Для 200+ используем CSV-импорт или скрипты на pynetbox.
Интеграция с Ansible
NetBox как источник inventory для Ansible:
# inventory/netbox.yml
plugin: netbox.netbox.nb_inventory
api_endpoint: https://netbox.example.ru
token: abcdef1234567890...
validate_certs: true
group_by:
- device_roles
- sites
- manufacturers
config_context: true
После этого ansible -i inventory/netbox.yml all -m ping запрашивает у NetBox список устройств. Playbook для настройки свитчей читает конфиг прямо из custom_fields в NetBox.
Интеграция с Zabbix
Модуль netbox-for-zabbix-sync синхронизирует NetBox → Zabbix: когда вы добавляете устройство в NetBox, оно автоматически появляется в Zabbix с нужным шаблоном.
netbox_config:
url: "https://netbox.example.ru"
token: "[...]"
filter_devices: '{"status": "active"}'
zabbix_config:
url: "https://zabbix.example.ru/api_jsonrpc.php"
user: "admin"
password: "[...]"
# Маппинг role → template
role_template_map:
"core-switch": "Template Net Cisco IOS SNMPv2"
"linux-server": "Template OS Linux"
"windows-server": "Template OS Windows"
Кейс: 320 устройств для производственной компании
В октябре 2025 клиент — производство металлоконструкций, 180 сотрудников, центральный офис и два производственных участка. Инфраструктура: 28 серверов (физических), 140 виртуалок, 52 свитча Cisco/Eltex/Mikrotik, 38 WiFi-точек Aruba, 62 IP-камеры, 18 принтеров сетевых. До нас — Excel-файлы, часть устаревшая.
Что сделали за 14 рабочих дней:
- Дни 1-2: VPS 4 vCPU / 8 ГБ / 100 ГБ в Selectel, установка NetBox 4.0 через docker-compose, Let's Encrypt.
- Дни 3-4: Настройка структуры — Sites (3 площадки), Tenant (компания + проекты), Roles, Tags.
- Дни 5-8: Первичное заполнение. Использовали: 1) ручной ввод для критичных; 2) CSV-импорт из Excel (нашли 47 ошибок в процессе сравнения); 3) скрипт на pynetbox, который через SNMP прошёл по свитчам и вытащил реальный список устройств.
- День 9: Cable-аудит — физический осмотр стоек, сверка с NetBox. Нашли 18 «мистических» кабелей, непонятно куда идущих — разобрали.
- Дни 10-11: Интеграция с Ansible (inventory), Zabbix (sync устройств), DNS (netbox-plugin-dns для автозаполнения bind-зон).
- Дни 12-13: Обучение команды — двухчасовая лекция + документация + чек-листы.
- День 14: Процедура изменений — любое добавление/удаление устройства теперь через NetBox, а не через Excel.
Через 2 месяца после внедрения у клиента был инцидент: погас свитч на втором участке. Новый админ (только устроился) за 3 минуты в NetBox нашёл: модель, серийник, какие устройства к нему подключены, какие VLAN обслуживает, кто контактное лицо у поставщика для замены. Раньше это бы заняло 30-60 минут.
Стоимость проекта — 165 тыс руб.
Расширенные возможности
- Journal. Каждое устройство имеет журнал действий — кто что менял, когда. Аудит-след.
- Change Log. История всех изменений полей с возможностью rollback.
- Webhooks. При изменении устройства — автоматически дергается API Ansible/Zabbix/custom.
- Custom fields. Ваши кастомные поля на устройствах (например, «дата последнего обслуживания», «гарантия до», «поставщик»).
- Reports и Scripts. Python-скрипты с UI — проверка «все ли свитчи имеют мониторинг», «есть ли свободные IP в подсети 10.10.0/24».
Ошибки внедрения
- Пропускать первичное заполнение. Пустой NetBox никто не использует. Две недели на заполнение — минимум.
- Делать только IPAM, забывать DCIM. Половинчатое решение — лучше Excel.
- Не интегрировать. NetBox сам по себе — просто база. Интеграция с Ansible/Zabbix/DNS делает его ценным.
- Без процесса изменений. Если админы меняют настройки на железе без обновления NetBox — данные устаревают за месяц.
- Один админ без документации. Если NetBox знает только один человек, при его уходе данные используются плохо.
Внедрим NetBox в вашу инфраструктуру — от 85 000 руб.
Я лично проектирую и внедряю NetBox для компаний 50-500 устройств в Москве и области. Установка, первичное заполнение, интеграция с Ansible/Zabbix/DNS, обучение команды, процесс изменений. Типовой проект — 2-3 недели для средней инфраструктуры. Первичный аудит текущей документации и оценка — бесплатно.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — NetBox в бизнесе
- Нужен ли NetBox при 20 серверах и 5 свитчах?
- Для совсем маленькой инфраструктуры (до 30 сетевых устройств, до 10 серверов) Excel-таблица ещё работает. NetBox окупается от 50-70 устройств или при наличии хотя бы одного из: несколько площадок, регулярная смена IP, интеграция с Ansible/мониторингом, частая ротация админов.
- Какие требования к железу для NetBox?
- Для инфраструктуры до 500 устройств: VPS 2 vCPU / 4 ГБ RAM / 40 ГБ SSD, PostgreSQL, Redis. Для 500-5000 устройств: 4 vCPU / 8 ГБ RAM. Сам NetBox — Django-приложение, не требователен. Основная нагрузка — от интеграций (если Ansible каждые 5 минут запрашивает inventory).
- Что такое IPAM и DCIM?
- IPAM (IP Address Management) — учёт IP-адресов, подсетей, VLAN. Избавляет от Excel с IP-планом. DCIM (Data Center Infrastructure Management) — учёт физического железа: стойки, серверы, их место в стойке, сетевые карты, кабели. NetBox делает и то, и другое в одном интерфейсе.
- Можно ли автоматически заполнять NetBox?
- Да. Есть модули Auto-Discovery (пакет netbox-plugin-dns), скрипты на napalm для Cisco/Juniper/Arista, интеграция с LibreNMS/Zabbix для импорта device list. Мы обычно делаем гибрид: cable и physical position — вручную, IP и vlan — автодискавери.
- Сколько стоит внедрение NetBox под ключ?
- Для компании с 50-150 устройствами: VPS 4-6 тыс руб/мес, работа по установке, настройке, первичному заполнению данных, интеграции с Ansible/Zabbix, обучение администраторов — от 85 тыс руб разово. Для 500+ устройств с автоматизацией и кастомными модулями — от 250 тыс руб.