Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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]] |