Книга: Документация NetAMS

Как настроить

Как настроить

Настройка PPPoE/PPP

Очень рекомендуем почитать теорию и примеры и настроить доступ безо всякого netams+radius, для начала.

Допустим что NeTAMS, FreeRADIUS, PPP, PPPoE крутятся на одной машине 192.168.0.1, внешний интерфейс fxp0.

### /etc/ppp/ppp.conf #####################################

default:

enable dns # request DNS info (for resolv.conf)

pppoe:

set log Phase Chat LCP IPCP CCP tun command

set radius /etc/ppp/radius.conf

set speed sync

set timeout 240

set ctsrts off

set accmap 000a0000

enable lqr

set cd 5

enable pap chap

set ifaddr HISADDR 192.168.0.253 # .253 is the server's end

#############################################################

### /etc/ppp/radius.conf ####################################

auth 192.168.0.1 secretkey 5 3

#############################################################

Запуск сервера PPPoE:

/usr/libexec/pppoed–p * -l pppoe fxp0

Настройка FreeRADIUS

Для начала надо собрать FreeRADIUS из портов или исходников. Пакет не подойдет, т.к. там отсутствуют необходимые заголовочные файлы для сборки нашего собственного модуля.

cd /usr/ports/net/freeradius/

make && make install

Переходим в дистрибутив NeTAMS и копируем наш модуль rlm_netams куда следует; потом собираем:

cd ~/netams/addon/

cp–rp rlm_netams /usr/ports/net/freeradius/work/freeradius–1.0.1/src/modules/

cd /usr/ports/net/freeradius/work/freeradius–1.0.1/src/modules/rlm_netams

gmake

gmake install

Правим конфигурацию FreeRADIUS, чтобы использовать локальный сервер доступа с правильными паролями:

### /usr/local/etc/raddb/clients.conf #######################

client 192.168.0.1 {

secret = secretkey

shortname = pppoe_server

}

#############################################################

И чтобы использовать наш rlm_netams:

### /usr/local/etc/raddb/radius.conf #######################

modules {

netams {

server = «192.168.0.1» # netams server IP

port = 20001 # netams server port

login = «freeradius» # netams access username

password = «ABCDEF» # netams access password

swap–inout = «yes» # swap IN and OUT counters for accounting

defaultpolicy = «RadAcc»# policy for rawdata

billing–login = «no» # check username from unit or billing

}

}

authorize {

netams

}

authenticate {

netams

}

accounting {

netams

}

#############################################################

Настройка NeTAMS

Очень желательно добавить специального пользователя, от имени которого будет идти подключение к NeTAMS:

### /usr/local/etc/netams.cfg ###############################

user oid 0832ED name freeradius password ABCDEF permit radius

#############################################################

Если вы хотите использовать авторизацию доступа к веб–страницам со статистикой через mod_auth_radius, измените:

### /usr/local/etc/netams.cfg ###############################

service html

htaccess radius

#############################################################

Настройка Apache (опционально)

Берем mod_auth_radius отсюда: http://www.freeradius.org/mod_auth_radius/

Компилируем, ставим:

apxs–i–a–c mod_auth_radius.c

Настраиваем апач:

<IfModule mod_auth_radius.c>

AddRadiusAuth 192.168.0.1:1812 secretkey 5:3

AddRadiusCookieValid 5

</IfModule>

<Location /stat>

AllowOverride All

</Location>

Запускаем все хозяйство. Допустим, в конфигурационном файле у нас присутствует юнит с именем client1 и паролем abc, у него установлен адрес 192.168.0.111, и есть политика фильтрации с именем filter1 и OID ABCFEF.

Можно проверить работоспособность NeTAMS через утилиту netamsctl:

~#netamsctl radius auth nas login client1 password abc nas–id TEST

1 2

Framed–IP–Address: 192.168.0.111

Filter–ID: ABCFEF filter1

Здесь в первой строке вывода число «1» означает «успешно», далее «2» говорит от том, что последуют две строки параметров.

Первая строка передает IP–адрес этого юнита, Вторая — OID и имя фильтра (может быть затем использовано вашим скриптом if–up). В случае неправильного пароля:

~#netamsctl radius auth nas login client1 password abcef nas–id TEST

0 password incorrect for client1

В обоих случаях информация о событии попадет в лог–файл и таблицу EVENTS базы SQL.

Узнать, как происходит работа RADIUS–сервера, что кому куда передается, можно запустив этот сервер с ключом–X:

/usr/local/sbin/radiusd–X

Оглавление книги


Генерация: 0.059. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз