Имя: Пароль:
IT
 
PPTPD + Radius(NPS) Win2008R2
0 Stik
 
05.04.12
09:34
Имеется сервер Win2008R2 Ent Sp1 с ролью "Службы политики сети и доступа" и настроенным radius-сервером. Есть машинка с linux: CentOS release 5.6. На машинке установлены пакеты: ppp, pptpd, radiusclient-ng, radiusclient-ng-utils. Задача: авторизовать пользователей подключающихся по vpn(pptpd) используя доменные логины.
Конфиги:
pptpd.conf:
ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
logwtmp
localip 10.2.32.3
remoteip 10.2.32.100-240
connections 50

options.pptpd:
debug
logfile /var/log/ppp/pptpd.log
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 10.2.32.1
proxyarp
nodefaultroute
lock
nobsdcomp
plugin radius.so
#nologfd

radiusclient.conf:
auth_order radius
login_tries 4
login_timeout 60
nologin /etc/nologin
issue /etc/radiusclient/issue
authserver 10.2.32.5
acctserver 10.2.32.5
servers /etc/radiusclient/servers
dictionary /usr/share/radiusclient/dictionary
login_radius /usr/sbin/login.radius
seqfile /var/run/radius.seq
mapfile /etc/radiusclient/port-id-map
default_realm
radius_timeout 10
radius_retries 3
login_local /bin/login

При коннекте с клиента, в логах радиус-сервера Win2008:
Сервер сетевых политик предоставил пользователю полный доступ, поскольку узел удовлетворяет определенной политике работоспособности.

В логах ppp:
Plugin radius.so loaded.
RADIUS plugin initialized.
Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pptpd-logwtmp: $Version$
using channel 136
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x89783ed3> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <mru 1400> <magic 0xa654208> <pcomp> <accomp> <callback CBCP>]
sent [LCP ConfRej id=0x0 <callback CBCP>]
rcvd [LCP ConfReq id=0x1 <mru 1400> <magic 0xa654208> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <mru 1400> <magic 0xa654208> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x89783ed3> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x89783ed3> <pcomp> <accomp>]
sent [CHAP Challenge id=0xbe <5d40bc0f74e515fdb8bc28ba3de51bab>, name = "pptpd"]
rcvd [LCP Ident id=0x2 magic=0xa654208 "MSRASV5.20"]
rcvd [LCP Ident id=0x3 magic=0xa654208 "MSRAS-0-TEST-WIN7"]
rcvd [LCP Ident id=0x4 magic=0xa654208 "\37777777637\37777777727!\177\006\37777777763oJ\3777777766
rcvd [CHAP Response id=0xbe <25592c045a92bacb0dde75834245312b0000000000000000afba5db8e14aa8a40d45b
sent [CHAP Success id=0xbe "S=185E6B33EFF9E385CDCCE320FE5F3D34CD54861C"]
MPPE required, but keys are not available. Possible plugin problem?
sent [LCP TermReq id=0x2 "MPPE required but not available"]
rcvd [CCP ConfReq id=0x5 <mppe +H -M +S -L -D -C>]
Discarded non-LCP packet when LCP not open
rcvd [IPCP ConfReq id=0x6 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms
Discarded non-LCP packet when LCP not open
rcvd [LCP TermAck id=0x2 "MPPE required but not available"]
Connection terminated.
Connect time 0.1 minutes.
Sent 0 bytes, received 0 bytes.

Без радиус-плагина локальный пользователь коннектится без проблем.
Модуль ppp_mppe в ядре присутствует:
# modinfo ppp_mppe
filename: /lib/modules/2.6.18-238.el5/kernel/drivers/net/ppp_mppe.ko
version: 1.0.2
alias: ppp-compress-18
license: Dual BSD/GPL
description: Point-to-Point Protocol Microsoft Point-to-Point Encryption support
author: Frank Cusack <fcusack@fcusack.com>
srcversion: EB9B597D659885234ECE660
depends: ppp_generic
vermagic: 2.6.18-238.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
module_sig: 883f3504d2f764f5cdf858361aafbf112ad9609f747dc636cf3fe7a3f56693806d891a95a23b5609e35bbb10c72a77c362dce4937fa0f1c7e24cf23

Помогите разобраться с проблемой, очень нужно. Спаибо
1 ansh15
 
05.04.12
11:12
http://www.linux.org.ru/forum/admin/6814586
Вроде ваш случай, или аналогичный, может поможет...
2 Stik
 
05.04.12
11:51
(1) Да, случай похож, но решения у него там нет. Дело в том, что у него работало без шифрования(#require-mppe-128). У меня без шифрования тож работает, но это совсем не правильно.
Проблема именно с шифрованием данных, если его отключить, то всё работает. Причем если подключаться не используя радиус-плагин, то и шифрование работает. Что с этим плагином не так, не понимаю. Есть у кого то ещё предположения???
3 ansh15
 
05.04.12
12:53
http://diesel.elcat.kg/index.php?showtopic=2032167
Там про RADIUS-словари Microsoft, может в них дело.
4 Stik
 
05.04.12
13:15
(3) Словари у меня подключены. Думаю, что дело не в них. Вот почему он ругается на радиус-плагин:
MPPE required, but keys are not available.  Possible plugin problem?
rcvd [LCP TermAck id=0x2 "MPPE required but not available"]
Думаю, что отталкиваться нужно от этого. Вот только что именно делать не знаю. Инет не помогает, голова тоже:(
5 Stik
 
05.04.12
14:38
Проблема решена!

Рассказываю решение данной проблемы, дабы сохранить кучу времени для того кто ещё с ней столкнётся.
В инете я всё таки нашёл следующее:
Если в логах
  pppd[27229]: MPPE required, but keys are not available.  Possible plugin problem?
Решение:
В свойствах "remote access policy", щелкаем "edit profile", на вкладе "encryption"
убираем галку No Encryption, Apply, ok. И не верьте никому, что это влияет только на MS RRAS.
Причина:
Без этой настройки IAS начинает отдавать вот такие радиус-атрибуты:
  MS-MPPE-Encryption-Policy
  MS-MPPE-Encryption-Types
а с ним, включенным по-умолчанию, не отдает.

Но это справедливо для IAS, если вы используете Win2008, то у вас NPS. Для NPS необходимо для [b]всех[/b] ваших сетевых политик(NPS - Политики - Сетевые политики) во ввкладке "Параметры", Шифрование, снять галочку "Без шифрования", которая поставлена по-умолчанию.

Я к сожалению изначально снял эту галочку у двух политик из трёх, поэтому прот...хал себе мозх.

Ещё есть небольшие грабли. Вы не сможете подключиться пока для уч. записи пользователя не настроите "Права доступа к сети":
Свойства уч. записи пользователя - Входящие звонки - Права доступа к сети - Разрешить доступ. по-умолчанию стоит "Управление доступом на основе политики сети NPS".