Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:modules:internet:ipoe:ru [2017/09/15 15:43]
anton [Контроль доступа и нарезка трафика]
abills:docs:modules:internet:ipoe:ru [2018/04/06 12:39]
asmodeus
Строка 21: Строка 21:
 |NAS_MNG_USER | Пользователь для управления сервером доступа | |NAS_MNG_USER | Пользователь для управления сервером доступа |
 |NAS_MNG_IP_PORT | IP:​PORT ​ управления сервером доступа | |NAS_MNG_IP_PORT | IP:​PORT ​ управления сервером доступа |
 +|NAS_MNG_IP | NAS IP  управления |
 +|NAS_MNG_PORT | порт управления сервером доступа |
 |NAS_ID | Номер ​ сервера доступа | |NAS_ID | Номер ​ сервера доступа |
 |NAS_TYPE | Тип сервера доступа | |NAS_TYPE | Тип сервера доступа |
Строка 33: Строка 35:
 $conf{INTERNET_IPOE_START}='​SUDO=/​usr/​local/​bin/​sudo;​ $conf{INTERNET_IPOE_START}='​SUDO=/​usr/​local/​bin/​sudo;​
 CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​ CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​
-if [ "​${NAS_TYPE}"​ = "​mikrotik"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} ​NAS_ADMIN=${NAS_MNG_USER}";​+if [ "​${NAS_TYPE}"​ = "​mikrotik"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} ​NAS_MNG_USER=${NAS_MNG_USER}";​
 elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"​${CMD}\"";​ fi; elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"​${CMD}\"";​ fi;
 eval "​${CMD}"';​ eval "​${CMD}"';​
Строка 39: Строка 41:
 $conf{INTERNET_IPOE_STOP}='​SUDO=/​usr/​local/​bin/​sudo;​ $conf{INTERNET_IPOE_STOP}='​SUDO=/​usr/​local/​bin/​sudo;​
 CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​ CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​
-if [ "​${NAS_TYPE}"​ = "​mikrotik"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} ​NAS_ADMIN=${NAS_MNG_USER}";​ +if [ "​${NAS_TYPE}"​ = "​mikrotik"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} ​NAS_MNG_USER=${NAS_MNG_USER}";​ 
-elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"​${CMD}\"";​ fi;+elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER} ${NAS_MNG_USER}@${NAS_MNG_IP} \"​${CMD}\"";​ fi;
 eval "​${CMD}"';​ eval "​${CMD}"';​
 </​code>​ </​code>​
Строка 49: Строка 51:
 CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​ CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn up getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​
 if [ "​${NAS_TYPE}"​ = "​mikrotik_dhcp"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} if [ "​${NAS_TYPE}"​ = "​mikrotik_dhcp"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik up - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT}
-NAS_ADMIN=${NAS_MNG_USER}";​+NAS_MNG_USER=${NAS_MNG_USER}";​
 elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER} elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER}
-${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"​${CMD}\"";​ fi;+${NAS_MNG_USER}@${NAS_MNG_IP} \"​${CMD}\"";​ fi;
 eval "​${CMD}"';​ eval "​${CMD}"';​
  
Строка 57: Строка 59:
 CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​ CMD="​${SUDO} /​usr/​abills/​libexec/​linkupdown ipn down getif %LOGIN %IP %DEBUG > /dev/null 2>&​1";​
 if [ "​${NAS_TYPE}"​ = "​mikrotik_dhcp"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT} if [ "​${NAS_TYPE}"​ = "​mikrotik_dhcp"​ ]; then CMD="/​usr/​abills/​libexec/​linkupdown mikrotik down - %LOGIN %IP NAS_HOST=${NAS_MNG_IP_PORT}
-NAS_ADMIN=${NAS_MNG_USER}";​+NAS_MNG_USER=${NAS_MNG_USER}";​
 elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER} elif [ "​${NAS_MNG_IP_PORT}"​ != ""​ ]; then CMD="/​usr/​bin/​ssh -o StrictHostKeyChecking=no -i /​usr/​abills/​Certs/​id_rsa.${NAS_MNG_USER}
-${NAS_MNG_USER}@${NAS_MNG_IP_PORT} \"​${CMD}\"";​ fi;+${NAS_MNG_USER}@${NAS_MNG_IP} \"​${CMD}\"";​ fi;
 eval "​${CMD}"';​ eval "​${CMD}"';​
 </​code> ​ </​code> ​
 +
 +И дополнительная команда фильтров
 +
 +**$conf{INTERNET_IPOE_FILTER} **
 +
 +Полный путь к программе,​ которая запустится,​ если у клиента заполнено поле Filter ID. Данная программа запускается после командіпрописанной в $conf{IPN_FW_START_RULE} и $conf{IPN_FW_STOP_RULE}.
 +Программе передаются следующие аргументы %STATUS (ONLINE_ENABLE,​ONLINE_DISABLE,​HANGUP)
 +
 +  %LOGIN
 +  %IP
 +  %FILTER_ID
 +  %PORT
 +  %UID
 +в виде аргументов.
 +
 +Также передаются переменные окружения:​
 +  NAS_IP_ADDRESS
 +  NAS_MNG_USER
 +  NAS_MNG_IP_PORT
 +  NAS_MNG_IP
 +  NAS_MNG_PORT
 +
 +Не забывайте,​ что при ручной активации пользователя программа может выполняться с правами веб-сервера,​ поэтому лучше её запускать через sudo.
 +Пример:​ abills/​misc/​ipn_filter.sh ​
 +
 +
 Также внизу указано настройка дополнительных параметров ​ для разных операционных систем и удалённых серверов доступа Также внизу указано настройка дополнительных параметров ​ для разных операционных систем и удалённых серверов доступа
  
Строка 153: Строка 181:
  
 Параметры:​ Параметры:​
-^ NAS_IDS=1,2 | Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом '​ipcad' ​ |+^ NAS_IDS=1;2 | Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом '​ipcad' ​ |
 ^ TP_ID=3,6 | Номера тарифных планов для активации. По умолчанию все | ^ TP_ID=3,6 | Номера тарифных планов для активации. По умолчанию все |
 ^ LOGIN=test,​test3 | Логины пользователей. По умолчанию все | ^ LOGIN=test,​test3 | Логины пользователей. По умолчанию все |
Строка 159: Строка 187:
 ^ DEBUG=... | Дебаг режимы \\ 1-4 Детализация процесса \\ 5 - Отображать команды на выполнение \\ 6 - Отображать команды но не выполнять | ^ DEBUG=... | Дебаг режимы \\ 1-4 Детализация процесса \\ 5 - Отображать команды на выполнение \\ 6 - Отображать команды но не выполнять |
  
 +====Рестарт активных IPoE сессий====
 +**Растартовать только сессии которые поднимаюстя в ручном режиме**
 +
 +  /​usr/​abills/​libexec/​periodic monthly MODULES=Internet SRESTART=1 NO_ADM_REPORT=1 NAS_IDS=1 LOCAL_NAS=1 FN=ipoe_periodic_session_restart ​
 +
 +^ NAS_IDS=1 | Список серверов доступа для рестарта |
 +^ LOCAL_NAS=1 | работать как с локальным сервером доступа. Указывается номер NAS. \\ Опция NAS_IDS игнорируется |
 +^ FN=ipoe_periodic_session_restart ​ | Функция рестарта |
 +====Утилиты====
  
 +  * [[abills:​docs:​modules:​internet:​ipoe:​online_snapshot:​ru|Online snapshot]]