Ivanovo Linux Users Group -  
Форум Помощь Поиск Вход
Предыдущая Следующая Вверх Тема Софт / Программное обеспечение / PPPD (12980 хитов)
- Написал(а) Dimidrol Дата 25.02.04 09:59
Поставил Mgetty 1.1.30, связал её с демоном PPPD 2.4.1
При попытке дозвониться с компьютера (где Windows стоит) на мой с Linux успешно проходит проверка пароля и пользователя, но при регистрации в сети вылетает ошибка "Удаленный комп разорвал соединение"
Однако в логах пишется, что соединение прошло успешно:
12/15 12:13:57 ##### data dev=ttyS0, pid=515, caller='none', conn='38400', name='', cmd='/usr/sbin/pppd', user='/AutoPPP/'
Такое ощущение, что входящему пользователю не правильно присваевается IP адрес
Что делать? Может кто сталкивался.
Parent - Написал(а) LOE (Site/forum admin) Дата 26.02.04 21:34
Ты привел строку из лога от mgetty, а он свою задачу выполнил - запустил pppd.
А вот дальше - как раз и начинаются траблы.
Советую запускать pppd с опцией debug и смотреть отладку - многое откроется.
Смею предположить - не настроена какая либо схема авторизации (PAP, CHAP), либо pppd не хватает прав.
Так-же, могут быть завышены требования со стороны windows и pppd не может (не хочет) их удовлетворить.

>успешно проходит проверка пароля


вот этого-то как-раз и не происходит.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent Написал(а) Dimidrol Дата 02.03.04 10:20
Запускаю pppd с опцией debug: где отладку смотреть непонятно (никакой разницы). Может есть какой-нибудь лог работы pppd?
Схема авторизации (PAP) у меня только задается в файле PAP-SECRET. Может еще какие настройки есть?
Прав pppd вроде должно хватать: собственного пользователя или группу pppd не имеет, запускается pppd под root.
Требования со стороны Windows минимальные: просто соединяюсь с другим компьютером (где Linux установлен и запущена только mgetty, никаких firewall и т.п.).

Мне нужно то всего, чтобы дозванивались на Linux (исходящих звонков нет). Может настройки pppd не такие: смотрел доки - везде по разному. Я в конце концов оставил файл "/etc/pppd/options" в следующем виде:
modem
# noipdefault
nodetach
debug
noccp
proxyarp
crtscts
idle 1000
require-pap
refuse-chap
вместо стандартного:
lock
defaultroute
noipdefault
modem
/dev/ttyS0
19200
crtscts
passive
asyncmap 0
name "admin"

Ну и соответственно там еще в файле "options.ttyS0" прописал:
191.1.1.1:191.1.1.254

Может в файле "options" что то не так или чего нет? Пишите все, что знаете :-) Может кто свои конфигурационные файлы предложит, у кого-нибудь же наверняка модем настроен. А пока вот сижу доки ищу, вроде все перепробывал.
Parent - Написал(а) LOE (Site/forum admin) Дата 01.03.04 13:07
Хоть бы написал, поборол проблему или нет.
Вдруг окажется, что кому-то еще поможет.
(Девиз: просим помощи, но и сами помогаем ;-))
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent Написал(а) Dimidrol Дата 02.03.04 10:22
Только сегодня руки снова до модема дошли. Проблему не поборол. Если кому то поможем я только рад буду. Мне бы кто помог :-)
Parent - Написал(а) Dimidrol Дата 03.03.04 06:13
Проблему наконец-то решил, правда сменил SlackWare на SuSE. В SuSE все заработало с такими же настройками pppd и mgetty: видимо проблема не в настройках была, а в чем то другом. Может из-за ядра 2.4.22, которое то и дело вылетало и все висло, может из-за чего-нибудь еще.
Parent - Написал(а) G0thic Дата 03.03.04 07:55
Тот самый, что я записал?
Значит пригодился. Зер гуд.
Когда кругозор человека сужается к минимуму, он называет это своей точкой зрения.
Parent Написал(а) Dimidrol Дата 03.03.04 13:35
Да, очень пригодился, данкишо :-)
Теперь можно попробывать и Exim, и Squid на SuSE поднять. Поставить только SuSE с минимальной конфигурацией, чтоб лишнего не грузила.
Parent - Написал(а) LOE (Site/forum admin) Дата 03.03.04 21:41
У меня в слаке проблем с такими вещами не наблюдалось.
pppd с опцией debug помещает отладку в файл /var/log/debug - там и надо смотреть
ИМХО такой принцип "решения проблемы" - не есть гуд, поскольку проблема не решилась, а просто "обошлась" и неизвестно, когда что-то подобное всплывет в другой раз.
Работа сисадмина в том и заключается, чтобы уметь решать проблемы, а не обходить их :-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent Написал(а) G0thic Дата 04.03.04 15:47
Да. не совсем корректное решение. ;-)
Жаль что иногда нам приходиться к ним прибегать.
Когда кругозор человека сужается к минимуму, он называет это своей точкой зрения.
Parent - Написал(а) Dimidrol Дата 03.03.04 13:37
Теперь другая проблема: можно ли пользователей (которые через модем соединяются) по времени ограничивать. В настройках mgetty и pppd этого вроде нет. Может через ldap к dns серверу обращаться, но я слабо представляю как это будет выглядеть.
Parent - Написал(а) LOE (Site/forum admin) Дата 03.03.04 21:42
Стандартно - никак.
Как решение - периодически проверять наличие пользователя на линии и рубить его при превышении лимита.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) Dimidrol Дата 05.03.04 08:03
Можно через планировщик задач попробывать.
Изменять в определенное время файл 'pap-secret', где бы записывался лишь тот пользователь, кому в данное время доступ разрешен.
Parent - Написал(а) LOE (Site/forum admin) Дата 05.03.04 22:49
Не понял.
Надо ограничить промежуток времени, в который доступ разрешен,
или ограничить продолжительность сессии?
Для всех, или персонально для каждого?

Общие блокировки доступа (по времени для всех) легко решаются mgetty (накладывается патч, позволяющий задать временные промежутки, в течении которых mgetty не будет "брать" трубку модема)

Персональные настройки решаются своими скриптиками. У меня, например, работает модуль авторизации для pppd, который при логине пользователя подключается к порту на сервере, который (порт) слушает прога. Эта прога делает кучу проверок (в том числе и банальную проверку имени-пароля) и разрешает (или запрещает) подключение.
В более простом случае, можно заставить mgetty при логине запустить скриптик, который проверит имя-пароль, сделает другие проверки и только после этого стартанет pppd. Но тут уже накрывается авторизация PAP (CHAP), только скриптом.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - Написал(а) Dimidrol Дата 11.03.04 06:26
Ограничивать надо действительно промежуток времени, чтобы каждый пользователь соединялся по модему лишь в своё время.
Значит свои скрипты придется писать. Я правда этим еще ни разу не занимался. С чего бы начать? Может доки какие почитать?

>Но тут уже накрывается авторизация PAP (CHAP), только скриптом.


Я кстати так и не понял, в чем разница (в названиях файлов что ли) и зачем вообще такая авторизация (ведь все пользователи и их пароли открыто лежат в файле).
Лучше наверное бы было создать свой файл паролей, которые бы хранились в закодированном а не в открытом виде, и делать авторизацию с помощью какой-нибудь программы.
Parent Написал(а) LOE (Site/forum admin) Дата 11.03.04 10:29
Да, в этом случае надо авторизовать своими средствами. Тут можно посмотреть в сторону PAM - там довольно гибкие настройки (я с ним не работал за ненадобностью).

PAP и CHAP авторизации отличаются в деталях (man pppd)
Такая авторизация нужна для того, чтобы не раздувать системную базу passwd/shadow от пользователей, которых в системе по сути нет.
Файлы с паролями должны быть доступны на чтение только root'у (как и системный shadow, но там пароли шифрованые).
Можно авторизовать как-раз из системных файлов (но нужно более тщательно ограничивать этих псевдо-пользователей).
Или делать свои методы - тогда можно авторизовать как угодно и откуда угодно.

Как выход допуска по времени - менять PAP/CHAP файлы с паролями по крону. Но тут своя беда - если пользователь подключился, то его так просто с линии не скинет в нужное время (все равно нужны свои скрипты).
Для реализации всего - надо просто сесть и написать :-) Из чтения - man pppd ;-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Предыдущая Следующая Вверх Тема Софт / Программное обеспечение / PPPD (12980 хитов)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.195s with 11 database queries.