Книга: Linux-сервер своими руками

17.3.3. Настройка сервера.Способ 2

17.3.3. Настройка сервера.Способ 2

Второй способ, как я уже говорил, обладает неоспоримыми преимуществами. Во-первых, вам не нужно будет писать никакие сценарии для Windows-клиентов. Во-вторых, вы сможете самостоятельно определить, какие пользователи будут использовать функцию callback, а какие — нет.

Но и этот способ имеет свои недостатки. Хорошо, что существенный недостаток только один — невозможна авторизация, основанная на сценариях, как в первом способе, а иногда она бывает очень даже полезной. И еще один небольшой недостаток: нужно установить дополнительный патч к демону pppd, а так как патчи не всегда успевают за версиями pppd, то приходится использовать более старую версию pppd.

Сначала нужно выкачать патч к pppd, который реализует поддержку callback. Он доступен по адресу: http://www.pbko.sk/~bobovsky/archiv/pppd-cbcpS-callback/ine-contrib/ppp-2.x.n.CBCP.patch. Числа х и 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).

Листинг 17.15. Файл /etc/ppp/callback-users

# 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
* –

Первый пользователь — cbuser. Согласно опции * — это пустое определение пользователя — для тестирования. Второй пользователь user — это реальное определение пользователя, телефон для обратного звонка — 320779. Все остальные пользователи не будут использовать функцию callback — опция «-».

С помощью команды chmod сделайте сценарии callback-server и callback-client исполнимыми. После этого необходимо немного отредактировать скрипт callback-server (см. листинг 17.16).

Листинг 17.16. Файл /etc/ppp/callback-users

#!/bin/sh
# Script callback-server
# Script parameters: delay time in seconds, callback number
DELAY="$1"
NUMBER="$2"
/usr/sbin/chat –v –t 2 "" ATH0
sleep $DELAY
/usr/sbin/chat –v "" AT OK ATS39=5DT$NUMBER CONNECT

Данная конфигурация уже должна работать, но иногда модем не успевает инициализироваться, поэтому после команды sleep $DELAY следует добавить еще одну команду sleep, например, sleep 25. Обратите внимание: используется тональный набор (АТ-команда DT). Напомню, что для импульсного набора используется команда DP (ATDP).

Вот и все, осталось только проверить корректность работы сервера.

Оглавление книги


Генерация: 0.628. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз