The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"*nix GURU! А вам слабо? Тонкости работы с PPPD!!! \+ mgetty ..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"*nix GURU! А вам слабо? Тонкости работы с PPPD!!! \+ mgetty ..."
Сообщение от Searcher emailИскать по авторуВ закладки on 19-Дек-03, 18:47  (MSK)
:-) Продолжаем серию аля *nixGURU questions :D

Всем сомневающимся и неуверенным до конца в правоте своих слов и высказываний лучше не постить сюда ничего! - Дабы не путать меня ещё больше!

Помогите плиз концептуально и практически решить трабл - уже не могу! мозги закипают!!!

Предистория:

Началось всё с того что после успешного разбирания с созданием линух-клиента для  MS-CHAP c callback (http://forum.ixbt.com/0022/046457.html) , мне заманулось создать свой DialIn сервак на линухе.   Линух у меня слака 9.0, делалось всё через mgetty (установка  компиляцией из сырцов, поскольку не входит в слаку по дефолту). Авторизация pap, с юзанием паролей из системы (тоесть когда в pap-secrets * * "" * и для pppd передаётся  /usr/sbin/pppd auth login

Результаты:

Шаг 1: Диалап без колбека.          Поставил,  всё настроил - работает без колбека на ура.

Шаг 2: Установка колбека через mgetty (заюзывание проги callback из комплекта mgetty)
А тут ползут грабли!!!! Сил моих бороться больше уже нету!!!! А именно перезвон есть но после перезвона не подымается ppp0 интерфейс!

Описываю детально: (Эти конфиги чудесно работают для просто диалапа без колбека!!!!)

на сервере дозвона  написано такое (на нём висит на ком1 модем)


cat /etc/ppp/pap-secrets
*       *       ""      *

cat /etc/ppp/options

# General configuration options for PPPD:
#-detach
auth
-chap
+pap
login
modem
/dev/modem
57600
crtscts
# Uncomment the line below for more verbose error reporting:
debug
# If you have a default route already, pppd may require the other side
# to authenticate itself, which most ISPs will not do.  To work around this,
# uncomment the line below.  Note that this may have negative side effects
# on system security if you allow PPP dialins.  See the docs in /usr/doc/ppp*
# for more information.
#noauth
#passive
asyncmap 0
logfile /var/log2/ppplog
10.0.0.202:10.0.0.203
proxyarp
lock
ms-dns 10.0.0.5

Далее
cat /etc/ppp/options.ttyS0

netmask 255.255.255.0
proxyarp
noipdefault
#defaultroute         (убрал!! поскольку при его включении дальше диалап сервера выйти нельзя было!!! фаервол отключён на время тестов!)
debug
mtu 576
mru 576
noipx
ktune

Теперь собственно файлы настроек mgetty
login.config

#  NOTE4: max. 9 arguments allowed.
#
#/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login debug

/AutoPPP/ - @ /usr/sbin/pppd auth -chap +pap login debug

#
#
# An example where no login name in the argument list is desired:
#  automatically telnetting to machine "smarty" for a given login name
#
#telnet-smarty gast telnet /usr/bin/telnet -8 smarty
#
# This is the "standard" behaviour - *dont* set a userid or utmp
#  entry here, otherwise /bin/login will fail!
#  This entry isn't really necessary: if it's missing, the built-in
#  default will do exactly this.
#
#* - - /bin/login @
myshelluser - - /bin/login @

#for callback to phone number 5555555

bkbkc - - /usr/local/sbin/callback -S 5555555

myshelluserwithscriptlogin - - /pts/ppp


Файлик /etc/passwd для пользователей myshelluser и myshelluserwithscriptlogin

myshelluser:x:2000:200:shelluser,,116,:/mnt/hd/shome/myshelluser:/bin/bash
myshelluserwithscriptlogin:x:2004:200::/home/myshelluserwithscriptlogin:/pts/ppp

Скрипт: cat /pts/ppp

#!/bin/sh
/usr/sbin/pppd auth login require-pap refuse-chap


И на всякий случай привожу mgetty.config

#my
# mgetty configuration file
#
# this is a sample configuration file, see mgetty.info for details
#
# comment lines start with a "#", empty lines are ignored


# ----- global section -----
#
# In this section, you put the global defaults, per-port stuff is below


# set the global debug level to "4" (default from policy.h)
debug 9

# set the local fax station id
fax-id 49 115 xxxxxxxx

# access the modem(s) with 38400 bps
###speed 38400
speed 57600

#  use these options to make the /dev/tty-device owned by "uucp.uucp"
#  and mode "rw-rw-r--" (0664). *LEADING ZERO NEEDED!*
#!!!!! was commented!!! all 3 lines

port-owner uucp
port-group uucp
port-mode 0664

#  use these options to make incoming faxes owned by "root.uucp"
#  and mode "rw-r-----" (0640). *LEADING ZERO NEEDED!*
#fax-owner root
#fax-group uucp
#fax-mode 0640


# ----- port specific section -----
#
# Here you can put things that are valid only for one line, not the others
#

# Zoom V.FX 28.8, connected to ttyS0: don't do fax, less logging
#
port ttyS0
  debug 3
  data-only y

# some other Rockwell modem, needs "switchbd 19200" to receive faxes
# properly (otherwise it will fail with "timeout").
#
#port ttyS1
#  speed 38400
#  switchbd 19200

# ZyXEL 2864, connected to ttyS2: maximum debugging, grab statistics
#
#port ttyS2
#  debug 8
#  init-chat "" \d\d\d+++\d\d\dAT&FS2=255 OK ATN3S0=0S13.2=1 OK
#  statistics-chat "" AT OK ATI2 OK
#  statistics-file /var/log/statistics.ttyS2
#  modem-type cls2

# direct connection of a VT100 terminal which doesn't like DTR drops
#
#port ttyS3
#  direct y
#  speed 19200
#  toggle-dtr n

modem-check-time 3600


Теперь собс-но как оно всё работает:

С клиента звоню, ввожу юзера myshelluserwithscriptlogin - всё на ура срабатывает и подымается ppp0 интерфейс, короче соединение устанавливается и фурычит :-) тоесть работает диалин сервак без колбека

Когда звоню с клиента, ввожу юзера bkbkc (юзер для перезвона), соединение обрывается, далее сервер мне перезванивает, модем подымает трубу, далее вываливается приглашение залогиниться ввожу myshelluserwithscriptlogin сразу же ползёт какая-то гадость (такое впечетление что запускается скрипт указанный в качестве шела) даже не спрашивается пароль.
Либо спрашивается пароль (я не помню точно как было - но была и одна и вторая ситуация) и запускается скрипт /pts/ppp.

Далее на клиенте (linux) видим такое

Serial connection established.
using channel 9
Using interface ppp0
Connect: ppp0 <--> /dev/modem
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x390a62d4> <pcomp> <accomp>]
LCP: timeout sending Config-Requests
Modem hangup
Connection terminated.


Виндовый клиент просто висит на проверка имени пользователя и разрывается поскольку нету соединения.

Тоесть как-то не могут договориться по LCP кадрам клиент и сервак. Причём именно после перезвона!!!! Без него - всё на ура.

Сделал ещё одну хохму - взял и слепил все опции  для pppd в файл options.ttyS0 (тоесть записал содержимое options к содержимому options.ttyS0), а файл options оставил пустым.

Получил уже вообще на этапе соединения даже без колбека (без перезвона)!!!! невозможность договориться по LCP кадрам!


В строках инициализации модема для клиентов (пробовал линух и винду) писал at&c0s0=1
pppd у меня сьюидный!!!!, и скрипты с правом запуска.

ГЛОБАЛЬНЫЙ ВОПРОС - где я не прав и какие особенности при заюзывании callback-проги из состава mgetty. А конкретно - почему не подымается нормально ppp0 при перезвоне!

Теперь вопросы которые смутно описаны в документации и более того в разных доках пишется по разному!!!!! и которые так же хотелось бы прояснить:

1) имя пользователя которое задаётся в mgetty: login.config (у меня 'nj bkbkc) для вызова проги callback должно быть отфонарным или нужно прописывать такого юзера в системе.

(насколько я понял то это "виртуальный юзер" по имени которого mgetty просто стартует callback прогу)

2) Влияет ли порядок задания опций в файлах конфигов на поведение pppd (смотри описанный выше случай про слияние всех опций в 3-ий по приоритету чтения конфигов файл (сначала читается /etc/ppp/options потом ~/.ppprc потом аж options.ttyS0)

2a) Если задать одну опцию в /etc/ppp/options а потом её переназначить в options.ttyS0 то какая будет активной? Та которая последняя считается? Или же которая первая считается?


3) ВАЖНО!!! Есть ли взаимоисключающие опции в pppd которые просто не могут быть записаны вместе (точнее могут - но поведение тогда странное!)
Как соотносятся файлы настроек на клиете и сервере? Есть ли что-то что должно быть прописано только на сервере (:-) я понимаю что при точка-точка понятие сервер условное!, посему сервер - это диалин сервер) и ни в коем случае не должно быть прописано на клиенте?

Если кто чего делал такого именно через такую связку - ОГРОМНЕЙШЕЕ ПОЖАЛУЙСТА!!!!  выложите по возможности свои работающие конфиги!!!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "*nix GURU! А вам слабо? Тонкости работы с PPPD!!! \+ mgetty ..."
Сообщение от Searcher Искать по авторуВ закладки on 20-Дек-03, 00:17  (MSK)
Вы не поверите - но всё заработало для юзера myshelluser
из под него (тоесть в его шеле) вызвал pppd  с аргументами нужными и заработало!!!! Пока анализирую...
Так что в приведённых конфигах однозначно что то есть либо лишнее либо взаимоисключающее!!!!! толи какой-то конфиг не прочитывается

Кстати приведите плиз нужные права на файлы опций pppd!!!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Решено частично! :-)"
Сообщение от Searcher Искать по авторуВ закладки on 20-Дек-03, 21:24  (MSK)
Вообщем не поверите - но похоже трабла бЁла именно в вЁставлении в options 57600

38400 заработало!!!

Причём траблы видать с опциями есть ещё!!!! Но где?

потому как приходится руцями запускать pppd после шел-логина для юзера myshelluser

с параметрами:

pppd nomagic noipdefault 10.0.0.202:10.0.0.203 proxyarp debug

после именно такого вЁзова с шела pppd подымается!!!

Без nomagic имеем timeout sending Config-Requests

без выставления 38400 вместо 57600 имеем loopback detected!!! (могу привести лог, если нужно!)

Хотелось бЁ услЁшать мнения знающих людей!!!!
Что неужели русскоязычных и готовых помочь толковых никсоидов нету?
:-))) а то придётся переводить

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Решено частично! :-)"
Сообщение от lavr emailИскать по авторуВ закладки on 22-Дек-03, 11:21  (MSK)
>Вообщем не поверите - но похоже трабла бЁла именно в вЁставлении в
>options 57600
>
>38400 заработало!!!
>
>Причём траблы видать с опциями есть ещё!!!! Но где?
>
>потому как приходится руцями запускать pppd после шел-логина для юзера myshelluser
>
>с параметрами:
>
>pppd nomagic noipdefault 10.0.0.202:10.0.0.203 proxyarp debug
>
>после именно такого вЁзова с шела pppd подымается!!!
>
>Без nomagic имеем timeout sending Config-Requests
>
>без выставления 38400 вместо 57600 имеем loopback detected!!! (могу привести лог, если
>нужно!)
>
>Хотелось бЁ услЁшать мнения знающих людей!!!!
>Что неужели русскоязычных и готовых помочь толковых никсоидов нету?
>:-))) а то придётся переводить

ряд модемов очень недружелюбно относится к открытию порта на скорости != скорости инициализации, плюс порт желательно жестко открывать на одной
скорости и модем настраивать без выравнивания со скоростью на порту,
короче, изучай что есть DTE и DCE, flow-control, настройку модемов и
работу программы открывающей и слушающей серийный порт.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Решено частично! :-)"
Сообщение от Searcher Искать по авторуВ закладки on 22-Дек-03, 14:17  (MSK)
>
>ряд модемов очень недружелюбно относится к открытию порта на скорости != скорости
>инициализации, плюс порт желательно жестко открывать на одной
>скорости и модем настраивать без выравнивания со скоростью на порту,
>короче, изучай что есть DTE и DCE, flow-control, настройку модемов и
>работу программы открывающей и слушающей серийный порт.


Дык изучал (:-) пришлось) и знаю почти всё на уровне представления (но не в деталях)
Вот кто ж мог знать что оно имеет место быть такая недружелюбность! Казалось что само настроиться сбрасыванием до нужного с высшего - А во т не так! пока всё в стадии дальнейшего анализа! Но предварительно  -  похоже резюмирование действительно такое:
"ряд модемов очень недружелюбно относится к открытию порта на скорости != скорости"

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Решено частично! :-)"
Сообщение от lavr emailИскать по авторуВ закладки on 22-Дек-03, 15:47  (MSK)
>>
>>ряд модемов очень недружелюбно относится к открытию порта на скорости != скорости
>>инициализации, плюс порт желательно жестко открывать на одной
>>скорости и модем настраивать без выравнивания со скоростью на порту,
>>короче, изучай что есть DTE и DCE, flow-control, настройку модемов и
>>работу программы открывающей и слушающей серийный порт.
>
>
>Дык изучал (:-) пришлось) и знаю почти всё на уровне представления (но
>не в деталях)
>Вот кто ж мог знать что оно имеет место быть такая недружелюбность!
>Казалось что само настроиться сбрасыванием до нужного с высшего - А
>во т не так! пока всё в стадии дальнейшего анализа! Но
>предварительно  -  похоже резюмирование действительно такое:
>"ряд модемов очень недружелюбно относится к открытию порта на скорости != скорости"
>

по этому поводу я отписывал сюда целый опус, ищи по форуму или в архивах,
там все было разжевано.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру