Добрый день. Есть проблема - надо создать подключение по pptp.
Исходные данные:
сервер, заведённый в AD, видит пользователей по wbinfo -u, видит группы по wbinfo -g.
Если авторизовать пользователя по паролю (/etc/chap-secrets), то всё работает - шифрация и mschap-v2. Если же пробовать доменную авторизацию - то фигу.
на нём pptpd:
/etc/pptpd.conf
option /etc/ppp/options.pptp
logwtmp
#lock
#
##speed 115200
debug
##bcrelay eth1
localip 10.10.18.1
remoteip 10.10.18.2-250/etc/ppp/options.pptp
plugin winbind.so
name pptpd
### Authentication ###
logfile /var/log/pptpd.logrefuse-pap
refuse-mschap
refuse-chap
#nomppe-40
require-mschap-v2
require-mppe-128
### Network Settings
#nodefaultroute
ms-dns 192.168.0.253
#ms-dns 192.168.1.17
#proxyarp
debug
dump
lock
nobsdcomp
ntlm_auth-helper "/usr/bin/ntlm_auth –helper-protocol=ntlm-server-1"
При использовании:/usr/bin/ntlm_auth –helper-protocol=ntlm-server-1 --username=anton
password:
NT_STATUS_OK: Success (0x0)А вот работать не хочет по pptp. Подключение идёт с windows xp со всеми обновлениями.
В логах:
Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pptpd-logwtmp: $Version$
pppd options in effect:
debug # (from /etc/ppp/options.pptp)
logfile /var/log/pptpd.log # (from /etc/ppp/options.pptp)
dump # (from /etc/ppp/options.pptp)
plugin winbind.so # (from command line)
plugin /usr/lib/pptpd/pptpd-logwtmp.so # (from command line)
require-mschap-v2 # (from /etc/ppp/options.pptp)
refuse-pap # (from /etc/ppp/options.pptp)
refuse-chap # (from /etc/ppp/options.pptp)
refuse-mschap # (from /etc/ppp/options.pptp)
name pptpd # (from /etc/ppp/options.pptp)
pptpd-original-ip 192.168.0.45 # (from command line)
ntlm_auth-helper xxx # [don't know how to print value] # (from /etc/ppp/options.pptp)
115200 # (from command line)
lock # (from /etc/ppp/options.pptp)
crtscts # (from /etc/ppp/options)
local # (from command line)
asyncmap 0 # (from /etc/ppp/options)
lcp-echo-failure 4 # (from /etc/ppp/options)
lcp-echo-interval 30 # (from /etc/ppp/options)
ipparam 192.168.0.45 # (from command line)
ms-dns xxx # [don't know how to print value] # (from /etc/ppp/options.pptp)
proxyarp # (from /etc/ppp/options)
10.10.18.1:10.10.18.2 # (from command line)
nobsdcomp # (from /etc/ppp/options.pptp)
noipx # (from /etc/ppp/options)
using channel 16
Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x487491d8> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <mru 1400> <magic 0x45673388> <pcomp> <accomp> <callback CBCP>]
sent [LCP ConfRej id=0x0 <callback CBCP>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x487491d8> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <mru 1400> <magic 0x45673388> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <mru 1400> <magic 0x45673388> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x487491d8]
sent [CHAP Challenge id=0xa0 <3367a57b915886509e7cfbe1e7b71055>, name = "pptpd"]
rcvd [LCP Ident id=0x2 magic=0x45673388 "MSRASV5.10"]
rcvd [LCP Ident id=0x3 magic=0x45673388 "MSRAS-0-WAX-XP"]
rcvd [LCP EchoRep id=0x0 magic=0x45673388]
rcvd [CHAP Response id=0xa0 <b6cd3f5ca19c93357fd2118d17ec207d00000000000000007d5f39cb56a926980ee3c709f27fa89774566d8d6af581b800>, name = "anton"]
Peer a_samets failed CHAP authentication
sent [CHAP Failure id=0xa0 "E=691 R=1 C=3367a57b915886509e7cfbe1e7b71055 V=0 M=Access denied"]
sent [LCP TermReq id=0x2 "Authentication failed"]
rcvd [LCP TermAck id=0x2 "Authentication failed"]
Connection terminated.Если смотреть по гуглу - то у всех всё получается. Если пробовать авторизироваться как DOMAINNAME\anton - ошибка та же самая.
Самое интересное - если перестать требовать mschap-v2 - то пускает и подключает с любым логином и паролем вообще.В логах winbind ничего интересного.
Из такого ещё - при прописывании в /etc/nsswitch.conf
passwd: files winbind
group: files winbindПо getent passwd показывает только локальных пользователей.
Если пробовать делать su - anton:su - anton
No directory, logging in with HOME=/
anton@vm:/$
Имел ли кто-нибудь дело с этим?
Два дня на это убил...
Делал и по этой доке и по многим другим.
http://www.lanuser.ru/23.02.2010/vpn-pptp-server-with-ntlm-a...
>[оверквотинг удален]
> По getent passwd показывает только локальных пользователей.
> Если пробовать делать su - anton:
>su - anton
> No directory, logging in with HOME=/
> anton@vm:/$
>
> Имел ли кто-нибудь дело с этим?
> Два дня на это убил...
> Делал и по этой доке и по многим другим.
> http://www.lanuser.ru/23.02.2010/vpn-pptp-server-with-ntlm-a...если бы вы внимательно читали статью по указанному адресу, вас бы это:
> Все это будем делать на Debian 5.0.4и это:
> # echo «net-dialup/ppp eap-tls» >> /etc/portage/package.use
> # emerge ppp pptpdв совокупности должно было насторожить
а вообще, если не ошибаюсь, имя пользователя должно быть в виде домен\логин
Не суть важно, по какой доке - я изрыл весь интернет и там всё одинаковое.
Дебиан 6-й, убунту 10.04 - одинаково. Если я вам сейчас покажу лог, что запрещена авторизация от DOMAINNAME\\anton - вам же легче не станет? Я пробовал и эти варианты, конечно же..
в строке
> plugin winbind.soполный путь указывать пробовали?
при загрузке на нее не ругается?
> в строке
>> plugin winbind.so
> полный путь указывать пробовали?
> при загрузке на нее не ругается?пробовал указывать, в логах указано, что плагин грузится нормально.
WINBIND plugin initialized.
plugin winbind.so # (from command line)
ntlm_auth-helper xxx # [don't know how to print value] # (from /etc/ppp/options.pptp)
Начнем с того, что:!!!
для того, чтобы работала авторизация (PPTP) через домен win, нужно настроить sambу с опциейwinbind separator = +в smb.conf, также должен быть настроен Kerberos (/etc/krb5.conf), и конечно измените строку в (/etc/ppp/options.pptpd) наntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of="DOMAIN+access_group"где DOMAIN - имя вашего домена, access_group - группа в Active Directory пользователи которой будут проходить авторизацию! (это при условии, что сервер введен в домен), ну и плюс ко всему, не забывайте проiptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 139 --syn -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 445 --syn -j ACCEPT
>[оверквотинг удален]
> настроен Kerberos (/etc/krb5.conf), и конечно измените строку в (/etc/ppp/options.pptpd)
> на
>ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of="DOMAIN+access_group"
> где DOMAIN - имя вашего домена, access_group - группа в Active
> Directory пользователи которой будут проходить авторизацию! (это при условии, что сервер
> введен в домен), ну и плюс ко всему, не забывайте про
>iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
> iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
> iptables -A INPUT -p tcp -m tcp --dport 139 --syn -j ACCEPT
> iptables -A INPUT -p tcp -m tcp --dport 445 --syn -j ACCEPT
workgroup = IV
realm = IV
security = ads
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%D/%U
winbind use default domain = yes
winbind separator = +
ntlm_auth-helper "/usr/bin/ntlm_auth –helper-protocol=ntlm-server-1 --require-membership-of=IV+VPN-users"
Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pptpd-logwtmp: $Version$
pppd options in effect:
debug # (from /etc/ppp/options.pptp)
logfile /var/log/pptpd.log # (from /etc/ppp/options.pptp)
dump # (from /etc/ppp/options.pptp)
plugin winbind.so # (from command line)
plugin /usr/lib/pptpd/pptpd-logwtmp.so # (from command line)
auth # (from /etc/ppp/options)
name pptpd # (from /etc/ppp/options.pptp)
pptpd-original-ip 192.168.0.45 # (from command line)
ntlm_auth-helper xxx # [don't know how to print value] # (from /etc/ppp/options.pptp)
115200 # (from command line)
lock # (from /etc/ppp/options.pptp)
crtscts # (from /etc/ppp/options)
local # (from command line)
asyncmap 0 # (from /etc/ppp/options)
lcp-echo-failure 4 # (from /etc/ppp/options)
lcp-echo-interval 30 # (from /etc/ppp/options)
hide-password # (from /etc/ppp/options)
ipparam 192.168.0.45 # (from command line)
ms-dns xxx # [don't know how to print value] # (from /etc/ppp/options.pptp)
10.10.18.1:10.10.18.2 # (from command line)
nobsdcomp # (from /etc/ppp/options.pptp)
require-mppe-128 # (from /etc/ppp/options.pptp)
noipx # (from /etc/ppp/options)
using channel 12
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth eap> <magic 0x670e4d10> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <mru 1400> <magic 0x412218fb> <pcomp> <accomp> <callback CBCP>]
sent [LCP ConfRej id=0x0 <callback CBCP>]
rcvd [LCP ConfNak id=0x1 <auth chap MS-v2>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap MS-v2> <magic 0x670e4d10> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <mru 1400> <magic 0x412218fb> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <mru 1400> <magic 0x412218fb> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <auth chap MS-v2> <magic 0x670e4d10> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x670e4d10]
sent [CHAP Challenge id=0xee <5766ef4c0983cac6b4a4f3c1f604dda0>, name = "pptpd"]
rcvd [LCP Ident id=0x2 magic=0x412218fb "MSRASV5.10"]
rcvd [LCP Ident id=0x3 magic=0x412218fb "MSRAS-0-WAX-XP"]
rcvd [LCP EchoRep id=0x0 magic=0x412218fb]
rcvd [CHAP Response id=0xee <83657a7e4f28125adaa0ea70ff9dd9e600000000000000005e458ae8c61e2cdbc884f8698d83eef80c78117ecdee80e100>, name = "IV\\anton"]
Peer IV\\anton failed CHAP authentication
sent [CHAP Failure id=0xee "E=691 R=1 C=5766ef4c0983cac6b4a4f3c1f604dda0 V=0 M=Access denied"]
sent [LCP TermReq id=0x3 "Authentication failed"]
rcvd [LCP TermAck id=0x3 "Authentication failed"]
Connection terminated.
Не палит всё равно. Это было испробовано. Фаерволла нет ни там ни там. Ещё раз говорю - при авторизации из файла работает.
да понятно, что из файла работает! почитайте например статью
http://sysadminwiki.ru/wiki/VPN_я│_п©п╬п╪п╬я┴я▄я▌_PPTP_я│_п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╣п╧_п╡_п╢п╬п╪п╣п╫п╣_windows.
у меня все работало примерно по такой технологии. эта тема давно изъезженна - информации в сети море! надо искать и внимательно все проверять, из лога видно что Access denied. что вам здесь непонятно? посмотрите на вывод tailf /var/log/message при подключении клиента (он более интуитивно понятен будет для вас) или используйте авторизацию через radius - там проще все намного.
> да понятно, что из файла работает! почитайте например статью
> http://sysadminwiki.ru/wiki/VPN_я│_п©п╬п╪п╬я┴я▄я▌_PPTP_я│_п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╣п╧_п╡_п╢п╬п╪п╣п╫п╣_windows.
> у меня все работало примерно по такой технологии. эта тема давно изъезженна
> - информации в сети море! надо искать и внимательно все проверять,
> из лога видно что Access denied. что вам здесь непонятно? посмотрите
> на вывод tailf /var/log/message при подключении клиента (он более интуитивно понятен
> будет для вас) или используйте авторизацию через radius - там проще
> все намного.Так ничего и не понял, что это было, но просто из интернета вставил опцию про аутентификацию и стало всё хорошо... Долго ругался на тот источник, из которого в самый первый раз скопировал.
Итак, всё хорошо при:
/etc/ppp/options.pptp
name pptpd
### Authentication ###
logfile /var/log/pptpd.logrefuse-pap
refuse-mschap
refuse-chap
require-mschap-v2
require-mppe-128### Network Settings
ms-dns 192.168.0.253
#proxyarp
debug
dump
lock
nobsdcomp
novj
novjccomp
chapms-strip-domain
plugin winbind.so
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of=DOMAINNAME+VPN-users"/etc/pptpd.conf
option /etc/ppp/options.pptplogwtmp
#lock
#speed 115200
debug
#bcrelay eth1
localip 10.10.18.1
remoteip 10.10.18.2-250
Всем спасибо.