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).

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

Данный текст является ознакомительным фрагментом.