В этой главе будут рассмотрены два варианта настройки системы callback. Второй вариант более простой и удобный для клиентов: для установления соединения не нужно никаких скриптов, но этот способ почему-то не всегда корректно работает. Первый требует специальной настройки клиентов, но работает в большинстве случаев. Я рекомендую вам поступить следующим образом: ознакомиться с обоими способами, а начать настройку сначала со второго способа и, если он у вас не будет работать, перейти к настройке первого.
17.3.2. Настройка сервера. Способ1
Приступим к настройке по первому способу. Как я уже отмечал, этот способ предполагает дополнительную настройку клиентов, что не очень удобно. Например, если вы являетесь администратором компании-провайдера Интернет, и у вас несколько сотен пользователей, настраивать все машины, даже если эта работа оплачивается, не очень хочется. Можно, конечно, распечатать подробные инструкции для клиентов, но ведь существуют и такие пользователи, которые и обычный доступ настроить не в состоянии.
Я предполагаю, что программы mgetty и pppd у вас уже настроены и сам сервер удаленного доступа нормально функционирует. Напомню, что установка и настройка программы mgetty была подробно рассмотрена в предыдущем п. 17.2.
При сборке программы mgetty нужно включить опцию автоматического распознания pap-авторизации. Если вы этого не сделали, сейчас самое время это сделать. Если вы установили mgetty из пакетов RPM, то можете пропустить инструкции по включению этой функции. Хотя если у вас все-таки функция DAUTO_PPP работать не будет, даже при установке из пакетов RPM, вам придется пересобрать программу самостоятельно. Исходные тексты программы mgetty доступны по адресуПосле распаковки копируем файл policy.h-Dist в файл policy.h. В этом файле нужно сделать определенные изменения, которые подходят для вашей системы. В большинстве случаев нужно изменить расположение каталогов или же вообще ничего не изменять.
Теперь нужно включить автоматическое распознавание pap-авторизации. Для этого в файле Makefile найдите строку:
CFLAGS=-02 -Wall -pipe
и измените ее на:
CFLAGS=-02 –Wall –pipe –DOFIDO –DOAUTO_PPP
В этом же файле можно изменить установочные каталоги, но я не рекомендую этого делать. Оставьте все как есть: SBINDIR=/sbin, BINDIR=/bin
После этого выполните две команды, которые откомпилируют и установят mgetty:
make all
make install
Теперь перейдите в каталог callback каталога, который содержит исходные тексты mgetty. Скопируйте программу callback в каталог /usr/sbin, а файл callback, config — в каталог /etc/mgetty+sendfax. Отредактируем файл /etc/mgetty+sendfax/login.conf. Раньше (при условии, что вы настраивали сервер удаленного доступа) он у вас содержал примерно такую строку:
/AutoPPP/– a_ppp /etc/ppp/ppplogin
Сейчас эту строку нужно изменить на следующую:
/AutoPPP/ – а_ррр /usr/sbin/pppd noauth –chap +pap –detach
При обнаружении входящего звонка mgetty передаст управление демону pppd. Добавим в файл mgetty.config описание порта, к которому подключен модем (см. листинг 17.13).
port ttyS0
# режим для приема только данных
# (отключает факсимильные возможности)
dataonly у
# Строка инициализации модема
init-chat "" AT OK
# Здесь можно задать строку инициализации модема
# Реинициализация модема
force-init-chat "" AT OK
Теперь нужно отредактировать файл /etc/ppp/options.ttyS0 (см. листинг 17.14). В этом файле вы укажите параметры порта ttyS0.
# Максимальная скорость передачи данных
38400
# Аппаратный контроль передачи
crtscts
# Блокировка устройства ttyS0
lock
# Режим коммутируемой линии
modem
# IP-адреса сервера и клиента соответственно
192.168.1.1:192.168.1.207
# IP-адрес сервера DNS. Этот параметр обязателен для Windows-клиентов
ms-dns 192.168.1.1
# Интервал отправления LCP-пакетов
lcp-echo-interval 20
# Количество не принятых LCP-пакетов
lcp-echo-fallure 6
# Размеры пакетов
mtu 576
mru 576