Настроен dial-in сервер на FreeBSD 5.1 mgetty+ppp
модемы на cuaa0,1,2
пытался настроить callback, но сервер пытается перезванивать с 1-го модема
(что вполне естественно, судя по ppp.conf)
Что мне поправить в своих конфигах, чтобы перезванивал тот модем на который пришёл звонок?Файлы:
/usr/local/etc/mgetty+sendfax/mgetty.config
debug 4
fax-id 00 00 000000
speed 115200
direct NO
blocking NO
port-owner uucp
port-group uucp
port-mode 0660
toggle-dtr YES
toggle-dtr-waittime 500
data-only YES
fax-only NO
modem-type auto
init-chat "" ATS0=0Q0&D3&C1 OK
modem-check-time 3600
rings 3
answer-chat "" ATA CONNECT \c \r
answer-chat-timeout 80
autobauding NO
ringback NO
ringback-time 30
ignore-carrier false
issue-file /etc/issue
prompt-waittime 500
login-prompt @!login:
login-time 240
diskspace 1024
notify faxadmin
fax-owner uucp
fax-group modem
fax-mode 0660--------------------------------
/usr/local/etc/mgetty+sendfax/login.config/AutoPPP/ - a_ppp /etc/ppp/ppp-incoming
-----------------------------------------
/etc/ppp/ppp-incoming#!/bin/sh
/usr/sbin/ppp -direct dialin-----------------------------------
/etc/ppp/ppp.confdefault:
set log Phase Chat LCP IPCP CCP tun command CBCP
ident user-ppp VERSION (built COMPILATIONDATE)
set timeout 0
enable dns
set device /dev/cuaa0
set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 60 CONNECT"
set ifaddr 192.168.0.4 192.168.0.6 255.255.255.0
set device /dev/cuaa1
set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 60 CONNECT"
set ifaddr 192.168.0.4 192.168.0.7 255.255.255.0
set device /dev/cuaa2
set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 60 CONNECT"
set ifaddr 192.168.0.4 192.168.0.8 255.255.255.0
dialin:
enable pap passwdauth
enable proxy
accept dns
set dns 192.168.0.1 192.168.0.5
set callback cbcp none
set cbcp *
enable utmp
enable lqr
Спрашивали - отвечаем.
Ну это вполне очевидно. У вас в ppp.conf в секции default прописан set device /dev/cuaa0. Получается так, что входящий звонок mgetty передает ppp. Однако он(ppp), в свою очередь, делая исходящий (callback) изпользует установки ppp.conf.Далее я думаю ход мысел как этого избежать должен быть ясен.
>Спрашивали - отвечаем.
Очевидность такого поведения мне понятна. Я спрашивал как раз о "ходе мысел" который не ясен.
>>Спрашивали - отвечаем.
>Очевидность такого поведения мне понятна. Я спрашивал как раз о "ходе мысел"
>который не ясен.напиши
set device /dev/cuaa0 /dev/cuaa1 и т.д.будет перезванивать с первого свободного, тоже парился пока не подсказали
Enjoy
SysAnd
>>Спрашивали - отвечаем.
>Очевидность такого поведения мне понятна. Я спрашивал как раз о "ходе мысел"
>который не ясен.
Спрашивали - отвечаем.
Для этого нужно создать несколько секций в ppp.conf, кажная из которых будет соответствовать определенному модему, например:
callback_cuaa0:
set device /dev/cuaa0
set callback cbcp
.....
callback_cuaa1:
set device /dev/cuaa1
.....
..........
Я думаю ясно.Далее ход мысел такой. Вспоминаем, что ppp у нас вызывается не непосредственно из mgetty, а из некоторого скрипта. В Вашем случае /etc/ppp/ppp-incoming. Для чего это делается? Как раз для нашего случая! Теперь задача сводится к вызову из этого скрипта ppp с параметром callback_cuaax, а не с дефолтным dialin как было раньше.
Как это сделать? Ну например есть такая замечательная команда - /usr/bin/tty. Ее использование в этом скрипте позволит прояснить этот вопрос. Если выдернуть нужную часть имени из ее вывода, то скрипт будет достаточно простой и подходящий для любого количества cuaax (модемов).
Я думаю, теперь все стало ясно и еще подробнее объяснять не надо.
>Как это сделать? Ну например есть такая замечательная команда - /usr/bin/tty. Ее
Именно этого мне и не хватало. Премного благодарен