Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим |
просмотр истории страницы
настройки в биллинге
- Создать нас в биллинге
- Выбрать тип наса "Другой"
- Указать пароль для COA
- Указать IP адрес XGE
- Указать "Указать Имя скрипта событий" - xge_router.sh
- Скопировать скрипты событий
cp /var/lib/event/examples/xge_router.sh /var/lib/event/xge_router.sh cp /var/lib/event/examples/event_inc.sh /var/lib/event/event_inc.sh
При отсутствии скриптов в каталоге /var/lib/event/examples, нужно создать новые одноименные файлы и скопировать в них соответствующий текст скрипта, который опубликован в примечании данной статьи.
- Выполнить в командной строке ASR два запроса
nas_id=1 #id наса посмотреть в менеджере sqlexec "insert into nas_radius_params (NAS_ID,ATTRIBUTE,THEVALUE,OP) values ($nas_id, 'Filter-Id', 'session Framed-IP-Address rate set in \$rate_in \$ceil_in \$burst_in out \$rate_out \$ceil_out \$burst_out', ':=')" sqlexec "insert into nas_radius_params (NAS_ID,ATTRIBUTE,THEVALUE,OP) values ($nas_id, 'Filter-Id', 'session Framed-IP-Address nat $nat', ':=')"
Настройки в XGE1
через консоль
- ввести команду menu
- для настроек VPN: Carbon XGE Router 5 -> Настройки VPN сервера... включить требуемые типы ваторизации и указать dns сервера, которые будут отдаваться абонентам
- Настройки Radius
- указать Radius-secret, Пароль COA-клиента,Порт COA-сервера, Общий пароль для IPoE авторизации - теже параметры, как указаны в биллинге.
- Сервер авторизации - IP-адрес биллинга c 1812 портом (прим.10.90.245.55:1812 )
- Сервер аккаунтинга - IP-адрес биллинга c 1813 портом (прим.10.90.245.55:1813 )
- IP адрес COA-клиента - IP-адрес биллинга
- IP адрес этого NAS-сервера - IP-адрес XGE, с которого будет происходить взаимодействие с биллингом(тот, что указан в биллинге, как адрес наса)
- Настройки сенсора netflow
- Сервер сбора статистики - IP-адрес биллинга c 9996 портом (прим.10.90.245.55:9996 )
После указанных настроек XGE должен заработать.
Примечание
xge_router.sh:
LOG_LEVEL=ALL SENDER=$1; shift EVENT=$1; shift DATA=$@ for VAR in $DATA; do [[ "$VAR" = *"="* ]] && eval ${VAR%%=*}=\'${VAR#*=}\' done LOG INFO "$SENDER $EVENT $DATA" user_refresh(){ accept=1 [ "$logged" = "-1" ] && accept=0 [ "$enabled" = "0" ] && accept=0 [ "$deleted" = "1" ] && accept=0 [ "$own_disabled_end" != -1 ] && accept=0 redirect=0 [ "$over_limit" = "1" ] && redirect=1 [ "$accept" = "1" ] && user_accept [ "$redirect" = "0" ] && user_redirect_cancel [ "$redirect" = "1" ] && user_redirect [ "$accept" = "0" ] && user_drop } user_data_changed(){ if [ -f /var/lib/event/before/$id.before ]; then changed=0 for VAR in $(</var/lib/event/before/$id.before); do [[ "$VAR" = *"="* ]] && eval ${VAR%%=*}=\'${VAR#*=}\' done for val in ip mac server enabled deleted auth_type nas_ip router_ip router_vlan router_port opt82 limit_ip acl; do old_val="old_$val" [ "${!val}" != "${!old_val}" ] && changed=1; done else changed=1 fi if [ "$changed" = "1" ]; then ( DATA_BEFORE=$(</var/lib/event/before/$id.before) DATA_BEFORE="${DATA_BEFORE// old_/ }" DATA=$DATA_BEFORE for VAR in $DATA_BEFORE; do [[ "$VAR" = *"="* ]] && eval ${VAR%%=*}=\'${VAR#*=}\' done user_del ) user_del user_add user_refresh user_rate_set fi } if [ -f /var/lib/event/$script_name ]; then source /var/lib/event/$script_name if [ "$EVENT" = "rate_set" ]; then user_rate_set elif [ "$EVENT" = "user_disconnect" ]; then user_disconnect elif [ "$EVENT" = "user_add" ]; then user_add user_refresh elif [ "$EVENT" = "user_del" ]; then user_del elif [ "$EVENT" = "user_data_changed_before" ]; then echo "${DATA// / old_}" >/var/lib/event/before/$id.before elif [ "$EVENT" = "user_data_changed" ]; then user_data_changed else user_refresh fi else echo "NO SCRIPT FOUND!!!" fi