Опубликован: 21.11.2006 | Доступ: свободный | Студентов: 1811 / 140 | Оценка: 4.09 / 4.00 | Длительность: 38:34:00
Лекция 16:

Поддержка удаленных клиентов

Настройка программы mgetty

Одна из проблем, возникающих при работе с программой uugetty, заключается в том, что каждый удаленный пользователь должен создавать собственный сценарий chat для входа на почтовый сервер, где предусмотрен запуск программы pppd.

На рабочих станциях под управлением ОС Microsoft Windows 95, 98 и NT 4.0 имеется программное обеспечение для автоматической поддержки протокола РРР при обеспечении доступа для удаленных абонентов. Желательно использовать эту возможность на рабочих станциях клиентов — это упростит процесс установления РРР-соединения с почтовым сервером под управлением ОС Linux. Для установления РРР-соединения с ОС Linux необходимо использовать программу mgetty+sendfax.

В "Протокол РРР" дается краткая характеристика программы mgetty+sendfax, написанной Гертом Доерингом (Gert Doering). Программа mgetty способна автоматически обнаруживать входящие факсовые и РРР-соединения. Вы можете использовать ее свойства для поддержки удаленных клиентов на базе ОС Microsoft Windows 95, 98 и NT 4.0. Начальная страница, на которой размещена программа mgetty+sendfax и вопросы ее поддержки, находится по адресу:

http://alpha.greenie.net/mgetty/

Последняя анонсированная версия этой программы — 1.0.0. Тестовая версия на момент написания книги — 1.1.21. В большинство дистирибутивов ОС Linux входит бинарный пакет с программой mgetty+sendfax. Вы можете также получить его последнюю версию из каталога /pub/Linux/system/serial на FTP-сервере sunsite.unc.edu.

Установка mgetty

Если ваш дистрибутив ОС Linux содержит готовый к установке бинарный пакет программы mgetty+sendfax, то вы можете установить его с помощью специальной программы установки RPM:

rpm -Uvh mgetty-sendfax-1.1.14-9mdk.i586.rpm

Если же программа получена через Internet, то исходный код программы необходимо распаковать и скомпилировать. Для этого надо сделать следующее.

  • Извлечь из архива исходный код программы mgetty+sendfax:
    tar -zxvf mgetty+sendfax-1.0.0.tar.gz
  • Сменить рабочий каталог на вновь созданный каталог mgetty-1.0.0.
  • Отредактировать файл policy.h-dist в соответствии с конкретными условиями и скопировать его в файл policy.h.
  • Запустить утилиту GNU make.
  • Запустить еще раз утилиту GNU make, но с параметром testdisk.
  • Войти в систему под именем root и задать команду make install, по которой все выполняемые модули будут помещены в соответствующие места.

После компиляции и установки программу mgetty+sendfax необходимо задать в файле /etc/inittab в качестве процесса, управляющего работой модема. Формат команды на запуск mgetty следующий:

mgetty [options] ttydevice,

где options — параметры mgetty, управляющие работой модема, а ttydevice — линия, которую будет обслуживать mgetty. В табл. 16.4 представлены все возможные параметры для mgetty.

Таблица 16.4. Параметры mgetty
Параметр Описание
-x LEVEL Устанавливает уровень отладки, равный LEVEL
-s SPEED Устанавливает скорость работы в линии, равной SPEED
-a Автоматически определять скорость передачи в линии
-k SPACE Устанавливает размер входного буфера при передаче факса SPACE Кбайт
-m 'EXPECT SEND' Определяет сценарий chat для инициализации модема
-r Используется для обозначения линии прямой связи (выделенной линии)
-p LOGIN_PROMPT Устанавливает оболочку для входа на сервер по модемной линии
-n RINGS Устанавливает количество входных звонков, после которых модем должен поднять трубку
-D Переключает модем в режим передачи данных
-F Переключает модем в режим передачи факсовых сообщений
-R SEC Разрешает обратный звонок — вызывающая сторона должна повторить звонок
-i 'issue' Выводит на экран содержимое файла issue после установления соединения
-S 'FAX DOC' Определяет факсовый документ по умолчанию, который будет посылаться по запросу от другого факса

Строка для работы с программой mgetty в файле /etc/inittab должна выглядеть примерно так:

s1:12345:respawn:/sbin/mgetty -D -s 38400 -n 4 ttyS0

Приведенная в примере строка показывает использование программы mgetty для работы на линии /dev/ttyS0 со скоростью 38400 бит/с. При этом модем будет отвечать на входной звонок только после четвертого сигнала.

Однако будьте осторожны при использовании mgetty. В отличие от программы uugetty, которая устанавливает модем в режим автоматического ответа на входные звонки, mgetty ожидает появления строки RING, обозначающей приход входного звонка от модема, и лишь затем поднимает трубку для ответа. С одной стороны, это удобно, так как при зависании программы uugetty модем будет находиться в режиме автоматического ответа на входные звонки. Однако он не сможет организовать сеанс РРР. При зависании программы mgetty модем не будет отвечать на входные звонки. И светодиодный индикатор режима автоматического ответа на нем не будет светиться. Не волнуйтесь — это всего лишь полезное свойство программы mgetty, а не неисправность модема.

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