From: MaximRo <maxim.romanchuk@gmail.com.>
Newsgroups: email
Date: Mon, 30 Aug 2008 18:21:07 +0000 (UTC)
Subject: Аутентификация пользователей mpd5 через Internet Authentication Service
Надоело держать имена пользователей и их пароли в mpd.secret, в связи
решил сделать аутентификацию с помощью RADIUS и виндового сервера его -
Internet Authentication Service. Ну и по дороге обновить mpd3 до mpd5.
Часть первая. mpd5.
Снёс mpd3 и ставлю mpd5:
[root@gate ~]# cd /usr/ports/net/mpd5
[root@gate ~]# make install clean
Настраиваем:
[root@gate ~]# cd /usr/local/etc/mpd5
[root@gate ~]# touch mpd.conf
[root@gate ~]# ee mpd.conf
После чтения mpd.conf.sample получился такой вот конфиг. Создаются 4
бандла - с 192.168.5.171 по 192.168.5.175 - мне больше не надо, 192.168.5.1
- адрес гейта и впн-сервера, 192.168.5.2, 192.168.5.3 - dns1, dns2 и
wins1, wins2 соответственно, 1.2.3.4 - публичный IP-адрес,
domainad01.domain.local - dns-имя RADIUS-сервера, 1234 - shared secret:
default:
load pptp_server
pptp_server:
# Define dynamic IP address pool.
set ippool add pool1 192.168.5.171 192.168.5.175
# Create clonable bundle template named B
create bundle template B
set iface enable proxy-arp
set iface idle 1800
set iface enable tcpmssfix
set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
set ipcp ranges 192.168.5.1/32 ippool pool1
set ipcp dns 192.168.5.2 192.168.5.3
set ipcp nbns 192.168.5.2 192.168.5.3
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
# Create clonable link template named L
create link template L pptp
# Set bundle template to use
set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU.
set link enable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap
# We can use use RADIUS authentication/accounting by including
# another config section with label 'radius'.
load radius
set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation.
set link mtu 1460
# Configure PPTP
set pptp self 1.2.3.4
# Allow to accept calls
set link enable incoming
radius:
# RADIUS specify the server directly here
set radius server domainad01.domain.local 1234
set radius retries 3
set radius timeout 3
# send the given IP in the RAD_NAS_IP_ADDRESS attribute to the server.
set radius me 192.168.5.1
# send accounting updates every 5 minutes
set auth acct-update 300
# enable RADIUS, and fallback to mpd.secret, if RADIUS auth failed
set auth enable radius-auth
# enable RADIUS accounting
set auth enable radius-acct
# protect our requests with the message-authenticator
set radius enable message-authentic
Добавляем в rc.conf для автозапуска:
echo 'mpd_enable="YES"' >> /etc/rc.conf
Часть вторая. Internet Authentication Service
Идём в Start -> Control Panel -> Add or Remove Programs -> Add/Remove
Windows Components -> Networking Services, ставим галочку у Internet
Authentication Service и устанавливаем.
После установки идём в Administrative Tools -> Internet Authentication
Service. Там на жмём правой кнопкой на разделе RADIUS Clients и выбираем
New RADIUS Client. В окнах забиваем необходимые данные.
Далее идём в раздел Remote Access Policies, выделяем политику
Connections to other access servers, тыкаем на ней правой кнопкой и
выбираем Move Up; снова правой кнопкой, выбираем Properties и ставим
радиобаттон Grant remote access permission.
Следующее нужное - в свойствах пользователей, которым необходим vpn,
разрешить к нему подключаться. Идём в Administrative Tools -> Active
Directory Users & Computers -> выбираем нужного пользователя и в его
свойствах на вкладке Dial-in в разделе Remote Access Permission (Dian-in
or VPN) ставим Allow access.
Всё.
Теперь, чтобы приконнектиться к нашему VPNу, создаём VPN-подключение с
настройками по умолчанию, вбиваем в имя пользователя user@domain.local и
пароль и радуемся :)