Дополнительные настройки. hooks. Хуки. Свои правила в firewall

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

При запуске и остановке служб на сервере вызываются скрипты /app/*/cfg/hooks с параметрами, сообщающими о том, какая служба была запущена или остановлена.

Таким образом для каждого сервиса можно делать свои дополнительные настройки.

Первый параметр - служба, второй 'start' или 'stop', третий параметр - код возврата от службы.

При помощи файлов /app/*/cfg/hooks можно делать нестандартные настройки сервера.

В этом разделе приводятся примеры таких скриптов.

Отредактировать файл можно следуя инструкциям из этой статьи.

Изменения вносятся в середину скрипта, первую и последнюю строки оставьте неизменными. В общем виде скрипт должен выглядеть так.

#!/bin/bash


if [ "$1" = 'Имя_службы' -a "$2" = 'Параметр' ]; then

    #Ваши изменения здесь

fi

exit 0

Например, разрешим доступ на порты пассивного режима ftp-сервера биллинга:

#!/bin/bash

if [   "$1"   =   "/etc/init.d/firewall" -a "$2" = start  ]; then

     iptables -I asr_billing_input -p tcp --destination-port 10090:10100 -j ACCEPT 

fi
exit 0

Внимание: При изменении кастомных цепочек asr_billing_input правила необходимо добавлять в hook контейнера asr_billing, если цепочка asr_cabinet_input - добавлять в hooks asr_cabinet и т.п. Изменять базовые цепочки(INPUT,OUTPUT,PREROUTING и т.д.) запрещено.

Unknown macro: {warinig}

Скрипты находятся в разных контейнерах, которые имеют разные задачи:

1) base - отвечает за базовые настройки в биллинге.
Скрипт /app/base/cfg/hooks
iptables-цепочки: base_input и base_output
Обычно используется для предоставления доступа к к веб-интерфейсу управления, но правильнее использовать соответствующее поле в веб-интерфейсе

2) asr_fiscal - отвечает за взаимодействие с платежными системами:
Скрипт /app/asr_fiscal/cfg/hooks
iptables-цепочки: asr_fiscal_input и asr_fiscal_output
Обычно используется для предоставления доступа платежных систем к биллингу, но правильнее использовать соответствующее поле в веб-интерфейсе Шаг 4

3) asr_cabinet - отвечает за функционирование локального сайта и личного кабинета
Скрипт /app/asr_cabinet/cfg/hooks
iptables-цепочки: asr_cabinet_input и asr_cabinet_output
Обычно используется для предоставления доступа к локальному сайту и личному кабинету. По умолчанию доступ предоставлен всем.

4) monitoring - отвечает за функционирование систем мониторинга, в частности Zabbix.
Скрипт /app/monitoring/cfg/hooks
iptables-цепочки: monitoring_input и monitoring_output
Обычно используется для предоставления доступа к ZABBIX.

После редактирования скрипта нужно перезапустить соответствующий контейнер:

Например /app/base/service restart

Автоматизированное использование

Ничто не мешает использовать hooks с помощью cron. Таким образом вы можете выполнять некие команды не при наступлении какого-то события, а в нужное вам время.

Для этого нужно использовать в качестве имени службы:

  • cron.10min - для того чтобы выполнять что-то каждые 10 минут
  • cron.daily - для того чтобы выполнять что-то каждый день
  • cron.hourly - для того чтобы выполнять что-то каждый час
  • cron.monthly - для того чтобы выполнять что-то каждый месяц
  • cron.weekly - для того чтобы выполнять что-то каждую неделю

Либо /etc/crontab, если вам нужно указать специфичное время, но в таком случае указать в вызове в качестве имени службы что-то уникальное, например

10 */2 * * *  root /cfg/hooks /etc/init.d/networkd start 1>/dev/null 2>/dev/null
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.