Россия, Казань, Казанский Национальный Исследовательский Технический Университет |
Поддержка удаленных клиентов
Настройка программы 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.
Параметр | Описание |
---|---|
-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 для автоматического определения входящих РРР-соединений, необходимо задать соответствующие настройки в файле конфигурации и создать новый файл для управления сеансом РРР. В следующем разделе описываются все необходимые параметры для автоматического обнаружения попыток удаленных клиентов установить соединение.