|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (34)
просмотр истории страницыПри запуске и остановке служб на сервере вызываются скрипты /app/*/cfg/hooks с параметрами, сообщающими о том, какая служба была запущена или остановлена. |
{toc} |
|
Таким образом для каждого сервиса можно делать свои дополнительные настройки. |
h1. Назначение скриптов hooks |
|
Первый параметр - служба, второй 'start' или 'stop', третий параметр - код возврата от службы. |
Скрипты *hooks* позволяют выполнять какие-либо действия при запуске и остановке служб (демонов в терминологии Unix). Например, таким образом можно добавить собственные правила IPTABLES. |
|
При помощи файлов /app/*/cfg/hooks можно делать нестандартные настройки сервера. |
h1. Добавление правил |
|
h2. В этом разделе приводятся примеры таких скриптов. |
Скрипт *hooks* написан на языке Bash. Изменения вносятся в середину скрипта, первую и последнюю строки оставьте неизменными. В общем виде скрипт должен выглядеть так: |
|
Отредактировать файл можно следуя инструкциям из этой статьи. Изменения вносятся в середину скрипта, первую и последнюю строки оставьте неизменными. В общем виде скрипт должен выглядеть так. |
{code} #!/bin/bash |
... |
exit 0 {code} |
Первый параметр - служба, второй 'start' или 'stop', третий параметр - код возврата от службы. |
Например, разрешим доступ на порты пассивного режима ftp-сервера биллинга: {code} |
... |
{code} |
После редактирования скрипта нужно перезапустить соответствующий контейнер: Например: {code}/app/base/service restart{code} h2. Что для чего |
{Warning} |
*Внимание*: При изменении кастомных цепочек *asr_billing*_input правила необходимо добавлять в hook контейнера *asr_billing*, если цепочка *asr_cabinet*_input - добавлять в hooks *asr_cabinet* и т.п. Изменять *базовые* цепочки(INPUT,OUTPUT,PREROUTING и т.д.) запрещено. |
При изменении кастомных цепочек *asr_billing*_input правила необходимо добавлять в hook контейнера *asr_billing*, если цепочка *asr_cabinet*_input - добавлять в hooks *asr_cabinet* и т.п. Изменение *базовых * цепочек (INPUT,OUTPUT,PREROUTING и т.д.) гарантированно нарушит связь контейнеров, а следовательно всей системы. |
{Warning} |
Скрипты находятся в разных контейнерах, которые имеют разные задачи: |
Необходимые правила IPTABLES и прочие действия необходимо описывать в хуках соответствующих [контейнеров|CarbonBaseSystem:Контейнеры с приложениями] |
|
1) base - отвечает за базовые настройки в биллинге. |
h3. auth Базовый интерфейс авторизации в платформе, других функций нет. |
Скрипт */app/base/cfg/hooks* |
iptables-цепочки: base_input и base_output |
iptables-цепочки: *auth_input* и *auth_output* h3. base Отображает интерфейс перехода в другие контейнеры, к настройкам других контейнеров и настройки доступа к серверу в целом. Скрипт */app/base/cfg/hooks* iptables-цепочки: *base_input* и *base_output* |
Обычно используется для предоставления доступа к к веб-интерфейсу управления, но правильнее использовать соответствующее поле в [веб-интерфейсе|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=48693373] |
2) asr_fiscal - отвечает за взаимодействие с платежными системами: |
h3. asr_billing Управлениие абонентами и тарифами. |
Скрипт /app/asr_fiscal/cfg/hooks /app/asr_billing/cfg/hooks |
iptables-цепочки: asr_fiscal_input и asr_fiscal_output Обычно используется для предоставления доступа платежных систем к биллингу, но правильнее использовать соответствующее поле в [веб-интерфейсе Шаг 4|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129] |
iptables-цепочки: asr_billing_input и asr_billing_output |
|
3) asr_cabinet - отвечает за функционирование локального сайта и личного кабинета |
h3. asr_cabinet Содержит локальный сайт и личный кабинет. |
Скрипт /app/asr_cabinet/cfg/hooks iptables-цепочки: asr_cabinet_input и asr_cabinet_output Обычно используется для предоставления доступа к локальному сайту и личному кабинету. По умолчанию доступ предоставлен всем. |
4) monitoring - отвечает за функционирование систем мониторинга, в частности Zabbix. |
h3. asr_fiscal Содержит модули взаимодействия с платежными системами. Скрипт /app/asr_fiscal/cfg/hooks iptables-цепочки: *asr_fiscal_input* и *asr_fiscal_output* Обычно используется для предоставления доступа платежных систем к биллингу, но правильнее использовать соответствующее поле в [веб-интерфейсе Шаг 4|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129] h3. collector Система сбора статистики (Netflow) и DHCP-сервер. Скрипт /app/collector/cfg/hooks iptables-цепочки: collector_input и collector_output h3. monitoring Система мониторинга Zabbix. |
Скрипт /app/monitoring/cfg/hooks iptables-цепочки: monitoring_input и monitoring_output Обычно используется для предоставления доступа к ZABBIX. |
h2. Использование скрипта hooks по расписанию |
|
После редактирования скрипта нужно перезапустить соответствующий контейнер: Например /app/base/service restart h2. Автоматизированное использование |
Ничто не мешает использовать hooks с помощью cron. Таким образом вы можете выполнять некие команды не при наступлении какого-то события, а в нужное вам время. |
... |
10 */2 * * * root /cfg/hooks /etc/init.d/networkd start 1>/dev/null 2>/dev/null {code} |
h2. Отладка добавления правил IPTABLES # Проверьте что правило добавляется из командной строки до того как добавлять его в скрипт hooks # Если произошла ошибка добавления правила, информацию о ней можно попробовать найти в логе */var/log/messages* (или выполнив команду *dmesg*) |