Настройка авторизации на pptp-сервере в Samba-домене

Задача

Итак, имеем сервер с CDS, настроенный как контроллер домена и интернет-шлюз с Debian Lenny.
Нужно настроить pptp-сервер для подключения пользователей из интернета в локальную сеть, при этом иметь отдельный список пользователей, естественно, желания нет никакого.

Решение

Настроим аутентификацию пользователей в домене CDS. Для этого нам потребуется установить клиент samba, winbind и ввести pptp-сервер в домен CDS.

Процесс настройки

*Устанавливаем samba, winbind и pptp-сервер*

apt-get install smbclient winbind pptpd

Настраиваем samba
(/etc/samba/smb.conf):

workgroup = OFFICE
netbios name = ROUTER
realm = DOMAIN
password server = (ip CDS)
security = domain
domain master = no
winbind separator = +
winbind nested groups = Yes
winbind enum users=yes
winbind enum groups=yes
template shell = /bin/false
winbind use default domain = no

Вводим машину в домен

net join rpc -S DOMAIN -U admin

Проверяем, что всё корректно работает
Получим список пользователей домена

wbinfo -u

Проверка взаимного доверия

wbinfo -t

Принимаемся за настройку pptp-сервера

В /etc/pptp.conf указываем ip сервера и клиентов:

localip 192.168.174.1
remoteip 192.168.174.234-238,192.168.174.245

В /etc/ppp/pptpd-options указываем аутентификацию через winbind:

plugin winbind.so
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1"

Перезапускаем pptp-сервер

invoke-rc.d pptpd restart

Далее следует настроить файрвол на шлюзе, чтобы он разрешал входящие соединения по VPN и доступ во внутреннюю сеть. Я для этих целей использую shorewall, в документации которого всё отлично описано - так что повторяться не вижу смысла.

Всё, можно подключаться.

И всеж таки в линухе pptp пока хромает… указываем ip сервера и клиентов - грустно… не хочу я знать
адреса клиентов :slight_smile: лениво мне в конфиги много раз лазить :slight_smile:

Кстати вопрос, а по радиусу он могет авторизовывать? Если да - то проще радиусу бекендом отдавать LDAP сразу
минуя много чего, и в том же LDAP хранить и адреса и прочее добро, которое pppd демон потом будет пользовать…

Если же не умеет… тогда пока linux, как решение для полноценного pptp сервака - никакое %)

И всеж таки в линухе pptp пока хромает… указываем ip сервера и клиентов - грустно… не хочу я знать
адреса клиентов :slight_smile: лениво мне в конфиги много раз лазить :slight_smile:

В смысле? Я указываю, какой адрес будет моего сервера и из какого диапазона выдавать адреса клиентам. Как без этого можно обойтись? :slight_smile:

Кстати вопрос, а по радиусу он могет авторизовывать?

Умеет. Просто я с Radius дела никогда не имел, потому мне так проще было сделать.

Пардон не увидел, что диапазон использован…

Тогда претензия только одна: юзерленд… и очень дряная поддержка(вообще можно сказать никакая) mppe, mppc, кстати
у Вас в конфиге не увидел… А нешифрованые каналы, мне лично сыкотно использовать, тем более зная о всех достоинствах вайршарка :wink:

С радиусом рекомендую разобраться, ибо вы через поля ответа в бинарном виде по радиус-протоколу можете много полезного для сервера передавать, для настройки скажем параметров того же интерфейса, либо шифрования и так далее…

у меня в конфиге нет потому, что я написал только изменения от дефолтного конфига, а там прописано:
refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128

Так что с шифрованием как раз всё нормально.

Блин, форматирование уехало. Никак не привыкну :frowning:

у меня в конфиге нет потому, что я написал только изменения от дефолтного конфига, а там прописано:
refuse-pap
refuse-chap
efuse-mschap
require-mschap-v2
require-mppe-128

Так что с шифрованием как раз всё нормально.