Интервал отправления LCP-пакетов и количество не принятых LCP-пакетов нужны серверу для определения функционирования клиента, то есть с помощью этих параметров pppd определяет «жив» или нет клиент. Если на протяжении последних 120 секунд (20*6) клиент не прислал подтверждения, то сервер разорвет связь.
Запустите mgetty, как обычно — через файл /etc/inittab:
S0:35:respawn:/sbin/mgetty –D –n 1 /dev/ttyS0 38400
Напомню, что S0 — это просто идентификатор, и вы можете использовать любое другое значение. 3,5 — это уровни запуска. Параметр –D программы mgetty указывает ей отключить все факсимильные возможности модема, а параметр –n 1 заставляет mgetty подымать трубку после первого звонка.
Теперь нужно запустить (перезапустить) mgetty. Для этого выполните команду init q. Также можно воспользоваться командой killall –1 init.
После этого на вашем модеме должна загореться лампочка DTR. Если этого не произошло, смотрите файл /var/log/messages — вы что-то сделали неправильно.
Помните, в самом начале я упомянул некоторое «волшебное» слово. Допустим, что этим «волшебным» словом будет слово «пожалуйста» (please). Вот его-то и нужно записать в файл login.config:
please – – /usr/sbin/callback –s 38400
Я позволил себе немного пошутить относительно выбора этого самого слова. Разницы, конечно, нет никакой — вы можете в качестве этого слова установить все, что вам угодно — даже свое имя. Обычно используются слова «callback» или «cbuser» (callback user). После этого снова следует перезапустить mgetty.
Вот, собственно, в чем заключается первый способ настройки. Сейчас рассмотрим второй способ, а в пункте «Настройка клиентов» будем настраивать Windows-клиенты.
17.3.3. Настройка сервера.Способ 2
Второй способ, как я уже говорил, обладает неоспоримыми преимуществами. Во-первых, вам не нужно будет писать никакие сценарии для Windows-клиентов. Во-вторых, вы сможете самостоятельно определить, какие пользователи будут использовать функцию callback, а какие — нет.
Но и этот способ имеет свои недостатки. Хорошо, что существенный недостаток только один — невозможна авторизация, основанная на сценариях, как в первом способе, а иногда она бывает очень даже полезной. И еще один небольшой недостаток: нужно установить дополнительный патч к демону pppd, а так как патчи не всегда успевают за версиями pppd, то приходится использовать более старую версию pppd.
Сначала нужно выкачать патч к pppd, который реализует поддержку callback. Он доступен по адресу:Числа х и n — это номера версии демона pppd. Выкачивайте самую последнюю версию. Если у вас версии pppd старше, чем версия патча, вам придется установить более старую версию pppd. Различные версии pppd доступны по адресу ftp://ftp.linuxcare.com.au/pub/ppp/
Для обновления pppd (установки патча) используйте команду:
patch –pi < ррр-2.3.10.СВСР.patch
Данная команда обновляет исходные тексты pppd (предварительно их нужно выкачать и установить). Эта же команда создает файлы:
/etc/ppp/callback-users
/etc/ppp/callback-client
/etc/ppp/callback-server
В первом из них нужно будет прописать всех пользователей, которым будет доступна функция обратного звонка. Второй нужен для работы у Linux-клиента функции callback. А третий управляет сервером обратного звонка.
Затем перейдите в каталог с исходными текстами pppd и введите три команды:
./configure
make
make install
После установки pppd нужно настроить mgetty. Напомню, что программа mgetty должна быть собрана с поддержкой функции –DAUTO_PPP (автоматическая ррр-авторизация).
Далее отредактируйте файл /etc/mgetty+sendfax/login.conf. Он должен содержать одну строку:
/AutoPPP/ — а_ррр /usr/sbin/pppd auth –chap +pap login callback-server
После этого пропишите своих пользователей в файле callback-users (см. листинг 17.15).
# User list for callback
# Username option
# option — no callback
# option * or empty user defined
# option other admin defined: this number
# in username * and ? wildcards valid, callback uses the best fit
# Examples:
# zotyo 67435 # user zotyo admin defined, number 67453
# gates – # gates not called back may *
cbuser *
user 320779
* –