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

по сравнению с
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (119)

просмотр истории страницы
h2. Доступ к сети, NAT
{toc}

h4. Доступ
h1. Команды для xge shell

Разрешить пользователю доступ к сети
Вызывать можно несколькими способами:

{code}
ip forward_allow add $ip
{code}
Запретить пользователю доступ к сети
# Явно, через radclient в запросах.
# В radius-атрибутах в ответах radius-сервера.
# Вручную через коммандную строку передавая как параметры xgesh внутри контейнера /app/xge.

{code}
ip forward_allow del $ip
{code}
h2. Описание всех команд

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

Включить NAT пользователя
h3. Глобальные команды

# h4. Разрешить всем абонентам доступ в интернет без проверки состояния абонента
Пример для командной строки:{code}
xgesh global access allow
{code}
ip snat add $ip $snat_ip
Пример для radclient:{code}
echo "Filter-Id=\"global access allow\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# h4. Проверить наличие правила, разрешающего доступ в интернет без проверки
Пример для командной строки:{code}
xgesh global access check
{code}
Пример для radclient:{code}
echo "Filter-Id=\"global access allow check\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# h4. Удалить правила, разрешающего доступ в интернет без проверки
Пример для командной строки:{code}
xgesh global access allow cancel
{code}
Пример для radclient:{code}
echo "Filter-Id=\"global access allow cancel\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# h4. Сбросить все сессии xge
Данной функции не предусмотрено в скрипте управления сессиями xgesh, но можно выполнить следующий скрипт:
{code}for sessions in $(xgesh session dump | awk '{print $1}'); do xgesh session $sessions remove; done{code}

Отключить NAT пользователю
h3. Команды управления сессиями абонентов

# h4. Получить список ip адресов всех абонентов на XGE
Пример для командной строки:{code}
xgesh session list
{code}
ip snat del $ip
Пример для radclient:{code}
echo "Filter-Id=\"session list\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# h4. Получить список всех сессий в формате: ip username snat rate lists mac class_id state type terminate_cause
Пример для командной строки:{code}
xgesh session dump
{code}
h4. MAC привязки
Пример для radclient:{code}
echo "Filter-Id=\"session dump\"" | radclient -x 10.10.20.1 coa superpsw
{code}
установка mac привязки
# h4. Получить информацию о сессии с адресом 10.10.20.100
Пример для командной строки:{code}
xgesh session 10.10.20.100 info
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 info\"" | radclient -x 10.10.20.1 coa superpsw
{code}
mac set $ip $mac
# h4. Запустить диагностику абонента(может выполняться до нескольких минут)
Пример для командной строки:{code}
xgesh session 10.10.20.100 test
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 test\"" | radclient -x 10.10.20.1 coa superpsw
{code}
снятие mac привязки
# h4. Создать новую сессию с типом IPOE (поддерживаемые типы: IPoE, PPP, WEB)
Пример для командной строки:{code}
xgesh session 10.10.20.100 start IPOE
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 start IPOE\"" | radclient -x 10.10.20.1 coa superpsw
{code}
mac remove $ip
# h4. Остановить сессию абонента (удаляет у сессии скорость и удаляет сессию из всех ACL)
Пример для командной строки:{code}
xgesh session 10.10.20.100 stop Coa-Disconnect
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 stop Coa-Disconnect\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# h4. Установить на абонента редирект 80 трафика на информационную страницу указанного типа(negbal - отрицительный баланс, blocked - добровольная блокировка или блокировка администратором)
Пример для командной строки:{code}
xgesh session 10.10.20.100 redirect negbal
{code}
h2. Шейперы
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 redirect negbal\"" | radclient -x 10.10.20.1 coa superpsw
{code}
Установка ограничения скорости (шейперы)
# h4. Удалить с абонента редирект
Пример для командной строки:{code}
xgesh session 10.10.20.100 redirect negbal cancel
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 redirect negbal cancel\"" | radclient -x 10.10.20.1 coa superpsw
{code}
policy set $ip in 10000 20000 30000 out 10000 20000 30000
# h4. Установить абоненту SNAT ip 1.2.3.4
Пример для командной строки:{code}
xgesh session 10.10.20.100 nat 1.2.3.4
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 nat 1.2.3.4\"" | radclient -x 10.10.20.1 coa superpsw
{code}
Снятие ограничения скорости (шейперы)
# h4. отключить абоненту SNAT
Пример для командной строки:{code}
xgesh session 10.10.20.100 nat cancel
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 nat cancel\"" | radclient -x 10.10.20.1 coa superpsw
{code}
policy remove $ip
# h4. Установить абоненту скорость (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>
Пример для командной строки:{code}
xgesh session 10.10.20.100 rate set in 1024 5000 100000 out 2048 5000 100000
{code}
Пример для radclient:{code}
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
{code}
Пример для командной строки:{code}
xgesh session 10.10.20.100 rate set in 1024 5000 out 2048 5000
{code}
h2. Редиректы
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 rate set in 1024 5000 out 2048 5000\"" | radclient -x 10.10.20.1 coa superpsw
{code}
установка редиректа для пользователя
Пример для командной строки:{code}
xgesh session 10.10.20.100 rate set in 1024 out 2048
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 rate set in 1024 out 2048\"" | radclient -x 10.10.20.1 coa superpsw
{code}
ip redirect add $ip
# h4. Удалить ограничение скорости
Пример для командной строки:{code}
xgesh session 10.10.20.100 rate remove
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 rate remove\"" | radclient -x 10.10.20.1 coa superpsw
{code}
удаление редиректа для пользователя
# h4. Отключить сессию(пересоздает IPOE и WEB сессию, отключает соединение по PPP)
Пример для командной строки:{code}
xgesh session 10.10.20.100 disconnect
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 disconnect\"" | radclient -x 10.10.20.1 coa superpsw
{code}
ip redirect del $ip
# h4. Удалить целиком абонентскую сесию
Пример для командной строки:{code}
xgesh session 10.10.20.100 remove
{code}
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 remove\"" | radclient -x 10.10.20.1 coa superpsw
{code}
h2. Получение информации
# h4. Получить MAC адрес абонента(возможно только поле его установки или после того, как сервер получил первые пакетв от абонента, ПОКА НЕ БЫЛО НИ ОДНОГО ПАКЕТА ОТ АБОНЕНТА XGE НЕ ЗНАЕТ ЕГО MAC адрес)
Пример для командной строки:{code}
xgesh session 10.10.20.100 mac get
{code}
получение данных о сессии (в мозгах xge router)
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 mac get\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# h4. Установить фиксированное соответствие MAC и IP адресов абонента
Пример для командной строки:{code}
xgesh session 10.10.20.100 mac set e2:a8:f3:b2:79:80
{code}
session info $ip
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 mac set e2:a8:f3:b2:79:80\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# h4. Очистить арп запись абонента и удалить мак привязку
Пример для командной строки:{code}
xgesh session 10.10.20.100 mac remove
{code}
получение данных о сессии (фактическое вычисление всех данных, может занимать длительное время), следует использовать только для диагностики.
Пример для radclient:{code}
echo "Filter-Id=\"session 10.10.20.100 mac remove\"" | radclient -x 10.10.20.1 coa superpsw
{code}
{code}
session test $ip
{code}список сессий:

{code}
session list
{code}