Управление абонентами на XGE

Skip to end of metadata
Go to start of metadata

Команды для xge shell

Вызывать можно несколькими способами:

  1. Явно, через radclient в запросах.
  2. В radius-атрибутах в ответах radius-сервера.
  3. Вручную через коммандную строку передавая как параметры xgesh внутри контейнера /app/xge.

Описание всех команд

10.10.20.1 - ip адрес XGE
10.10.20.100 - ip адрес абонента
superpsw - CoA пароль
Filter-Id - Радиус атрибут, который используется для управления XGE

Глобальные команды

  1. Разрешить всем абонентам доступ в интернет без проверки состояния абонента

    Пример для командной строки:

    	xgesh global access allow
    	

    Пример для radclient:

    	echo "Filter-Id=\"global access allow\"" | radclient -x 10.10.20.1 coa superpsw
    	
  2. Проверить наличие правила, разрешающего доступ в интернет без проверки

    Пример для командной строки:

    	xgesh global access check
    	

    Пример для radclient:

    	echo "Filter-Id=\"global access allow check\"" | radclient -x 10.10.20.1 coa superpsw
    	
  3. Удалить правила, разрешающего доступ в интернет без проверки

    Пример для командной строки:

    	xgesh global access allow cancel
    	

    Пример для radclient:

    	echo "Filter-Id=\"global access allow cancel\"" | radclient -x 10.10.20.1 coa superpsw
    	
  4. Сбросить все сессии xge

    Данной функции не предусмотрено в скрипте управления сессиями xgesh, но можно выполнить следующий скрипт:

    for sessions in $(xgesh session dump | awk '{print $1}'); do xgesh session $sessions remove; done

Команды управления сессиями абонентов

  1. Получить список ip адресов всех абонентов на XGE

    Пример для командной строки:

    	xgesh session list
    	

    Пример для radclient:

    	echo "Filter-Id=\"session list\"" | radclient -x 10.10.20.1 coa superpsw
    	
  2. Получить список всех сессий в формате: 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
    	
  3. Получить информацию о сессии с адресом 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
    	
  4. Запустить диагностику абонента(может выполняться до нескольких минут)

    Пример для командной строки:

    	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
    	
  5. Создать новую сессию с типом 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
    	
  6. Остановить сессию абонента (удаляет у сессии скорость и удаляет сессию из всех 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
    	
  7. Установить на абонента редирект 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
    	
  8. Удалить с абонента редирект

    Пример для командной строки:

    	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
    	
  9. Установить абоненту 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
    	
  10. отключить абоненту 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
    	
  11. Установить абоненту скорость (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
    	
  12. Удалить ограничение скорости

    Пример для командной строки:

    	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
    	
  13. Отключить сессию(пересоздает 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
    	
  14. Удалить целиком абонентскую сесию

    Пример для командной строки:

    	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
    	
  15. Получить 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
    	
  16. Установить фиксированное соответствие 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
    	
  17. Очистить арп запись абонента и удалить мак привязку

    Пример для командной строки:

    	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
    	
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.