LINUX.ORG.RU

Сетевой монитор кому-нибудь нужен?

 , ,


0

1

Несколько лет назад потребовалось мне обеспечить гарантированный удаленный доступ к домашнему компу, а для этого решил подключить 2-х провайдеров. Раз будут 2 провайдера, то нужна балансировка. Но когда один из провайдеров отваливается, нужно балансировку отключать. Кроме того в зависимости от доступности провайдеров нужно было перестраивать некоторые маршруты…

Сделал утилиту для мониторинга и настройки шлюзов и маршрутов. Поэтом эту утилиту использовал на некоторых предприятиях. По ходу дела утилита обросла дополнительными функциями. И подумалось как-то мне - а не запустить ли opensource проект, возможно есть люди которым нужно что-то подобное. Понятно что такая утилита нужно не многим, и большинство из тех кому она нужна способны сами организовать такой мониторинг, и для каждого конкретного случая потребуются доработки. Но по себе знаю, что времени всегда не хватает и обычно подобные самописные вещи годами остаются в полу доделанном состоянии. Так что иметь какую-то базовую систему не помешает.

Но тратить время на создание opensource проекта есть смысл только если имеется достаточное количество заинтересованных пользователей.

Что утилита умеет сейчас:

1.Контролирует состояние сетевых интерфейсов, при необходимости запускает скрипты для их конфигурации. 2.Проверяет доступность шлюзов, при необходимости изменяет шлюз по умолчанию. 3.Проверяет работоспособность заданных фиксированных маршрутов, при необходимости переключает на запасные. 4.Проверяет доступность различных сервисов хост:порт 5.При обнаружении каких-то проблем отправляет уведомление админам. Уведомления пишутся в файл, потом отсылаются по почте с помощью incron. Отдельно сделана систем для подавления избыточных уведомлений.

Что хотелось бы сделать, но пока «руки не доходят»:

1.Использование WiFi подключений. На тех серверах с которыми я работаю WiFi пока не используется, но но эту утилиту можно будет поставить на ноут, что бы автоматически подключаться к знакомым сетям. Конечно для этого есть готовые решения, но свой «велосипед» удобнее. 2.Поддержка ipv6 3.Проверка корректности ответов от серверов (анализ ответа http, smtp и т.п. протоколам). Пока проверяется только сам факт доступности порта. 4.Проверка работоспособности серверов VPN (vpn отказывает в простом инет соединении) 5.Использование резервных шлюзов при отказе основных. 6.Запуск аварийных шлюзов, для поддержания работоспособности критичных служб, например ssh и почты. (обычно по 3/4G) 7.Работа с несколькими таблицами маршрутизации для управления маршрутами по источнику. 8.Анализ фактической сетевой конфигурации, что бы исключить избыточные действия по настройке сети.

Использование SMTP для отправки уведомлений, поверка подтверждения о доставке. Отправка критичных уведомлений по SMS (в том случае когда почта не работает)

Последние 2 пункта, возможно, будут реализованы в виде отдельной утилиты, что бы их можно было использовать совместно с другими системами.

Утилита написана на чистом Си, используются только стандартная библиотека. Скорее всего, можно будет собрать для openwrt, если кому-то будет нужно.

Кто заинтересован в подобной утилите - пишите в теме. Может быть кто-то просто что то посоветует по этому поводу. Если кто-то желает принять участие в разработке, может сделать донат или заказ на доработку под конкретные нужды - указывайте это тоже.

Тем кому эта утилита не нужна, просьба не сорить в теме.

Утилита нужна, но нет ли аналогичных проектов уже? Или может это стандартными механизмами можно настроить, но сложнее чем в твоей утилита, а твой софт это делает проще - вот это бы сравнить

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от pinachet

Выложи на github/gitlab и посмотри в сторону Aspia

Действительно, выложил бы на github и написал бы в readme.md что русскоязычные пользователи могут создавать здесь на лоре по ней темы и кастовать в них тебя.

torvn77 ★★★★★ ()
Ответ на: комментарий от pinachet

Не понял зачем тут Aspia? Или как пример открытого проекта? Но она под windows, там другой контингент пользователей.

Утилита у меня вполне себе рабочая, но для публикования не готова. Ее хоть немного надо причесать. Я собираюсь это сделать в любом случае, но пока не удается выкроить время. Нужен стимул :)

Готовые решения я искал, но ничего не нашел. Если кто-то знает скажите, может быть перейду на него. Конечно если это opensource. Может быть даже сам подключусь к проекту.

Ushenin ()