Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:modules:internet:ipoe:ru [2017/07/07 17:39] asmodeus [Контроль доступа и нарезка трафика] |
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> | ||
Строка 46: | Строка 48: | ||
Для типа сервера - mikrotik-dhcp: | Для типа сервера - mikrotik-dhcp: | ||
<code> | <code> | ||
- | $conf{INTERNET_IPOE_START_RULE}='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_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}"'; | ||
- | $conf{INTERNET_IPOE_STOP_RULE}='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_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 | ||
+ | |||
+ | |||
Также внизу указано настройка дополнительных параметров для разных операционных систем и удалённых серверов доступа | Также внизу указано настройка дополнительных параметров для разных операционных систем и удалённых серверов доступа | ||
Строка 146: | Строка 174: | ||
+ | |||
+ | ====Включение активных пользователей==== | ||
+ | Данная команда автоматически включает всех пользователей с положительным депозитом и правами получать сервис (статус услуги активно). Активируются только те пользователи у которых прописан IP адрес сервиса Internet. Также обязательно на IPN серверах доступа прописать пулы адресов для таких пользователей чтобы система знала на каких серверах доступа активировать абонентов. Данную команду стоит запускать через crontab с промежутком раз в 5 минут. | ||
+ | |||
+ | # /usr/abills/libexec/periodic monthly MODULES=Internet LOGON_ACTIVE_USERS | ||
+ | |||
+ | Параметры: | ||
+ | ^ NAS_IDS=1;2 | Идентификаторы серверов доступа. По умолчанию система переинициализирует пользователей на всех серверах доступа с типом 'ipcad' | | ||
+ | ^ TP_ID=3,6 | Номера тарифных планов для активации. По умолчанию все | | ||
+ | ^ LOGIN=test,test3 | Логины пользователей. По умолчанию все | | ||
+ | ^ GID=1 | Группы пользователей | | ||
+ | ^ 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]] |