Connection Limit Notifier/ru

From DD-WRT Wiki

Jump to: navigation, search


Уведомление об превышении предела числа подключений доступно в Mini и более функциональных сборках, начиная с ревизии SVN 12966. Сборка Micro не поддерживает протокол SMTP, поэтому и не может поддерживать уведомление.

Настройка уведомления производится довольно просто. На вкладке Security → Firewall в группе Connection Warning Daemon (название "Daemon" изменено на "Notifier" в ревизии SVN 12975):

  1. Включите службу уведомления Connection Warning Daemon, установив параметр Warning Daemon в значение Enable.
  2. Выберите максимальное количество подключений и введите его в поле Connection Limit (по умолчанию 500).
  3. Введите адрес электронной почты SMTP-сервера в поле Email SMTP Server (исходящая почта).
  4. Введите ваше имя пользователя и пароль для аутентификации для исходящей почты.
  5. Введите адрес электронной почты и полное имя пользователя (From:).
  6. Введите доменное имя и адрес электронной почты, на который будут приходить уведомления (To:).

Image:Connection-Limit-Notifier.jpg

[edit] Как это работает

Служба уведомления работает вместе со сторожевым таймером маршрутизатора DD-WRT. Она отправит электронное письмо (используя протокол ESMTP) для любого устройства, которое превысит предел числа подключений, указанный в конфигурации.

Если служба уведомлений отправляет электронное письмо, она будет игнорировать это устройство в течение следующих 10 минут. По истечении этого времени она отправит повторное сообщение, если предел всё ещё будет превышен. Если в течение этого времени другое устройство превысит предел, электронное письмо будет немедленно отправлено с указанием этого устройства. И снова будет игнорировать последующие нарушения этого устройства, пока не пройдет 10 минут.

[edit] Примеры уведомлений

Вы можете самостоятельно проверить, не превышен ли предел, введя "notifier" в командной строке или в скрипте планировщика Cron.

Если ввести в командной строке "notifier", при превышении предела вывод команды будет выглядеть примерно так:

root@redhawk-AP:~# notifier
220 vmsXXXXpub.XXXXX.net -- Server ESMTP (Sun Java(tm) System Messaging Server 6.3-7.04 (built Sep 26 2008; 32bit))
250 2.0.0 OK.
250 SIZE 20971520
334 VXNlcm5dMwU6
334 UGFzgfaQcmQ6
235 2.7.0 LOGIN authentication successful.
250 2.5.0 Address Ok.
250 2.1.5 XXXXX@XXXXX.com OK.
354 Enter mail, end with a single ".".
250 2.5.0 Ok.
221 2.3.0 Bye received. Goodbye.

Если нет превышения предела, команда вернёт пустую строку.

В электронном письме содержится гораздо больше информации о том, кто или что превысил максимальный предел. Оно будет выглядеть примерно так:

From: "Router" <XXXXX@XXXXX.XXX>

ip 192.168.0.10 has 552 open connections
544 open connections on port 80
1 open connections on port 61819
1 open connections on port 24
1 open connections on port 57
2 open connections on port 5129
1 open connections on port 28381
1 open connections on port 3132
1 open connections on port 993

[edit] Используемые переменные NVRAM

warn_to= (электронная почта, куда отправляются уведомления)
warn_from= (адрес электронной почты на SMTP-сервере для исходящей почты)
warn_domain= (доменное имя получателя писем)
warn_user= (имя пользователя SMTP-сервера для исходящей почты)
warn_pass= (пароль SMTP-сервера для исходящей почты)
warn_server= (SMTP-сервер для исходящей почты)
warn_fromfull= (название маршрутизатора или какой-либо другой идентификатор, указанный в поле Full Name конфигурации маршрутизатора)
warn_connlimit= (предел числа подключений)
warn_enabled=1 (0, чтобы отключить уведомление о превышении предела соединений)