- Команды для xge shell
- Описание всех команд
- Глобальные команды
- Разрешить всем абонентам доступ в интернет без проверки состояния абонента
- Проверить наличие правила, разрешающего доступ в интернет без проверки
- Удалить правила, разрешающего доступ в интернет без проверки
- Сбросить все сессии xge
- Команды управления сессиями абонентов
- Получить список ip адресов всех абонентов на XGE
- Получить список всех сессий в формате: ip username snat rate lists mac class_id state type terminate_cause
- Получить информацию о сессии с адресом 10.10.20.100
- Запустить диагностику абонента(может выполняться до нескольких минут)
- Создать новую сессию с типом IPOE (поддерживаемые типы: IPoE, PPP, WEB)
- Остановить сессию абонента (удаляет у сессии скорость и удаляет сессию из всех ACL)
- Установить на абонента редирект 80 трафика на информационную страницу указанного типа(negbal - отрицительный баланс, blocked - добровольная блокировка или блокировка администратором)
- Удалить с абонента редирект
- Установить абоненту SNAT ip 1.2.3.4
- отключить абоненту SNAT
- Установить абоненту скорость (rate_in/rate_out - гарантированная входящая/исходящая, ceil_in/ceil_out - максимальная входящая/исходящая, burst_in/burst_outi), можно указывать только rate или только rate и ceil. Формат: rate set in <rate_in> <ceil_in> <burst_in> out <rate_out> <ceil_out> <burst_out>
- Удалить ограничение скорости
- Отключить сессию(пересоздает IPOE и WEB сессию, отключает соединение по PPP)
- Удалить целиком абонентскую сесию
- Получить MAC адрес абонента(возможно только поле его установки или после того, как сервер получил первые пакетв от абонента, ПОКА НЕ БЫЛО НИ ОДНОГО ПАКЕТА ОТ АБОНЕНТА XGE НЕ ЗНАЕТ ЕГО MAC адрес)
- Установить фиксированное соответствие MAC и IP адресов абонента
- Очистить арп запись абонента и удалить мак привязку
Команды для xge shell
Вызывать можно несколькими способами:
- Явно, через radclient в запросах.
- В radius-атрибутах в ответах radius-сервера.
- Вручную через коммандную строку передавая как параметры xgesh внутри контейнера /app/xge.
Описание всех команд
10.10.20.1 - ip адрес XGE
10.10.20.100 - ip адрес абонента
superpsw - CoA пароль
Filter-Id - Радиус атрибут, который используется для управления XGE
Глобальные команды
Разрешить всем абонентам доступ в интернет без проверки состояния абонента
Пример для командной строки:
xgesh global access allow
Пример для radclient:
echo "Filter-Id=\"global access allow\"" | radclient -x 10.10.20.1 coa superpsw
Проверить наличие правила, разрешающего доступ в интернет без проверки
Пример для командной строки:
xgesh global access check
Пример для radclient:
echo "Filter-Id=\"global access allow check\"" | radclient -x 10.10.20.1 coa superpsw
Удалить правила, разрешающего доступ в интернет без проверки
Пример для командной строки:
xgesh global access allow cancel
Пример для radclient:
echo "Filter-Id=\"global access allow cancel\"" | radclient -x 10.10.20.1 coa superpsw
Сбросить все сессии xge
Данной функции не предусмотрено в скрипте управления сессиями xgesh, но можно выполнить следующий скрипт:
for sessions in $(xgesh session dump | awk '{print $1}'); do xgesh session $sessions remove; done
Команды управления сессиями абонентов
Получить список ip адресов всех абонентов на XGE
Пример для командной строки:
xgesh session list
Пример для radclient:
echo "Filter-Id=\"session list\"" | radclient -x 10.10.20.1 coa superpsw
Получить список всех сессий в формате: ip username snat rate lists mac class_id state type terminate_cause
Пример для командной строки:
xgesh session dump
Пример для radclient:
echo "Filter-Id=\"session dump\"" | radclient -x 10.10.20.1 coa superpsw
Получить информацию о сессии с адресом 10.10.20.100
Пример для командной строки:
xgesh session 10.10.20.100 info
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 info\"" | radclient -x 10.10.20.1 coa superpsw
Запустить диагностику абонента(может выполняться до нескольких минут)
Пример для командной строки:
xgesh session 10.10.20.100 test
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 test\"" | radclient -x 10.10.20.1 coa superpsw
Создать новую сессию с типом IPOE (поддерживаемые типы: IPoE, PPP, WEB)
Пример для командной строки:
xgesh session 10.10.20.100 start IPOE
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 start IPOE\"" | radclient -x 10.10.20.1 coa superpsw
Остановить сессию абонента (удаляет у сессии скорость и удаляет сессию из всех ACL)
Пример для командной строки:
xgesh session 10.10.20.100 stop Coa-Disconnect
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 stop Coa-Disconnect\"" | radclient -x 10.10.20.1 coa superpsw
Установить на абонента редирект 80 трафика на информационную страницу указанного типа(negbal - отрицительный баланс, blocked - добровольная блокировка или блокировка администратором)
Пример для командной строки:
xgesh session 10.10.20.100 redirect negbal
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 redirect negbal\"" | radclient -x 10.10.20.1 coa superpsw
Удалить с абонента редирект
Пример для командной строки:
xgesh session 10.10.20.100 redirect negbal cancel
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 redirect negbal cancel\"" | radclient -x 10.10.20.1 coa superpsw
Установить абоненту SNAT ip 1.2.3.4
Пример для командной строки:
xgesh session 10.10.20.100 nat 1.2.3.4
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 nat 1.2.3.4\"" | radclient -x 10.10.20.1 coa superpsw
отключить абоненту SNAT
Пример для командной строки:
xgesh session 10.10.20.100 nat cancel
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 nat cancel\"" | radclient -x 10.10.20.1 coa superpsw
Установить абоненту скорость (rate_in/rate_out - гарантированная входящая/исходящая, ceil_in/ceil_out - максимальная входящая/исходящая, burst_in/burst_outi), можно указывать только rate или только rate и ceil. Формат: rate set in <rate_in> <ceil_in> <burst_in> out <rate_out> <ceil_out> <burst_out>
Пример для командной строки:
xgesh session 10.10.20.100 rate set in 1024 5000 100000 out 2048 5000 100000
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 rate set in 1024 5000 100000 out 2048 5000 100000\"" | radclient -x 10.10.20.1 coa superpsw
Пример для командной строки:
xgesh session 10.10.20.100 rate set in 1024 5000 out 2048 5000
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 rate set in 1024 5000 out 2048 5000\"" | radclient -x 10.10.20.1 coa superpsw
Пример для командной строки:
xgesh session 10.10.20.100 rate set in 1024 out 2048
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 rate set in 1024 out 2048\"" | radclient -x 10.10.20.1 coa superpsw
Удалить ограничение скорости
Пример для командной строки:
xgesh session 10.10.20.100 rate remove
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 rate remove\"" | radclient -x 10.10.20.1 coa superpsw
Отключить сессию(пересоздает IPOE и WEB сессию, отключает соединение по PPP)
Пример для командной строки:
xgesh session 10.10.20.100 disconnect
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 disconnect\"" | radclient -x 10.10.20.1 coa superpsw
Удалить целиком абонентскую сесию
Пример для командной строки:
xgesh session 10.10.20.100 remove
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 remove\"" | radclient -x 10.10.20.1 coa superpsw
Получить MAC адрес абонента(возможно только поле его установки или после того, как сервер получил первые пакетв от абонента, ПОКА НЕ БЫЛО НИ ОДНОГО ПАКЕТА ОТ АБОНЕНТА XGE НЕ ЗНАЕТ ЕГО MAC адрес)
Пример для командной строки:
xgesh session 10.10.20.100 mac get
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 mac get\"" | radclient -x 10.10.20.1 coa superpsw
Установить фиксированное соответствие MAC и IP адресов абонента
Пример для командной строки:
xgesh session 10.10.20.100 mac set e2:a8:f3:b2:79:80
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 mac set e2:a8:f3:b2:79:80\"" | radclient -x 10.10.20.1 coa superpsw
Очистить арп запись абонента и удалить мак привязку
Пример для командной строки:
xgesh session 10.10.20.100 mac remove
Пример для radclient:
echo "Filter-Id=\"session 10.10.20.100 mac remove\"" | radclient -x 10.10.20.1 coa superpsw