Tips & Triks

не ломается у того, кто ничего не делает...

L2TPD VPN + Radius MS IAS

Еще одна статья из цикла VPN. На этот раз возьмет L2TP, у него есть ряд преимуществ, он нативно поддерживается в windows и не нужно ничего устанавливать в отличии от OpenVPN, а второе он работает по UDP, что дает ему преимущество перед PPTP.[почему?]
И опять решил я это сделать все в связки с MS IAS, ибо заморачиваться на отдельных паролях для каждого пользователя и каждого сервиса не совсем верно (хотя безопаснее), в случае с офисом всегда удобно иметь централизованное управление пользователями, т.е логин/пароль будет опять из MS AD.

Сразу скажу, что я отказался от OpenSwan для шифрования и проверки подлинности L2TP через ipsec, не было необходимости, используется только встроенный модуль mppe-128, поэтому для клиентов c windows xp, необходимо подправить реестр. В vista помоему вариант без ipsec уже поддерживается без лишний вмешательств в реестр.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters]
"ProhibitIpSec"=dword:00000001


Перезагрузиться и клиент готов. Логин будет естесственного вида user@windows.domain

На стороне сервера. Ubuntu server 8.04
Ставим если не установлено radiusclient-ng, xl2tp, pppd

Настройки radiusclient вполне стандартны, и если уже настроен был до этого pptpd через MS IAS, то вообще ничего трогать не придется.
Но на всякий случай
/etc/radiusclient/radiusclient.conf
 
auth_order      radius,local
login_tries     4
login_timeout   60
nologin /etc/nologin
issue   /etc/radiusclient-ng/issue
authserver      192.168.2.10 # MS IAS
acctserver      192.168.2.10 # MS IAS
servers         /etc/radiusclient-ng/servers
dictionary      /etc/radiusclient-ng/dictionary  # В этот файл не забыть подключить словать от microsoft
login_radius    /usr/sbin/login.radius
seqfile         /var/run/radius.seq
mapfile         /etc/radiusclient-ng/port-id-map
default_realm
radius_timeout  10
radius_retries  3
login_local     /bin/login

/etc/radiusclient/server
# Сервер где стоит MS IAS, и пароль для radius клиента.
192.168.2.10          radiuspass


Словарь радиус атрибутов от Микрософта. Без него pppd будет ругаться на то что ему передают неизвестные атрибуты radius.
/etc/radiusclient/dictionary.microsoft.
Даю только заголовок, ибо в интернете их полно. Вот например
#
#       Microsoft's VSA's, from RFC 2548
#
#       $Id: dictionary.microsoft,v 1.1 2002/03/06 13:23:09 dfs Exp $
#


Теперь настраиваем демона L2TP.

Конфиг очень простой и в оригинале очень хорошо прокомментирован.
/etc/xl2tp/xl2tpd.conf

[global]                                                      
  port = 1701                                                   
  access control = no                                 
  rand source = dev                     
[lns default]                                                  
  exclusive = no                                               
  ip range = 192.168.3.100-192.168.3.150        
  hidden bit = yes                                              
  local ip = 192.168.2.1                                
  length bit = yes                                             
  require chap = yes                                    
  refuse pap = yes                                              
  refuse chap = no                                             
  refuse authentication = no                    
  require authentication = no                  
  unix authentication = no                             
  name = gw.office.ru                                              
  ppp debug = yes                                               
  pppoptfile = /etc/ppp/l2tpd-options   
  flow bit = yes                                                
  hidden bit = yes        


А так же конфиг с настройками pppd

/etc/ppp/l2tpd-options
name l2tp
mtu 1410
mru 1410
lcp-echo-interval 3
lcp-echo-failure 8
require-mppe-128
logfile /var/log/pppd
nodeflate
nobsdcomp
nopcomp
noaccomp
noproxyarp
defaultroute
lock
auth
plugin radius.so
plugin radattr.so


Вот и все, в firewall не забыть порт 1701 открыть, протокол udp.
Запускаем и слушаем.
#netstat -nlp --udp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 0.0.0.0:1701            0.0.0.0:*                           5378/xl2tpd


Все работает? Пытаемся подключиться...

P.S
Замечено что после старта процесс xl2tpd грузит камень на 100%
Решение вот здесь
Если кратко то косяк в инит скрипте привел к тому что создался катало /var/run/xl2tpd/xl2tpd-control
а потом пытается создаться такой же файл. Удаляем этот каталог нахрен.. и все проходит....

MTU на VPNРедирект почты в Postfix

Write a comment

New comments have been disabled for this post.

June 2012
M T W T F S S
May 2012July 2012
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30