Мой вариант установки системы traffpro.free на сервер Ubuntu Server 8.04.3 с VPN на основе сервера pptpd.
Для проверки пользователей pptpd демон соединяется к демону freeradius, в котором указаны парвила, что логины и пароли пользователей храняться в базе traffpro.
1. В начале был установлен собственно raffpro и дополнительные пакеты (apache2 и mysql)
2. Далее ставился сервер freeradius с доп. пакетами
sudo apt-get install freerdius freeradius-mysql libfreeradius2
Файл /etc/freeradius/radiusd.conf
расскоментирован $INCLUDE sql.conf
и
redundant redundant_sql
{
sql
}
Файл /etc/freeradius/sql.conf
sql {
database = \"mysql\"
driver = \"rlm_sql_${database}\"
server = \"адрес сервера mysql где находиться база traffpro\"
login = \"пользователь для доступа к базе traffpro\"
password = \"пароль этого пользователя\"
radius_db = \"traffpro\"
num_sql_socks = 5
connect_failure_retry_delay = 60
sql_user_name = \"%{User-Name}\"
authorize_check_query = \"SELECT clients.id, clients.login as UserName, \'User-Password\' AS \'Attribute\', clients_vpn.key AS \'Value\', \'==\' AS \'op\' FROM clients, clients_vpn WHERE clients.id=clients_vpn.id and clients.login = \'%{SQL-User-Name}\'\"
authorize_reply_query = \"SELECT clients.id as id, clients.login as UserName, \'Framed-IP-Address\' AS \'Attribute\', clients_addr.addr_ip as \'Value\', \'==\' as \'op\' FROM clients, clients_addr WHERE clients.id=clients_addr.id AND clients.login = \'%{SQL-User-Name}\'\"
Файл /etc/freeradius/clients.conf
client localhost {
ipaddr = 127.0.0.1
secret = testing123
require_message_authenticator = no
nastype = other # localhost isn\'t usually a NAS...
}
Файл /etc/freeradius/sites-enabled/default
authorize {
preprocess
mschap
suffix
eap {
ok = return
}
sql
expiration
logintime
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
}
preacct {
preprocess
acct_unique
suffix
files
}
accounting {
detail
unix
radutmp
sql
attr_filter.accounting_response
}
session {
radutmp
}
post-auth {
sql
exec
Post-Auth-Type REJECT {
attr_filter.access_reject
}
}
3. Стаиться пакет pptpd
sudo apt-get install pptpd
Файл /etc/pptpd.conf
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.100.1
remoteip 192.168.100.2-250
Файл /etc/ppp/pptpd-options
auth
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
plugin radius.so
plugin radattr.so
ms-dns 192.168.1.1
ms-dns 192.168.1.3
ms-wins 192.168.1.3
nodefaultroute
lock
nobsdcomp
4. Ставиться пакет radiusclient1
Файл остваляется в неизменном виде: /etc/radiusclient/radiusclient.conf
В файл /etc/radiusclient/dictonary
в конец добавляется:
INCLUDE /etc/radiusclient/dictionary.microsoft
Файл: /etc/radiusclient/servers
Добавляем в конец
localhost testing123
Cоздаем новый файл /etc/radiusclient/dictionary.microsoft с следующим содержанием:
VENDOR Microsoft 311 Microsoft
BEGIN VENDOR Microsoft
ATTRIBUTE MS-CHAP-Response 1 string Microsoft
ATTRIBUTE MS-CHAP-Error 2 string Microsoft
ATTRIBUTE MS-CHAP-CPW-1 3 string Microsoft
ATTRIBUTE MS-CHAP-CPW-2 4 string Microsoft
ATTRIBUTE MS-CHAP-LM-Enc-PW 5 string Microsoft
ATTRIBUTE MS-CHAP-NT-Enc-PW 6 string Microsoft
ATTRIBUTE MS-MPPE-Encryption-Policy 7 string Microsoft
# This is referred to as both singular and plural in the RFC.
# Plural seems to make more sense.
ATTRIBUTE MS-MPPE-Encryption-Type 8 string Microsoft
ATTRIBUTE MS-MPPE-Encryption-Types 8 string Microsoft
ATTRIBUTE MS-RAS-Vendor 9 integer Microsoft
ATTRIBUTE MS-CHAP-Domain 10 string Microsoft
ATTRIBUTE MS-CHAP-Challenge 11 string Microsoft
ATTRIBUTE MS-CHAP-MPPE-Keys 12 string Microsoft encrypt=1
ATTRIBUTE MS-BAP-Usage 13 integer Microsoft
ATTRIBUTE MS-Link-Utilization-Threshold 14 integer Microsoft
ATTRIBUTE MS-Link-Drop-Time-Limit 15 integer Microsoft
ATTRIBUTE MS-MPPE-Send-Key 16 string Microsoft
ATTRIBUTE MS-MPPE-Recv-Key 17 string Microsoft
ATTRIBUTE MS-RAS-Version 18 string Microsoft
ATTRIBUTE MS-Old-ARAP-Password 19 string Microsoft
ATTRIBUTE MS-New-ARAP-Password 20 string Microsoft
ATTRIBUTE MS-ARAP-PW-Change-Reason 21 integer Microsoft
ATTRIBUTE MS-Filter 22 string Microsoft
ATTRIBUTE MS-Acct-Auth-Type 23 integer Microsoft
ATTRIBUTE MS-Acct-EAP-Type 24 integer Microsoft
ATTRIBUTE MS-CHAP2-Response 25 string Microsoft
ATTRIBUTE MS-CHAP2-Success 26 string Microsoft
ATTRIBUTE MS-CHAP2-CPW 27 string Microsoft
ATTRIBUTE MS-Primary-DNS-Server 28 ipaddr
ATTRIBUTE MS-Secondary-DNS-Server 29 ipaddr
ATTRIBUTE MS-Primary-NBNS-Server 30 ipaddr
ATTRIBUTE MS-Secondary-NBNS-Server 31 ipaddr
#ATTRIBUTE MS-ARAP-Challenge 33 string Microsoft
#
# Integer Translations
#
# MS-BAP-Usage Values
VALUE MS-BAP-Usage Not-Allowed 0
VALUE MS-BAP-Usage Allowed 1
VALUE MS-BAP-Usage Required 2
# MS-ARAP-Password-Change-Reason Values
VALUE MS-ARAP-PW-Change-Reason Just-Change-Password 1
VALUE MS-ARAP-PW-Change-Reason Expired-Password 2
VALUE MS-ARAP-PW-Change-Reason Admin-Requires-Password-Change 3
VALUE MS-ARAP-PW-Change-Reason Password-Too-Short 4
# MS-Acct-Auth-Type Values
VALUE MS-Acct-Auth-Type PAP 1
VALUE MS-Acct-Auth-Type CHAP 2
VALUE MS-Acct-Auth-Type MS-CHAP-1 3
VALUE MS-Acct-Auth-Type MS-CHAP-2 4
VALUE MS-Acct-Auth-Type EAP 5
# MS-Acct-EAP-Type Values
VALUE MS-Acct-EAP-Type MD5 4
VALUE MS-Acct-EAP-Type OTP 5
VALUE MS-Acct-EAP-Type Generic-Token-Card 6
VALUE MS-Acct-EAP-Type TLS 13
END-VENDOR Microsoft
Собственно все!
Не забываем перегрузить компьютер или только соответствующие сервисы!
В этой связке на работает вариант DHCP в настройка клиента!!!
Т. е. клиенту необходимо задавать адрес IP вручную.
Зато клиенты подключаются к серверу с аутентификацией MSCHAPv2 и включенным шифрванием.
P.S.
1. Пока не разобрался, как прикрутить DHCP
2. Вроде ничего не забыл указать...
3. Готов услышат критику и Ваше личное мнение!!!