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

Подключение почтового сервера к провайдеру Internet

Коммутируемое UUCP-соединение с использованием почтовой очереди на сервере провайдера

В последней схеме, которую мы рассмотрим, в качестве протокола для установки соединения с почтовым сервером провайдера используется протокол UUCP. Работа по этой схеме предполагает накопление исходящих сообщений в очереди UUCP на почтовом сервере под управлением ОС Linux и дальнейшую их передачу при установлении UUCP-соединения. Точно так же вся почта, адресованная на ваш почтовый сервер, накапливается в очереди на сервере провайдера и передается при наличии UUCP-соединения на ваш почтовый сервер. На рис. 13.5 представлена схема обмена почтой при работе по UUCP-соединению.

Схема работы почтового сервера под управлением ОС Linux с использованием коммутируемого UUCP-соединения и почтовой очереди на сервере провайдера

увеличить изображение
Рис. 13.5. Схема работы почтового сервера под управлением ОС Linux с использованием коммутируемого UUCP-соединения и почтовой очереди на сервере провайдера
Настройка UUCP-соединения

Очевидно, что для подключения вашего почтового сервера на базе ОС Linux к серверу провайдера Internet по протоколу UUCP на нем должно быть установлено программное обеспечение для работы с UUCP. Стандартным пакетом для работы с UUCP на платформе Linux является программный пакет Taylor UUCP. В большинство дистрибутивов ОС Linux он входит в виде бинарного пакета, который легко установить на своем сервере. В Mandrake Linux 6.0 этот пакет представлен в виде файла uucp-1.06.1-10mdk.i586.rpm. Для его установки можно использовать стандартную программу rpm.

Если же в имеющейся у вас версии Linux отсутствуют программные пакеты для работы с UUCP, можно получить исходный код таких программ на сервере sunsite.unc.edu в каталоге /pub/linux/systems/network/uucp. В настоящее время доступен файл uucp-1.05.tar.gz, где содержится программное обеспечение для работы с UUCP. В "Протокол UUCP" , "Протокол UUCP", вы найдете подробные инструкции о том, как скомпилировать исходный код и установить этот пакет на своем сервере.

После того как вы установите программный пакет Taylor UUCP, его необходимо сконфигурировать для работы с сервером UUCP провайдера. Все настройки в пакете Taylor UUCP осуществляются в четырех файлах конфигурации. Обычно эти файлы находятся в каталоге /etc/uucp. Первый из них — файл config — определяет имя узла для локального почтового сервера на базе ОС Linux. В листинге 13.9 приведен пример этого файла конфигурации.

nodename smallorg
Листинг 13.9. Пример файла config для Taylor UUCP

Следующий файл, необходимый для работы UUCP, — файл sys. В файле sys описываются все удаленные UUCP-узлы, с которыми ваш почтовый сервер может устанавливать UUCP-соединение. В нашем случае достаточно указать сервер UUCP провайдера. В листинге 13.10 приведен пример файла sys.

1 system ispmail
2 time Any
3 phone 555-1234
4 port modem
5 speed 38400
6 chat ogin: rich word: guitar
Листинг 13.10. Пример файла sys для Taylor UUCP

В строке 1 листинга 13.10 описывается удаленный узел UUCP, с которым ваш почтовый сервер буде поддерживать связь. Вы должны заменить это имя на имя сервера UUCP вашего провайдера. В строке 2 задается время суток, когда разрешена установка соединения. Так, например, в нашем случае нет ограничений по времени, т.е. серверы могут соединяться в любое время. В строке 3 указывается номер телефона, по которому вы будете вызывать сервер провайдера. Этот номер также нужно заменить на тот, что укажет провайдер. В строке 4 указывается ссылка на файл port, который используется при установлении соединения. В строке 5 определяется скорость обмена данными. Строка 6 определяет последовательность chat при регистрации на сервере UUCP провайдера. Эти данные также следует получить у своего провайдера.

На третий файл конфигурации имеется ссылка в файле sys. Как вы уже догадались, это файл port. В этом файле описываются параметры портов и модемов, которые могут применяться в пакете Taylor UUCP для установки UUCP-соединения. В листинге 13.11 приведен пример файла port.

1 port modem
2 type modem
3 device /dev/ttyS1
4 speed 38400
5 dialer normal
Листинг 13.11. Пример файла port для Taylor UUCP

В строке 1 листинга 13.11 определяется имя порта, на который имеется ссылка в файле sys. В строке 2 определяется тип порта, используемого при установке UUCP-соединения. В нашем случае при подключении к удаленному серверу UUCP используется модем. В строке 3 определяется имя устройства, к которому подключен модем. В нашем случае модем подключен к устройству ttyS1, что означает второй последовательный порт на сервере. В строке 4 указывается скорость обмена данными с модемом, а в строке 5 —режим дозвона из файла dial, который используется для связи с модемом.

И последний файл конфигурации UUCP — dial. Файл dial используется в сценарии для обмена данными с модемом и при установлении соединения с удаленным сервером UUCP. В листинге 13.12 приведен пример этого файла.

1 dialer normal
2 chat "" ATZ OK ATDT\T CONNECT
Листинг 13.12. Пример файла dial для Taylor UUCP

В строке 1 листинга 13.12 описывается режим дозвона, указанный в файле port. В строке 2 представлен сценарий chat для соединения с удаленным сервером UUCP. Переменная \T используется для вставки номера телефона, указанного в файле sys.

После создания файлов конфигурации для Taylor UUCP необходимо установить UUCP-соединение с сервером UUCP провайдера. Для этого воспользуйтесь командой:

/usr/sbin/uucico -s ispmail,

где ispmail — имя узла UUCP провайдера. После ввода этой команды модем дозванивается на сервер UUCP провайдера и устанавливает с ним соединение по протоколу UUCP. Если сообщений для передачи нет, то соединение должно быть сразу же разорвано. Все сеансы работы UUCP должны заноситься в файл отчета log, соответствующий вашему дистрибутиву ОС Linux. В Mandrake Linux файл отчета о работе UUCP находится в /var/log/uucp/Log.

Конфигурация sendmail

Конфигурация программы sendmail для работы по рассматриваемой схеме почти не отличается от двух предыдущих. Поскольку при работе с UUCP локальный почтовый сервер не получает прямого соединения с сетью Internet, то для доставки исходящих сообщений необходимо использовать интеллектуальный хост. Единственное отличие этой схемы подключения от предыдущих заключается в том, что почтовый сервер должен соединяться с интеллектуальным хостом по протоколу UUCP. Обратите внимание, что и в данном случае программа sendmail должна обеспечить отправку сообщений от пользователей локальной сети. В листинге 13.13 представлен пример файла макросов, из которого можно получить полнофункциональный файл sendmail.cf.

1 divert(-1)
2 divert(0)dnl
3 include('/usr/lib/sendmail-cf/m4/cf.m4')dnl
4 OSTYPE('linux')dnl
5
6 FEATURE('allmasquerade')dnl
7 FEATURE('masquerade_envelope')dnl
8 FEATURE('local_procmail', '/usr/bin/procmail')dnl
9 FEATURE('access_db', '/etc/mail/access.db')dnl
10 FEATURE('nocanonify')dnl
11
12 MAILER('smtp')dnl
13 MAILER('procmail')dnl
14 MAILER('uucp')dnl
15
16 MASQUERADE_AS('smallorg.org')dnl
17 define('SMART_HOST', 'uucp-dom:ispmail')dnl
Листинг 13.13. Пример файла макросов для работы по UUCP

Как видите, строки 1–13 листинга 13.13 полностью совпадают со строками файлов макросов для двух предыдущих схем подключения. В строке 14 sendmail указывается, что при выполнении своих функций она должна использовать протокол UUCP. В строке 17 определяется интеллектуальный хост ispmail, подключение к которому осуществляется с помощью протокола uucp-dom. Это специальный формат протокола UUCP, используемый программой sendmail для передачи почты по протоколу UUCP с сохранением SMTP-заголовков сообщений.

После этого, как и в предыдущих случаях, программу sendmail следует запустить в фоновом режиме. Для того чтобы программа sendmail запускалась при загрузке системы, воспользуйтесь программой linuxconf, окно которой приведено на рис. 13.2.

Автоматизация получения почты

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

В таблице cron для запуска через определенные интервалы времени следует задать два сценария. Во-первых, в ней нужно задать программу uucico. Эта программа используется для вызова удаленного узла UUCP. Укажите программе вызывать удаленный хост UUCP несколько раз в сутки. Можно даже вручную создать файл запроса в очереди UUCP на вашем сервере, что вынудит uucico вызвать сервер UUCP провайдера. Этот файл можно создать непосредственно перед запуском программы uucico. Завершив работу, программа uucico удаляет файл из очереди. В листинге 13.14 представлены файлы сценариев, согласно которым осуществляется вызов сервера UUCP провайдера.

14,29,44,59 * * * * /usr/sbin/touch/var/spool/uucp/ispmail/C./C.ispmailA0000
0,15,30,45, * * * * /usr/sbin/uucico -s ispmail
Листинг 13.14. Пример файла cron для работы по UUCP

Первая строка указывает на файл вызова удаленного хоста UUCP ispmail. Вы можете заменить имя узла UUCP на имя сервера UUCP провайдера, чтобы получить файл вызова для вашей почтовой системы на базе ОС Linux. При запуске uucico в качестве параметра также следует указать имя узла UUCP, т.е. сервер UUCP провайдера.

При такой настройке почтовый сервер на базе ОС Linux будет вызывать сервер UUCP провайдера каждые 15 минут в течение суток. Если вы платите провайдеру за работу по UUCP, то, возможно, вам придется сделать несколько записей в cron-таблице: одну с частыми интервалами в бизнес-время (с 9 до 18) и вторую с менее частыми интервалами вызова (в нерабочее время).

При использовании такой схемы почта собирается и при наличии UUCP-соединения передается одним пакетом. Почта, принимаемая от пользователей локальной сети по протоколу SMTP, также собирается и передается затем пакетами на интеллектуальный хост. Почта, принимаемая для вашего домена из сети Internet, хранится в UUCP-очереди на почтовом сервере провайдера и передается на ваш локальный сервер электронной почты при наличии UUCP-соединения.

Резюме

В этой лекции нами рассмотрены вопросы, которые администратор почтовой системы должен решить перед установкой почтового сервера. Существует несколько путей реализации хостинга доменных имен, хостинга почты и подключения к провайдеру Internet. Здесь также рассмотрены четыре основные схемы обмена почтой через сервер электронной почты провайдера между локальным почтовым сервером на базе ОС Linux и сетью Internet. Для получения и отправки почты в режиме реального времени желательно использовать выделенное соединение с сетью Internet. Работа по коммутируемым линиям также может обеспечить быструю доставку электронной почты, но прием сообщений происходит с некоторой задержкой, поскольку сообщения помещаются в очередь на сервере провайдера и поступают на локальный почтовый сервер лишь через определенные промежутки времени. Однако такая схема подключения обходится намного дешевле, чем выделенное соединение. Еще одна схема подключения почтового сервера к сети Internet основана на применении протокола UUCP в качестве транспортного протокола для электронной почты. Для передачи между узлами сети по протоколу UUCP входящие и исходящие сообщения собираются в пакеты. Часто для небольших организаций поддержка UUCP-соединения — оптимальный вариант для работы с большими объемами почты из сети Internet. Иногда работа по протоколу UUCP оказывается самым дешевым способом подключения к сети Internet.