Настройка сервера :Part 4: NAS(mpd5) + freeradius + ng_car + Abills – раздаём инет
Автор: SHARK в FreeBSD 8 | Блог Связиста | Вторник 6 июля 2010В предыдущий раз настраивали mpd5 . Сегодня установим настроим AAA -сервер freeradius :
Пробовал freeradius2, но с ним у меня что-то не срослось. Интерфейс поднимался и через несколько секунд падал. Я не победил, по-этому переполз на 1-й.
# whereis freeradius
# cd /usr/ports/net/freeradius
# make install clean
+--------------------------------------------------------------------+
| Options for freeradius 1.1.7_4 |
| +----------------------------------------------------------------+ |
| |[ ] KERBEROS With Kerberos support | |
| |[ ] HEIMDAL With Heimdal Kerberos support | |
| |[ ] LDAP With LDAP database support | |
| |[X] MYSQL With MySQL database support | |
| |[ ] PGSQL With PostgreSQL database support | |
| |[ ] UNIXODBC With unixODBC database support | |
| |[ ] FIREBIRD With Firebird database support (EXPERIMENTAL) | |
| |[ ] SNMP With SNMP support | |
| |[ ] EDIR With Novell eDirectory support | |
| |[ ] NOPERL Do not require perl (use only if necessary) | |
| |[X] EXPERIMENTAL Build experimental modules | |
| +----------------------------------------------------------------+
Выбираем поддержку MySql и Experimental .
После успешной установки правим конфиги радиуса:
# cd /usr/local/etc/raddb
файл users
DEFAULT Auth-Type = Accept
Exec-Program-Wait = "/usr/local/abills/libexec/rauth.pl"
файл acct_users
DEFAULT Acct-Status-Type == Start
Exec-Program = "/usr/local/abills/libexec/racct.pl"
DEFAULT Acct-Status-Type == Alive
Exec-Program = "/usr/local/abills/libexec/racct.pl"
DEFAULT Acct-Status-Type == Stop
Exec-Program = "/usr/local/abills/libexec/racct.pl"
в файл clients.conf прописываем пароль для доступа к радиус-серверу, тот что мы указывали в mpd.conf
client 127.0.0.1 {
secret = PASSWD
}
В файле radiusd.conf
Нужно создать функции для преавторизации и поставторизации в секции ‘modules’
exec pre_auth {
wait = yes
program = "/usr/local/abills/libexec/rauth.pl pre_auth"
input_pairs = request
output_pairs = config
}
exec post_auth {
wait = yes
program = "/usr/local/abills/libexec/rauth.pl post_auth"
input_pairs = request
output_pairs = config
}
Комментируем использование модулей ‘chap’ и добавим ‘pre_auth’ в разделе ‘authorize’
authorize {
preprocess
# chap
# counter
# attr_filter
# eap
# suffix
files
# etc_smbpasswd
# sql
mschap
pre_auth
}
Для оповещения о неавторизированых пользователях. Внесите в секцию ‘post-auth’
post-auth {
Post-Auth-Type REJECT {
post_auth
}
}
Создаем словарь для мпд dictionary.mpd:
VENDOR mpd 12341
ATTRIBUTE mpd-rule 1 string mpd
ATTRIBUTE mpd-pipe 2 string mpd
ATTRIBUTE mpd-queue 3 string mpd
ATTRIBUTE mpd-table 4 string mpd
ATTRIBUTE mpd-table-static 5 string mpd
ATTRIBUTE mpd-filter 6 string mpd
ATTRIBUTE mpd-limit 7 string mpd
ATTRIBUTE mpd-input-octets 8 string mpd
ATTRIBUTE mpd-input-packets 9 string mpd
ATTRIBUTE mpd-output-octets 10 string mpd
ATTRIBUTE mpd-output-packets 11 string mpd
ATTRIBUTE mpd-link 12 string mpd
ATTRIBUTE mpd-bundle 13 string mpd
ATTRIBUTE mpd-iface 14 string mpd
ATTRIBUTE mpd-iface-index 15 integer mpd
ATTRIBUTE mpd-input-acct 16 string mpd
ATTRIBUTE mpd-output-acct 17 string mpd
ATTRIBUTE mpd-drop-user 154 integer mpd
в файле dictionary добавляем строку:
$INCLUDE dictionary.mpd
В следующей статье будем устанавливать и настраивать модули Perl и настраивать Apache….