wildfielded / pro-netregistry

IP-addresses and VLANs Database for SOHO Networks

Repository from Github https://github.comwildfielded/pro-netregistryRepository from Github https://github.comwildfielded/pro-netregistry

🇬🇧 Disclaimer

⚠️ This project is intended for use in a company with Russian-speaking specialists. Therefore, all explanations, comments, and other texts are provided in Russian only.


🇷🇺 Реестр сетей и использования адресного пространства ЛВС

Python

Содержание

1. Условия задания
2. Описание решения
3. Результат
4. Инструкция по запуску проекта

Условия задания

Есть две таблицы в MS Excel с данными по использованию IP-адресов из делегированных диапазонов. Вечная процессная проблема — IP-адреса, как всегда, выделяются и освобождаются в срочном порядке. Если тут же не актуализировать информацию в таблицах, то потом придётся тратить гораздо больше времени для воспоминаний, проверки и даже переинвентаризации. Сразу актуализировать редко получается, поскольку процесс обложен организационно-техническими решениями.Требуется облегчить процесс.

  • В таблице IP-адресов обязательны следующие поля:
  1. IP адрес
  2. Статус (свободен/временно/используется)
  3. DNS-имя
  4. Описание
  5. Дата начала использования (для используемых адресов)
  6. Ответственный (структурное подразделение)
  7. Примечание Опционально:
  8. Подключение к Zabbix
  9. Подключение к SIEM
  10. Выдаётся по DHCP или постоянный
  • В таблице подсетей обязательны следующие поля:
  1. Подсеть (Адрес сети)
  2. Маска подсети (dotted-decimal notation)
  3. Номер VLAN
  4. Наименование VLAN
  5. Описание
  6. Количество используемых адресов
  7. Количество временно используемых адресов
  8. Количество свободных адресов (без адреса сети и broadcast-адреса)
  • Создать вэб приложения для записи информации и возможностью экспорта данных в формат MS Excel по готовым шаблонам. Можно по одному или несколько листов в файле.

  • Предусмотреть простой и лёгкий dump и restore базы по сети.

  • В качестве основы web-engine — использовать Django.

  • В качестве СУБД — использовать SQLite. Для предполагаемого объёма данных его достаточно.

  • В качестве ORM-прокладки сделать выбор из вариантов: django-orm, SQLAlchemy или что-то ещё.

  • Основные роли пользователей в админке Django: Админ сайта, «писатель» (вносит изменения в таблицы) и «читатель» (смотрит данные и может выводить в Excel).

⬆️ Содержание


Описание решения

Две таблицы в базе данных:

Addrs

    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 или постоянный

Vlans

    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-адреса)

⬆️ Содержание


Результат

⬆️ Содержание


Инструкция по запуску проекта

⬆️ Содержание


About

IP-addresses and VLANs Database for SOHO Networks

License:Creative Commons Zero v1.0 Universal