Синтаксис команд

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

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

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

h2. Доступ к сети, NAT
h2. Описание всех команд
h3. Глобальные команды
# Разрешить всем абонентам доступ в интернет без проверки состояния сбонента
Пример для командной строки:
{code}
xgesh global access allow
{code}

h4. Доступ
Пример для radclient:
{code}
echo "Filter-Id=\"global access allow\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Проверить наличие правила, разрешающего доступ в интернет без проверки
Пример для командной строки:
{code}
xgesh global access allow check
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh global access allow check\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Удалить правила, разрешающего доступ в интернет без проверки
Пример для командной строки:
{code}
xgesh global access allow cancel
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh global access allow cancel\"" | radclient -x 10.10.20.1 coa superpsw
{code}
h3. Команды управления сессиями абонентов
# Получить список ip адресов всех абогнентов на XGE
Пример для командной строки:
{code}
xgesh session list
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session list\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Получить список всех сессий в формате: ip username snat rate lists mac class_id state type terminate_cause
Пример для командной строки:
{code}
xgesh session dump
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session dump\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Получить информацию о сессии с адресом 10.10.20.100
Пример для командной строки:
{code}
xgesh session 10.10.20.100 info
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 info\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Запустить диагностику абонента(может выполняться до нескольких минут)
Пример для командной строки:
{code}
xgesh session 10.10.20.100 test
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 test\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Создать новую сессию с типом IPOE (поддерживаемые типы: IPoE, PPP, WEB)
Пример для командной строки:
{code}
xgesh session 10.10.20.100 start IPOE
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 start IPOE\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Остановить сессию абонента (удаляет у сессии скорость и удаляет сессию из всех ACL)
Пример для командной строки:
{code}
xgesh session 10.10.20.100 stop Coa-Disconnect
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 stop Coa-Disconnect\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Установить на абонента редирект 80 трафика на информационную страницу указанного типа(negbal - отрицительный баланс, blocked - добровольная блокировка или блокировка администратором)
Пример для командной строки:
{code}
xgesh session 10.10.20.100 redirect negbal
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 redirect negbal\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Удалить с абонента редирект
Пример для командной строки:
{code}
xgesh session 10.10.20.100 redirect negbal cancel
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 redirect negbal cancel\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Установить абоненту SNAT ip 1.2.3.4
Пример для командной строки:
{code}
xgesh session 10.10.20.100 nat 1.2.3.4
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 nat 1.2.3.4\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# отключить абоненту SNAT
Пример для командной строки:
{code}
xgesh session 10.10.20.100 nat cancel
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 nat cancel\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Установить абоненту скорость (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}
"Filter-Id=\"xgesh 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 1024 5000 out 2048 5000
{code}
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 rate set 1024 5000 out 2048 5000\"" | radclient -x 10.10.20.1 coa superpsw
{code}

Пример для командной строки:
{code}
ip forward_allow add $ip
xgesh session 10.10.20.100 rate set 1024 out 2048
{code}
Запретить пользователю доступ к сети
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 rate set 1024 out 2048\"" | radclient -x 10.10.20.1 coa superpsw
{code}
ip forward_allow del $ip
# Удалить ограничение скорости
Пример для командной строки:
{code}
xgesh session 10.10.20.100 rate remove
{code}
h4. NAT
Пример для radclient:
{code}
Включить NAT пользователя
"Filter-Id=\"xgesh session 10.10.20.100 rate remove\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Отключить сессию(пересоздает IPOE и WEB сессию, отключает соединение по PPP)
Пример для командной строки:
{code}
ip snat add $ip $snat_ip
xgesh session 10.10.20.100 disconnect
{code}
Пример для radclient:
{code}
Отключить NAT пользователю
"Filter-Id=\"xgesh session 10.10.20.100 disconnect\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Удалить целиком абонентскую сесию
Пример для командной строки:
{code}
ip snat del $ip
xgesh session 10.10.20.100 rate remove
{code}
Пример для radclient:
{code}
h4. MAC привязки
"Filter-Id=\"xgesh session 10.10.20.100 rate remove\"" | radclient -x 10.10.20.1 coa superpsw
{code}
установка mac привязки
# Получить MAC адрес абонента(возможно только поле его установки или после того, как сервер получил первые пакетв от абонента, ПОКА НЕ БЫЛО НИ ОДНОГО ПАКЕТА ОЛТ АБОНЕНТА XGE НЕ ЗНАЕТ ЕГО MAC адрес)
Пример для командной строки:
{code}
xgesh session 10.10.20.100 mac get
{code}
mac set $ip $mac
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 mac get\"" | radclient -x 10.10.20.1 coa superpsw
{code}
снятие mac привязки
# Установить фиксированное соответствие MAC и IP адресов абонента
Пример для командной строки:
{code}
xgesh session 10.10.20.100 mac set e2:a8:f3:b2:79:80
{code}
mac remove $ip
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 mac set e2:a8:f3:b2:79:80\"" | radclient -x 10.10.20.1 coa superpsw
{code}
# Очистить арп запись абонента и удалить мак привязку
Пример для командной строки:
{code}
h2. Шейперы
xgesh session 10.10.20.100 mac remove
{code}
Установка ограничения скорости (шейперы)
Пример для radclient:
{code}
"Filter-Id=\"xgesh session 10.10.20.100 mac remove\"" | radclient -x 10.10.20.1 coa superpsw
{code}
policy set $ip in 10000 20000 30000 out 10000 20000 30000
{code}

Снятие ограничения скорости (шейперы)

{code}
policy remove $ip
{code}


h2. Редиректы

установка редиректа для пользователя

{code}
ip redirect add $ip
{code}

удаление редиректа для пользователя

{code}
ip redirect del $ip
{code}

h2. Получение информации

получение данных о сессии (в мозгах xge router)

{code}
session info $ip
{code}

получение данных о сессии (фактическое вычисление всех данных, может занимать длительное время), следует использовать только для диагностики.

{code}
session test $ip
{code}список сессий:

{code}
session list
{code}