• Как передать статистику с роутера на сервер?

    @remzalp
    Программер чего попало на чем попало
    1. Убеждаемся, что железка держит протокол SNMP - это самый распространенный протокол получения статистики.
    Тут сразу всякий дешман начинает резко отваливаться
    Если железка есть, SNMP нет, но хочется - убеждаемся, что прошивка OpenWRT или DD-WRT с нужным набором функций под ваше устройство существует.
    Если нет - подарите это барахло нуждающимся и покупайте микротик (круто, но еще почти дешман).

    2. Поднимаем у себя Zabbix или Icinga (или что попало по вкусу), которые вполне успешно умеют SNMP принимать или дёргать со стороны. Еще на управляемых железяках можно настроить SNMP Trap, чтобы при наступлении определённых событий (подключение к порту например) на сервер отсылалось оповещение.

    3. С ограничением доступа - в случае с микротиком вполне реально. В случае с Zyxel Keenetic второго поколения прошивок - тоже. В случае с циской/джунипером и прочими топами совсем легко :).
    У всех перечисленных довольно хорошая командная строка в терминале, поэтому можно редактировать правила на сервере и заливать через командную строку.
    https://natenka.gitbooks.io/pyneng/content/book/15...
    посмотрите эту и соседние главы - пример автоматизации на питоне с управлением толпой устройств.

    Возможно, задача с непонятной формулировкой "ограничение доступа" отлично накладывается на возможности 802.1X

    4. Не упомянутая, но обычно возникающая проблема - если ип у подчиненных железяк будет динамическим - задача найти эту железяку.
    Решений два - каждая железяка использует какой-то из вариантов No-IP (у микротиков из коробки бесплатный)
    или железяки поддерживают впн/опенвпн туннель до сервера, а сервер уже просто через туннели дёргает их по известным локальным (для него) адресам.

    Далее - менеджмент интерфейс железяки по хорошему не должен вообще торчать наружу, так что завернуть в впн - один из методов обеспечения безопасности.

    99. Путь настоящего изв...ерга
    Пишем для каждой модели скрипт, который логинится с центрального сервера на железку на веб-интерфейс, вытаскивает статистику, складывает в базу.

    100. Для того, чтобы было мало секса - выкиньте сразу непонятные железяки и закупите циски или микротики, или что угодно аналогичной профессиональной крутизны, главное чтобы УМНОЕ И ОДИНАКОВОЕ иначе будет счастье, безграничное счастье, потому что наверняка Вас ждут самые дешманские d-link, tp-link, upvel или еще что-то совсем безымянное.
    Ответ написан
    1 комментарий
  • Как указать связанную модель?

    mututunus
    @mututunus
    Backend developer (Python, Golang)
    instance.comment_article = Article.objects.get(id=self.kwargs['article_id'])
    Ответ написан
    4 комментария