Синхронизация абонентов на оборудовании

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (8)

просмотр истории страницы
* Базовый скрипт событий: */var/lib/event/sync/*{color:#ff0000}{*}NAS-IP{*}{color}*/*
* OSS-схема: */*{color:#ff0000}{*}OSS-директория{*}{color}*/cache/sync/*{color:#ff0000}{*}NAS-IP{*}{color}*/*
{note}При интеграции "Пользовательской" схемы, в её директории должна быть папка *bin* и в ней - файл *session*, иначе синзронизация будет завершаться с ошибкой:
{code}/usr/local/bin/sync_nas: line 196: /var/oss/core/test/bin/session: Нет такого файла или каталога{code}
Пользовательский скрип можно оставить в папке bin, а не ubin, или сделать его гиперссылкой:
{code}ln -s /var/oss/core/test/ubin/session /var/oss/core/test/bin/session{code}{note}

Более детальное описание:
\\
\\
{note}Если в списки, загруженные с оборудования, попал адрес, не относящийся к кому-либо из абонентов биллинга, то по нему не будет отправлено никаких команд. В логе синхронизации будет ошибка:
{code}ERROR' user_id= abonent_id= not found for 10.88.0.72 try direct call{code}
В приведенном примере, синхронизатор нашел на NAS IP 10.88.0.72, но он не привязан какой-либо учетной записи.{note}
\\
#* *auth_list.nas.add*: user_add
#* *auth_list.nas.del*: user_del
* Авторизованные абоненты
* Отрицательный баланс
\\
\\
{note}Если по какой-то причине с оборудования пришел пустой список авторизованных абонентов, то автоматическая синхронизация по этому NAS не запустится.

Для примера возьмём оборудование Mikrotik. Допустим, что интегрированный с биллингом Mikrotik вышел из строя и вы заменили его на новый. Загрузили правила [firewall|firewall_filter.cfg], но адрес листы по абонентам на нём не появляются. При попытке запустить синхронизацию вручную в логе синхронизации будет строка:

{code}В файле /var/oss/core/Mikro_test/cache/sync/%IP-адрес NAS%//auth_list.nas 0 непустых строк{code}

Для решения проблемы нужно внести произвольный адрес в адрес лист *crb_auth_list*. После этого остальные адреса будут добавлены синхронизацией.
{code}
/ip firewall address-list add address=192.168.254.254/32 list=crb_auth_list
{code}
{note}


h1. Ручной запуск синхронизации
Синхронизацию можно запустить как по всем NAS, так и по конкретному оборудованию, что может быть полезно для отладки или решения проблемы с сессиями абонентов на определенном NAS.
h2. Для всех NAS
*sync_nas* запускает синхронизацию всех маршрутизаторов сразу при запуске, перезапустить её вручную можно следующими способами:
Так же Вы можете выполнить скрипт синхронизации конкретного маршрутизатора с повышенным логированием, например:
{code}bash -x /usr/local/bin/sync_nas --nas 169.1.18.12 --scriptname xge_router.sh --coa_psw 12345pass --debug{code}
{note}Файл *sync_nasd.log* записывается только при запуске системы синхронизации *sync_nasd*, при запуске непосредственно скрипта *sync_nas* +логи записаны не будут+!{note}

h1. Синхронизация с NAS XGE
Для того, что бы принудительно синхронизировать абонентов на NAS XGE нужно выполнить следующие действия:

#Удалить старые сессии на XGE:

{code} rm -f /app/xge/var/lib/xge_sessions/* {code}

#Перейдите в контейнер asr_billing:

{code}chroot /app/asr_billing{code}

# Перезапустить sync_nasd:

{code}service sync_nasd restart{code}

# Найдите команду синхронизации данных с NAS XGE:

{code}grep 'sync_nas --nas' /var/log/sync_nasd.log{code}

Для NAS XGE встроенного в SoftRouter команда синхронизации будет выглядеть следующим образом:

{code}sync_nas --nas 169.254.18.12 --scriptname xge_router.sh --coa_psw algosolarsystem --radius_secret algosolarsystem --telnet_login - --telnet_password - --telnet_port - --oss_path - --scheme_name -{code}

# Запустите команду синхронизации.

# Выйдите из контейнера asr_billing:

{code}exit{code}
Но Вы можете перенаправить вывод скрипта в отдельный файл для последующего анализа, например:
{code}sync_nas --nas 169.1.18.12 --scriptname xge_router.sh --coa_psw 12345pass --debug &> sync_nas_xge_debug.log{code}{note}