Dialin сервер с авторизацией из openldap, но не PAM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Dialin сервер с авторизацией из openldap, но не PAM
Привет.
Помогите определиться в выборе решения:
Нужно реализовать аутентификацию для разных сервисов на основе openldap, но чтобы каждому отдельному пользователю была возможность задавать в свойствах возможность (невозможность) доступа к указанным сервисам.
Поясняю: есть список юзеров. Нужна возможность указать "вон тот юзер имеет почтовый ящик, а вон тот - имеет вход по диал-ап. А вон те двое - имеют логины на ВПН", и т.п.
В общем-то это пока не сам вопрос. А вопрос вот: организовать dialin-сервер, который будет вписываться в заданную схему. Помогите выбрать, на чем реализовать. Диал-ап юзеры (отдельно указанные) тоже должны иметь возможность пользоваться "нашими" VPN и почтой. Читал про PAM-LDAP - вроде не совсем то, что нужно: там ВСЕ юзеры видятся как системные и я не смогу разрешить доступ по диал-ап, а, например, на почту (или VPN) - запретить.
Хотелось бы, для начала, получить рекомендацию по "комплексному решению" - с указанием составных частей. Ну и, наверное, хотелось бы обойтись без Радиуса (мне кажется, он тут лишний).
В данный момент "курю" MPD, PPPD, настройку модемов. Ядро пересобрал (FreeBSD-6.4). Модемы "вижу". Что дальше?
Рано или поздно докурю, но может, поможете сэкономить время, а?
Уточнение: openldap пока используется просто как база.
Помогите определиться в выборе решения:
Нужно реализовать аутентификацию для разных сервисов на основе openldap, но чтобы каждому отдельному пользователю была возможность задавать в свойствах возможность (невозможность) доступа к указанным сервисам.
Поясняю: есть список юзеров. Нужна возможность указать "вон тот юзер имеет почтовый ящик, а вон тот - имеет вход по диал-ап. А вон те двое - имеют логины на ВПН", и т.п.
В общем-то это пока не сам вопрос. А вопрос вот: организовать dialin-сервер, который будет вписываться в заданную схему. Помогите выбрать, на чем реализовать. Диал-ап юзеры (отдельно указанные) тоже должны иметь возможность пользоваться "нашими" VPN и почтой. Читал про PAM-LDAP - вроде не совсем то, что нужно: там ВСЕ юзеры видятся как системные и я не смогу разрешить доступ по диал-ап, а, например, на почту (или VPN) - запретить.
Хотелось бы, для начала, получить рекомендацию по "комплексному решению" - с указанием составных частей. Ну и, наверное, хотелось бы обойтись без Радиуса (мне кажется, он тут лишний).
В данный момент "курю" MPD, PPPD, настройку модемов. Ядро пересобрал (FreeBSD-6.4). Модемы "вижу". Что дальше?
Рано или поздно докурю, но может, поможете сэкономить время, а?
Уточнение: openldap пока используется просто как база.
Последний раз редактировалось f_andrey 2009-12-27 21:45:33, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Re: Dialin сервер с авторизацией из openldap, но не PAM
Пока остановился на MPD5.
Возникла такая заминка: при попытке соединения с винды модемы трубку снимают, но после обмена "трелями" винда пишет что-то вроде "ошибка 50. Такое соединение не поддерживается". Вот mpd.log в этот промежуток времени:
Вот mpd.conf:
Пробовал коннектиться стандартным гипертерминалом, так он после "трелей" на экран выдает кучу мусора. Хэндбук советует раз в секунду нажимать Enter до появления приглашения залогиниться, но приглашение так и не повляется...
Возникла такая заминка: при попытке соединения с винды модемы трубку снимают, но после обмена "трелями" винда пишет что-то вроде "ошибка 50. Такое соединение не поддерживается". Вот mpd.log в этот промежуток времени:
Код: Выделить всё
mpd: [L5] chat: Incoming call detected...
mpd: [L5] chat: Connected at 115200.
mpd: [L5] MODEM: idle script succeeded, action=answer
mpd: [L5] MODEM: opening link in answer mode
mpd: [L5] Link: OPEN event
mpd: [L5] LCP: Open event
mpd: [L5] LCP: state change Initial --> Starting
mpd: [L5] LCP: LayerStart
mpd: [L5] MODEM: chat script succeeded
mpd: [L5] Link: UP event
mpd: [L5] LCP: Up event
mpd: [L5] LCP: state change Starting --> Req-Sent
mpd: [L5] LCP: SendConfigReq #3
mpd: [L5] ACFCOMP
mpd: [L5] PROTOCOMP
mpd: [L5] ACCMAP 0x000a0000
mpd: [L5] MRU 1500
mpd: [L5] MAGICNUM 1f255ded
mpd: [L5] AUTHPROTO CHAP MSOFTv2
mpd: [L5] MODEM: carrier detect (CD) signal lost
mpd: [L5] Link: DOWN event
mpd: [L5] LCP: Close event
mpd: [L5] LCP: state change Req-Sent --> Closing
mpd: [L5] LCP: SendTerminateReq #4
mpd: [L5] LCP: Down event
mpd: [L5] LCP: LayerFinish
mpd: [L5] LCP: state change Closing --> Initial
mpd: [L5] chat: Waiting for ring...
Код: Выделить всё
startup:
set user foo bar admin
set user foo1 bar1
set console self 127.0.0.1 5005
set console open
set web self 0.0.0.0 5006
set web open
default:
load multi-dialin
multi-dialin:
create bundle template B
set iface idle 900
# set iface up-script ""
# set iface down-script ""
set ipcp ranges 192.168.0.0/16 192.168.0.0/16
create link static L2 modem
load common
set modem device /dev/cuad2
open
...
create link static L9 modem
load common
set modem device /dev/cuad9
common:
set link action bundle B
set link type modem
set link no pap chap eap
set link enable chap
set modem speed 115200
set modem var $DialPrefix "DP"
set modem idle-script AnswerCall
# set modem script AutoLogin
set link enable incoming
- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Re: Dialin сервер с авторизацией из openldap, но не PAM
Получается разговор с самим собой 
Не верю, что никто не может помочь.
Что, ни у кого не было ситуации, когда и так дел "по горло" (и вроде бы сам не "последний ламер"), а тут еще и "пожар" навалился? И что в это время особо ценна ТА помощь, которая поможет сэкономить драгоценное время?
Следующая ситуация:
Для тестирования "того, что получилось" звоню с домашнего компа (венда Експишка) по модему D-Link 562IS (чипсет Конексантовский). Получается какой-то "бред" - связь обрывается (уже писал) после обмена трелями и пишет "ошибка 50..." (см. предидущий пост). Пытаюсь по очереди включать/выключать разные опции в mpd.conf. "Прочитал" mpd.script. Определил, что скрипты отрабатывают нормально, а разрыв происходит уже после этого. И тут немного помог случай: кто-то позвонил на один из модемов и в логе я увидел (жаль не сохранил), что этот "клиентский модем" обменивался с моим разными конфигурациями. Что-то вроде: "предлагаю так" - "не, так не могу, хочу вот так" - "в принципе так нормально, только убери вот эту опцию" - "ОК, убрал". А дальше написало про ошибку получения адреса! Т. е., более-менее "продвинутые" модемы (предполагаю, что в данном случае именно такой хотел приконнектиться) пытаются согласовать параметры связи, и им это удается! Из этого:
1. Многое понял в порядке установления связи модемами (но - ВРЕМЯ, камрады, ВРЕМЯ!), многое уяснил из параметров самого MPD.
2. Понял, что мой домашний модем кроме того, что не "продвинутый", так еще и "хам" - рвет коннект без всяких объяснений.
А вот и сам следующий вопрос:
Подскажите, плиз, "безотказную умолчальную" комбинацию вида (взял из лога то, что предлагают мои модемы сейчас)
, которая будет принята подобными модемами при настройке соединения со стороны вендового клиента по умолчанию.

Не верю, что никто не может помочь.
Что, ни у кого не было ситуации, когда и так дел "по горло" (и вроде бы сам не "последний ламер"), а тут еще и "пожар" навалился? И что в это время особо ценна ТА помощь, которая поможет сэкономить драгоценное время?
Следующая ситуация:
Для тестирования "того, что получилось" звоню с домашнего компа (венда Експишка) по модему D-Link 562IS (чипсет Конексантовский). Получается какой-то "бред" - связь обрывается (уже писал) после обмена трелями и пишет "ошибка 50..." (см. предидущий пост). Пытаюсь по очереди включать/выключать разные опции в mpd.conf. "Прочитал" mpd.script. Определил, что скрипты отрабатывают нормально, а разрыв происходит уже после этого. И тут немного помог случай: кто-то позвонил на один из модемов и в логе я увидел (жаль не сохранил), что этот "клиентский модем" обменивался с моим разными конфигурациями. Что-то вроде: "предлагаю так" - "не, так не могу, хочу вот так" - "в принципе так нормально, только убери вот эту опцию" - "ОК, убрал". А дальше написало про ошибку получения адреса! Т. е., более-менее "продвинутые" модемы (предполагаю, что в данном случае именно такой хотел приконнектиться) пытаются согласовать параметры связи, и им это удается! Из этого:
1. Многое понял в порядке установления связи модемами (но - ВРЕМЯ, камрады, ВРЕМЯ!), многое уяснил из параметров самого MPD.
2. Понял, что мой домашний модем кроме того, что не "продвинутый", так еще и "хам" - рвет коннект без всяких объяснений.
А вот и сам следующий вопрос:
Подскажите, плиз, "безотказную умолчальную" комбинацию вида (взял из лога то, что предлагают мои модемы сейчас)
Код: Выделить всё
mpd: [L6] ACFCOMP
mpd: [L6] PROTOCOMP
mpd: [L6] ACCMAP 0x00000000
mpd: [L6] MRU 1500
mpd: [L6] MAGICNUM 979380d5
- Alex Keda
- стреляли...
- Сообщения: 35437
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Dialin сервер с авторизацией из openldap, но не PAM
та непонятно чего вы в конечном итоге хотите получить...
Убей их всех! Бог потом рассортирует...
- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Re: Dialin сервер с авторизацией из openldap, но не PAM
В конечном итоге - то, что в первом посте.
Но сейчас эта задача разделилась на несколько подзадач (от одной "проблемы" к следующей
).
И в данный момент нужна рабочая конфигурация MPD для приёма звонков (раздача сети по телефону) с вендовых клиентов, настроенных по умолчанию.
Вот текущий mpd.conf:
Последнее, что попробовал - поменять MTU.
P.S. Очень рад, что кто-то отозвался, а тем более - ты (надеюсь, ты не против такого обращения - располагает к ускорению получения нужного эффекта
, и ко мне тоже можно просто - мы хоть лично и не знакомы, этот сайт читаю очень давно и, считай, почти все мои (какие-никакие) умения отсюда).
Жаль только, что "отрываю" от празднования. С праздником!
Но сейчас эта задача разделилась на несколько подзадач (от одной "проблемы" к следующей

И в данный момент нужна рабочая конфигурация MPD для приёма звонков (раздача сети по телефону) с вендовых клиентов, настроенных по умолчанию.
Вот текущий mpd.conf:
Код: Выделить всё
startup:
# configure mpd users
set user foo bar admin
set user foo1 bar1
# configure the console
set console self 127.0.0.1 5005
set console open
# configure the web server
set web self 0.0.0.0 5006
set web open
default:
load multi-dialin
multi-dialin:
#yes = enable & accept; no = disable & deny
#LAYERS: iface -> ipcp -> ccp -> ecp -> bundle -> link
set ippool add pool5 192.168.1.101 192.168.1.250
#bundle layer
create bundle template B
#ipcp layer
set ipcp ranges 192.168.1.1/32 ippool pool5
set ipcp dns 10.3.0.128
set ipcp nbns 0.0.0.0
#iface layer
# set iface mtu 576
set iface route 10.3.0.128
set iface idle 900
set iface route default
# set iface up-script ""
# set iface down-script ""
set iface enable proxy-arp
set iface enable nat
#link layer
create link static L5 modem
set modem device /dev/cuad5
load modem-common
load link-common
open
create link static L6 modem
set modem device /dev/cuad6
load modem-common
load link-common
open
create link static L7 modem
set modem device /dev/cuad7
load modem-common
load link-common
open
link-common:
# set link disable acfcomp protocomp
# set link accept acfcomp protocomp
# set link disable magicnum check-magic
# set link enable passive
set link accmap 0
set link mtu 576
set link mru 576
# set link no chap
set link accept pap chap
set auth max-logins 0 CI
set auth enable ext-auth
# set auth extauth-script ...
# set auth extacct-script ...
#default disable accept: pap, chap-md5, chap-msv2
#default deny: chap-msv1
set link action bundle B
set link enable incoming
modem-common:
set modem speed 115200
set modem var $DialPrefix "DP"
# set modem watch -cd
set modem idle-script AnswerCall
P.S. Очень рад, что кто-то отозвался, а тем более - ты (надеюсь, ты не против такого обращения - располагает к ускорению получения нужного эффекта

Жаль только, что "отрываю" от празднования. С праздником!

- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Re: Dialin сервер с авторизацией из openldap, но не PAM
Почитал вот тут http://www.taurion.ru/ie6/8/4 и засомневался в правильности установленного MTU. Пока сброшу на "умолчальный" (1500), а там - разберусь.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2009-06-14 7:02:26
Re: Dialin сервер с авторизацией из openldap, но не PAM
не знаю, как насчет dialin-сервера, но вот для этого в openldap есть группы.bitman писал(а): Поясняю: есть список юзеров. Нужна возможность указать "вон тот юзер имеет почтовый ящик, а вон тот - имеет вход по диал-ап. А вон те двое - имеют логины на ВПН", и т.п.
- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Re: Dialin сервер с авторизацией из openldap, но не PAM
Спасибо, приблизительно в этом же направлении я и думаю. Сам ldap-сервер уже поднят (хотя еще не опробованBurner писал(а):не знаю, как насчет dialin-сервера, но вот для этого в openldap есть группы.

К слову, open-ldap ставил с хранением конфигов в своей же базе, а не в slapd.conf. Инструкцию "нарыл" тут http://diary.ru/~ldap.
- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Re: Dialin сервер с авторизацией из openldap, но не PAM
Где-то нагуглил, что виновата система. Говорят: "лечится только переустановкой системы". Переставил несколько раз драйвер (в т. ч. с ручным удалением файлов) - не помогло. Переустанавливать систему - "влом", не я один пользуюсь этим компом. Втыкнул в другой компьютер - конекты "пошли"... Вот такая мистика. Обе системы одинаковые, куплены "правильно", недавно переустановлены... Что я тут могу сказать...bitman писал(а): Для тестирования "того, что получилось" звоню с домашнего компа (венда Експишка) по модему D-Link 562IS (чипсет Конексантовский). Получается какой-то "бред" - связь обрывается (уже писал) после обмена трелями и пишет "ошибка 50..." (см. предидущий пост).
- bitman
- рядовой
- Сообщения: 38
- Зарегистрирован: 2008-08-29 14:35:29
Re: Dialin сервер с авторизацией из openldap, но не PAM
Вот я и до групп "добрался"Burner писал(а):не знаю, как насчет dialin-сервера, но вот для этого в openldap есть группы.

Пока вижу такие варианты:
1. Подключить базу ldap к системным пользователям (pam_ldap/nss_ldap -да?) с соответствующими настройками в mpd-шке.
2. Через FreeRADIUS и rlm_ldap http://wiki.freeradius.org/Rlm_ldap
3. Обрабатывать поиск пользователя вручную скриптом внешней авторизации mpd.
Вопросы:
1. Как все-таки разграничивать права пользователей для разных сервисов? Группы? Можно подробнее? Я поковырялся и вижу, что этот способ отличается от назначения классов. А классами получится - или я "бред несу"? Чем эти способы хороши (плохи)?
2. Никто не поделится примером внешнего скрипта проверки авторизации для mpd? Или хотя-бы помогите въехать, как его писать? Там какие-то пары параметр:значение упоминаются. Это что - с помощью awk или sed нужно обрабатывать? В случае ручного поиска, кажется, было бы проще (ошибаюсь?) - можно задавать нужные ветки и критерии поиска. Т. о. получаем больше возможностей фантазировать с группировками пользователей в базе...