1. Условия задания
2. Описание решения
3. Результат
4. Инструкция по запуску проекта
Есть две таблицы в MS Excel с данными по использованию IP-адресов из делегированных диапазонов. Вечная процессная проблема — IP-адреса, как всегда, выделяются и освобождаются в срочном порядке. Если тут же не актуализировать информацию в таблицах, то потом придётся тратить гораздо больше времени для воспоминаний, проверки и даже переинвентаризации. Сразу актуализировать редко получается, поскольку процесс обложен организационно-техническими решениями.Требуется облегчить процесс.
- В таблице IP-адресов обязательны следующие поля:
- IP адрес
- Статус (свободен/временно/используется)
- DNS-имя
- Описание
- Дата начала использования (для используемых адресов)
- Ответственный (структурное подразделение)
- Примечание Опционально:
- Подключение к Zabbix
- Подключение к SIEM
- Выдаётся по DHCP или постоянный
- В таблице подсетей обязательны следующие поля:
- Подсеть (Адрес сети)
- Маска подсети (dotted-decimal notation)
- Номер VLAN
- Наименование VLAN
- Описание
- Количество используемых адресов
- Количество временно используемых адресов
- Количество свободных адресов (без адреса сети и broadcast-адреса)
-
Создать вэб приложения для записи информации и возможностью экспорта данных в формат MS Excel по готовым шаблонам. Можно по одному или несколько листов в файле.
-
Предусмотреть простой и лёгкий dump и restore базы по сети.
-
В качестве основы web-engine — использовать
Django. -
В качестве СУБД — использовать
SQLite. Для предполагаемого объёма данных его достаточно. -
В качестве ORM-прокладки сделать выбор из вариантов:
django-orm,SQLAlchemyили что-то ещё. -
Основные роли пользователей в админке
Django: Админ сайта, «писатель» (вносит изменения в таблицы) и «читатель» (смотрит данные и может выводить в Excel).
Две таблицы в базе данных:
ip_addr TEXT IP адрес (PRIMARY KEY)
status TEXT Статус (свободен/временно/используется)
fqdn TEXT DNS-имя
desc TEXT Описание
use_date TEXT Дата начала использования (для используемых адресов)
dept TEXT Ответственный (структурное подразделение)
comment TEXT Примечание
is_zabbix BOOL Подключение к Zabbix
is_siem BOOL Подключение к SIEM
is_dhcp BOOL Выдаётся по DHCP или постоянный
vlan_id INTEGER Номер VLAN (PRIMARY KEY)
vlan_addr TEXT Подсеть (Адрес сети)
vlan_mask TEXT Маска подсети (dotted-decimal notation)
vlan_name TEXT Наименование VLAN
desc TEXT Описание
ip_used INTEGER Количество используемых адресов
ip_temp INTEGER Количество временно используемых адресов
ip_free INTEGER Количество свободных адресов
(без адреса сети и broadcast-адреса)