NetBox для документации IT-инфраструктуры: порядок вместо 12 Excel-файлов
Привет! Я Евгений Семенов, директор ITFresh. Знаете, что мы, в ITFresh, часто видим, когда начинаем работать с новыми клиентами? Классическая картина: в папке 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 реально нужен
У нас в ITFresh есть чёткий критерий: мы рекомендуем внедрять NetBox, если у вас выполняется хотя бы ДВА из этих условий:
- Представьте: у вас в сети не пара компьютеров, а целая армия устройств! Мы говорим о более чем пятидесяти единицах: тут вам и свитчи, и точки доступа, и роутеры, конечно, и сервера. Это уже серьезно.
- Больше одной площадки.
- И что со всем этим делать, если админов у вас не один, а двое, а то и больше? Им постоянно нужно синхронизироваться, чтобы никто не наступил другому на пятки, и вся инфраструктура работала как часы.
- Не успеваешь привыкнуть к одному железу, как уже пора менять? На практике мы часто сталкиваемся с тем, что оборудование в IT-инфраструктуре меняется постоянно. Это и плановая ротация, и вынужденные миграции, и масштабная реорганизация — вечный круговорот.
- Уже используете Ansible или какой-то другой инструмент для автоматизации? Отлично! С NetBox вы получите готовую, актуальную inventory. Это же идеальный мостик между управлением инфраструктурой и вашими скриптами.
- А эти регулярные проверки от ФСТЭК, ЦБ или налоговой? Для тех, кто с ними знаком, не нужно объяснять, насколько важна точная и актуальная документация. NetBox помогает держать всё в порядке и быть готовым к любому аудиту.
Давайте будем честными: если у вас десяток серверов, один админ и в инфраструктуре практически ничего не меняется, — 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
Для правильной работы с NetBox мы всегда ставим nginx в качестве фронтенда. Зачем? Он нужен для 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: кабельные связи между портами.
Сколько времени займёт первичное заполнение данных? Давайте прикинем: для пятидесяти устройств мы обычно укладываемся в 2-4 рабочих дня, если заполнять вручную. Но если у вас двести устройств и больше, мы, конечно, переходим на тяжёлую артиллерию: в ход идёт CSV-импорт или специализированные скрипты на pynetbox. Так быстрее, и ошибок меньше.
Интеграция с Ansible
NetBox: главный источник инвентаризации для 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 точек доступа Aruba, 62 IP-камеры и 18 сетевых принтеров. А до нас вся эта махина "документировалась" в Excel-файлах, причём часть из них давно потеряла актуальность.
Что сделали за 14 рабочих дней:
- Итак, с чего начали? Первые два дня мы посвятили базовой подготовке. Развернули VPS в Selectel — 4 vCPU, 8 ГБ оперативки, 100 ГБ диска. Затем, используя docker-compose, быстро установили NetBox версии 4.0. И, конечно, не забыли про безопасность и удобство: настроили Let's Encrypt для шифрования.
- На 3-4 день мы начали наводить порядок, выстраивая всю структуру NetBox. Определили Sites — у нас их было три, по числу физических площадок. Создали Tenant, разделив его на основную компанию и отдельные проекты. А потом занялись более тонкой настройкой: выработали удобные Roles и Tags. Это как базовые кирпичики для всего будущего здания.
- Самое интересное началось на 5-8 дни — первичное заполнение NetBox данными. Мы не стали изобретать велосипед и использовали три подхода. Что-то критичное вносили вручную, прямо с листа. Большая часть данных пошла через CSV-импорт из старых добрых Excel-таблиц. И тут без сюрпризов не обошлось: при сравнении нашли целых 47 ошибок! Но самый мощный инструмент — это скрипт на pynetbox, который по SNMP прошелся по всем свитчам и вытащил реальный, актуальный список всех устройств. Вот это действительно экономия времени и нервов.
- День 9 был посвящен настоящему 'кабельному детективу' — мы провели Cable-аудит. Физически осмотрели все стойки, сверяясь с данными в NetBox. И что вы думаете? Нашли 18 «мистических» кабелей! Те самые, что ведут в никуда или непонятно откуда. Разобрались с каждым, привели всё в порядок. Теперь точно знаем, что куда подключено!
- На 10-11 дни мы занялись интеграцией — это та самая 'вишенка на торте', которая заставляет всю систему работать как единый организм. Подключили Ansible, чтобы он автоматически забирал актуальную inventory прямо из NetBox. Настроили синхронизацию устройств с Zabbix, чтобы мониторинг всегда был в курсе новых изменений. И, конечно, DNS! Используя netbox-plugin-dns, мы автоматизировали заполнение bind-зон. Больше никаких ручных правок!
- После всех настроек мы, конечно, не оставили команду один на один с новой системой. На 12-13 дни провели полноценное обучение. Это была двухчасовая лекция, где мы разжевали все нюансы. В дополнение — подробная документация и удобные чек-листы. Сделали всё, чтобы у сотрудников не осталось вопросов, как эффективно работать с NetBox.
- И вот он, День 14: запуск новой процедуры изменений! Теперь любое добавление или удаление устройств происходит исключительно через NetBox. Всё, 'прощай' старый добрый Excel! Это не просто смена инструмента, это переход в новую эру управления инфраструктурой: прозрачно, централизованно, без лишних головных болей.
Спустя всего два месяца после внедрения NetBox у этого клиента произошёл показательный инцидент. На втором участке вдруг "погас" один из свитчей. Представьте: новый админ, который только что вышел на работу, заходит в NetBox и... за три минуты находит всю нужную информацию! Модель, серийник, какие устройства к нему подключены, какие VLAN'ы он обслуживает и даже контактное лицо у поставщика, чтобы быстро заказать замену. До внедрения NetBox на такие поиски уходило бы 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 тыс руб.
