Интеграция с ASR4

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

настройки в биллинге

  1. Создать нас в биллинге
  2. Выбрать тип наса "Другой"
  3. Указать пароль для COA
  4. Указать IP адрес XGE
  5. Указать "Указать Имя скрипта событий" - xge_router.sh
  6. Скопировать скрипты событий
    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, нужно создать новые одноименные файлы и скопировать в них соответствующий текст скрипта, который опубликован в примечании данной статьи.

  7. Выполнить в командной строке 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
через консоль

  1. ввести команду menu
  2. для настроек VPN: Carbon XGE Router 5 -> Настройки VPN сервера... включить требуемые типы ваторизации и указать dns сервера, которые будут отдаваться абонентам
  1. Настройки Radius
  2. указать Radius-secret, Пароль COA-клиента,Порт COA-сервера, Общий пароль для IPoE авторизации - теже параметры, как указаны в биллинге.
  3. Сервер авторизации - IP-адрес биллинга c 1812 портом (прим.10.90.245.55:1812 )
  4. Сервер аккаунтинга - IP-адрес биллинга c 1813 портом (прим.10.90.245.55:1813 )
  5. IP адрес COA-клиента - IP-адрес биллинга
  6. IP адрес этого NAS-сервера - IP-адрес XGE, с которого будет происходить взаимодействие с биллингом(тот, что указан в биллинге, как адрес наса)
  1. Настройки сенсора netflow
  2. Сервер сбора статистики - 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
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.