URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 61138
[ Назад ]

Исходное сообщение
"Mgetty+pppd_2.3.11"

Отправлено Wraith , 21-Окт-05 16:56 
Доброго времени суток уважаемые!
Такая ситуация:
Делаю DialIn сервер - mgetty+pppd на FreeBSD 5.4
Установил mgetty:
login.config содержит
/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth refuse-chap require-pap login debug
далее настраиваю pppd, в options пишу :
modem
193.232.29.1:
passive
crtscts
asyncmap 0
noipdefault
local
login
debug

присутствую два модема
options.cuaa4:
passive
:193.232.29.113
proxyarp
ms-dns 193.232.29.2

options.cuaa5:
passive
:193.232.29.113
proxyarp
ms-dns 193.232.29.2

Все пользователи аунтефицируются через passwd - соот-но я завожу пользователя с шелом /usr/sbin/pppd

Файл pap-secrets содержит:
# Authname Authkey      Peer's IP address        Label   Callback
#
#oscar      OurSecretKey 192.2.18.34
#BigBird    X4dWg9327    192.2.18.33/32
#fred       *            *                        fred
#subnet     *            192.2.18.35-192.2.18.70  subnet
#admin      *            *                        *       *
#homeworker *            *                        *       1234567
dialtest    *            ""                       *

(Бился два дня не мог понять почему не работает , нашел - дело было в знаке "" (не * как сказанно в самом файле примеров) только при таком синтаксисе записи (см. запись dialtest) происходит подключение и выдается адресс указанный в файле options.cuaa4-5
Мне же нужно что бы определенному пользователю при подключении выдавался адресс указанный в файле secrets а не адресс из файла options.cuaa4-5, я делаю такую запись -
test    *            10.0.0.1:10.0.0.2                       *
или же
test    пароль_явным_образом    10.0.0.1:10.0.0.2            *
(пробывал просто в тупую раскоментировать пользователя oscar)
по логам смотрю - проходит аунтефикация, регистрация в сети и -
pppd[5603]: Protocol-Reject for unsupported protocol 0x7070
pppd[5603]: Protocol-Reject for unsupported protocol 0x6e6f
pppd[5603]: Peer is not authorized to use remote address 193.232.29.115
pppd[5614]: Peer is not authorized to use remote address 193.232.29.115
pppd[5614]: sent [IPCP TermReq id=0x2 "Unauthorized remote IP address"]
pppd[5614]: rcvd [IPCP TermAck id=0x2 "Unauthorized remote IP address"]
pppd[5614]: sent [LCP TermReq id=0x4 "No network protocols running"]
pppd[5614]: sent [LCP TermReq id=0x5 "No network protocols running"]
pppd[5614]: rcvd [LCP TermReq id=0x5 "No network protocols running"]
pppd[5614]: sent [LCP TermAck id=0x5]
pppd[5614]: rcvd [LCP TermAck id=0x5] соединение рвется
хотя я явным образом указыаю какие использовать адресса - и такие сообщения были все два дня что я мучался, пока не заменил поле Peer's IP address на значение "" , все остальные варианты (со звездочкой или пустым местом как указанно в документации) приводили к аналагичным записям в логах. Подскажите пожалуйста в чем проблема, что я делаю не так? Сразу скажу что изучил маны, прочитал Сысоева и кучу статей, не могу понять в чем проблема.
Заранее благодарен.


Содержание

Сообщения в этом обсуждении
"Mgetty+pppd_2.3.11"
Отправлено Lisa , 21-Окт-05 17:21 
>Доброго времени суток уважаемые!
>Такая ситуация:
>Делаю DialIn сервер - mgetty+pppd на FreeBSD 5.4
>Установил mgetty:

mgetty.config
============
debug 4
speed 57600
data-only YES
login-prompt \tFreeBSD (@) (/P/\S) connect \l\r\n\r\nlogin:


>login.config содержит
>/AutoPPP/ -     a_ppp   /usr/sbin/pppd auth refuse-chap
>require-pap login debug

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

>далее настраиваю pppd, в options пишу :
>modem
>193.232.29.1:
>passive
>crtscts
>asyncmap 0
>noipdefault
>local
>login
>debug
>

modem
crtscts
-detach
ms-dns 1.2.3.4


>присутствую два модема
>options.cuaa4:
>passive
>:193.232.29.113
>proxyarp
>ms-dns 193.232.29.2
>
>options.cuaa5:
>passive
>:193.232.29.113
>proxyarp
>ms-dns 193.232.29.2
>

modem
:1.2.3.5
netmask 255.255.255.224
nodefaultroute
proxyarp

>Все пользователи аунтефицируются через passwd - соот-но я завожу пользователя с шелом
>/usr/sbin/pppd

Зачем шелл такой?

>
>Файл pap-secrets содержит

login_usera * ""   :1.2.3.7

># Authname Authkey      Peer's IP address  
>      Label   Callback
>#
>#oscar      OurSecretKey 192.2.18.34
>#BigBird    X4dWg9327    192.2.18.33/32
>#fred       *    
>       *    
>          
>         fred
>#subnet     *      
>     192.2.18.35-192.2.18.70  subnet
>#admin      *      
>      *    
>          
>        *  
>    *
>#homeworker *          
> *          
>          
>   *       1234567
>
>dialtest    *        
>    ""      
>          
>     *
>
>(Бился два дня не мог понять почему не работает , нашел -
>дело было в знаке "" (не * как сказанно в самом
>файле примеров) только при таком синтаксисе записи (см. запись dialtest) происходит
>подключение и выдается адресс указанный в файле options.cuaa4-5
>Мне же нужно что бы определенному пользователю при подключении выдавался адресс указанный
>в файле secrets а не адресс из файла options.cuaa4-5, я делаю
>такую запись -
>test    *        
>    10.0.0.1:10.0.0.2      
>          
>     *
>или же
>test    пароль_явным_образом    10.0.0.1:10.0.0.2    
>        *
>(пробывал просто в тупую раскоментировать пользователя oscar)
>по логам смотрю - проходит аунтефикация, регистрация в сети и -
>pppd[5603]: Protocol-Reject for unsupported protocol 0x7070
>pppd[5603]: Protocol-Reject for unsupported protocol 0x6e6f
>pppd[5603]: Peer is not authorized to use remote address 193.232.29.115
>pppd[5614]: Peer is not authorized to use remote address 193.232.29.115
>pppd[5614]: sent [IPCP TermReq id=0x2 "Unauthorized remote IP address"]
>pppd[5614]: rcvd [IPCP TermAck id=0x2 "Unauthorized remote IP address"]
>pppd[5614]: sent [LCP TermReq id=0x4 "No network protocols running"]
>pppd[5614]: sent [LCP TermReq id=0x5 "No network protocols running"]
>pppd[5614]: rcvd [LCP TermReq id=0x5 "No network protocols running"]
>pppd[5614]: sent [LCP TermAck id=0x5]
>pppd[5614]: rcvd [LCP TermAck id=0x5] соединение рвется
>хотя я явным образом указыаю какие использовать адресса - и такие сообщения
>были все два дня что я мучался, пока не заменил поле
>Peer's IP address на значение "" , все остальные варианты (со
>звездочкой или пустым местом как указанно в документации) приводили к аналагичным
>записям в логах. Подскажите пожалуйста в чем проблема, что я делаю
>не так? Сразу скажу что изучил маны, прочитал Сысоева и кучу
>статей, не могу понять в чем проблема.
>Заранее благодарен.



"Mgetty+pppd_2.3.11"
Отправлено Wraith , 21-Окт-05 19:38 
Спасибо огромное буду пробывать!!!А почему такая маска - netmask 255.255.255.224 и нужно ставить nodefaultroute ? И какой же тогда шелл ставить пользователям? Прошу прощение если глупые вопросы.

"Mgetty+pppd_2.3.11"
Отправлено Wraith , 21-Окт-05 20:13 
Просто ПРИОГРОМНЕЙШЕЕ СПАСИБО - все заработало так как надо.
Кланяюсь!!


P.S
Жду с нетерпением ответы на вопросы.


"Mgetty+pppd_2.3.11"
Отправлено Lisa , 24-Окт-05 10:13 
>Спасибо огромное буду пробывать!!!А почему такая маска - netmask >255.255.255.224

Потому что у меня подсеть из 32 ip-адресов. Для вас маска, естественно, ваша.

>и нужно
>ставить nodefaultroute ?

defaultroute - это маршрут по умолчанию. Вы ведь не хотите отсылать все пакеты диалапщику?

>И какой же тогда шелл ставить пользователям?

/etc/ttys
=========
..
cuaa4   "/usr/local/sbin/mgetty"        unknown on insecure
...

Сказали серверу на cuaa4 запустить mgetty. mgetty читает свои конфиги.

/usr/local/etc/mgetty+sendfax/login.config
==========================================
/AutoPPP/ -    a_ppp   /usr/local/sbin/pppd auth -chap +pap login debug

Сказали mgetty, что нужно запустить pppd, - pppd будет запущен.

pppd ищет файл /etc/ppp/pap-secrets.
pppd смотрит на параметры строки (AutoPPP/ -    a_ppp   /usr/local/sbin/pppd auth -chap +pap login debug ). Т. к. в этом файле стоит login, pppd обращается к /etc/master.passwd, затем к /etc/ppp/ppp.deny, /etc/ppp/ppp.shells и проверяет срок действия аккаунта.

/etc/ppp/ppp.shells.sample
======================
Список шеллов. Попробуйте добавить туда /sbin/nologin, и поставить пользователю в качестве шелла /sbin/nologin.

После авторизации выполняется файлы: /etc/ppp/auth-up, /etc/ppp/options, /etc/ppp/options.cuaaХ, /etc/ppp/ip-up.

После разрыва соединения: /etc/ppp/auth-down, /etc/ppp/ip-down.


"Mgetty+pppd_2.3.11"
Отправлено Anton_K , 26-Окт-05 14:47 
Должен ли быть какойнибудь процесс?
Модемы просвистят и молчок
соединение есть но ничего после соединения не происходит
такое ощущение что какойто процесс не следит за портом,
вот конфиги:
создал пользователя anton
в /etc/passwd
anton:x:502:502::/home/anton:/usr/sbin/pppd
в  /etc/inittab
T0:23:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1
в mgetty
login.config
/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options

/etc/ppp/options
-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 10.1.1.3
usepeerdns

/etc/ppp/options.ttyS1
192.168.213.1:192.168.213.2
noauth

изменил права
chmod u+s /usr/sbin/pppd
создал алиас /etc/profile
alias ppp=`/usr/sbin/pppd -detach'`

Извиняюсь за присущую сдесь необдуманность некоторых действий, но очень мало документации про dialin в linux
что тут может быть не так, что нет диалога после коннектов модемов?
спасибо


"Mgetty+pppd_2.3.11"
Отправлено Lisa , 26-Окт-05 18:48 
>Должен ли быть какойнибудь процесс?
>Модемы просвистят и молчок
>соединение есть но ничего после соединения не происходит
>такое ощущение что какойто процесс не следит за портом,
>вот конфиги:
>создал пользователя anton
>в /etc/passwd
>anton:x:502:502::/home/anton:/usr/sbin/pppd
>в  /etc/inittab
>T0:23:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1
>в mgetty
>login.config
>/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options
>
>/etc/ppp/options
>-detach
>asyncmap 0
>modem
>crtscts
>proxyarp
>lock
>require-pap
>refuse-chap
>ms-dns 10.1.1.3
>usepeerdns
>
>/etc/ppp/options.ttyS1
>192.168.213.1:192.168.213.2
>noauth
>
>изменил права
>chmod u+s /usr/sbin/pppd
>создал алиас /etc/profile
>alias ppp=`/usr/sbin/pppd -detach'`
>
>Извиняюсь за присущую сдесь необдуманность некоторых действий, но очень мало документации про
>dialin в linux
>что тут может быть не так, что нет диалога после коннектов модемов?
>
>спасибо

С Linux работала очень мало, в основном с FreeBSD. Но смысл pppd, по моему, не должен меняться.

1. Есть какой-то конфиг в котором говорится что запускать на cuaaX (ttysX - Linux). В FreeBSD это /etc/ttys. В этом файле просим запускать mgetty. (В принципе, ничто, наверное, не мешает и pppd попросить запустить.)

2. А в конфиге mgetty говорим, что нужно запускать pppd. И pppd будет запущен не зависимо от того какой шелл у пользователя, - хоть вообще без шелла. По-моему, такой шелл - это лишнее: /usr/sbin/pppd. Главное внести шелл пользователя в /etc/ppp/ppp.shells.

3. Когда запускается pppd, он читает свои конфиги. Примеры конфигов выше.

Не совсем понятно, что вы пытаетесь сказать алиасами.

Попробуйте в конфигах pppd проставить вначале только те опции, которые ему жизненно необходимы.


"Mgetty+pppd_2.3.11"
Отправлено Anton_K , 27-Окт-05 07:00 
>Попробуйте в конфигах pppd проставить вначале только те опции, которые ему жизненно
>необходимы.

Сорри стромозил ...

нашел таки куда пишется лог и по логам пошагово всё зделал
всё работает

спасибо