Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Имя характеристики — это некоторое содержательное имя, например

define
или
MASQUERADE_AS
. В качестве опций могут быть указаны имена узлов, установки, специфические для
sendmail
, например
always_add_domain
, и т.д. В определениях некоторых характеристик одинарные кавычки можно не использовать.

Внимание

Кавычки, в которые помещаются опции, на первый взгляд выглядят несколько странно: в качестве открывающей и закрывающей используются различные типы кавычек. Необходимо следить за правильным их использованием. Если вы укажете в исходном файле обычные одинарные кавычки, то либо файл не будет обработан, либо конфигурационный файл

sendmail.cf
будет
сформирован некорректно.

Помимо

sendmail.cf
, программа
sendmail
также использует при работе другие файлы.

• 

access.db
. Этот двоичный файл создается на базе текстового файла
access
. Файл
access.db
определяет, какие компьютеры могут обращаться к программе
sendmail
. Конфигурация
sendmail
в качестве ретранслятора во многом зависит от содержимого этого файла. Многие сценарии запуска
sendmail
вызывают
makemap
, и если файл
access
изменился с момента последнего создания
access.db
, автоматически генерируется новый файл
access.db
.

• 

aliases.db
. Этот двоичный файл также создается на базе текстового файла с аналогичным именем (
aliases
). Он определяет псевдонимы — имена, эквивалентные другим именам. Так, например, во многих дистрибутивных пакетах для пользователя
root
определяется псевдоним
postmaster
. Возможно, вы захотите создать псевдоним для
root
, чтобы просматривать почту суперпользователя посредством обычной учетной записи. Подобно файлу
access.db
, при выполнении многих сценариев запуска файл
aliases.db
генерируется автоматически.

Рассмотренные выше файлы обычно размещаются в каталоге

/etc
или
/etc/mail
. Кроме того, в этом каталоге находятся другие файлы баз данных, определяющие особенности работы
sendmail
.

Маскировка адреса sendmail

Если вы хотите, чтобы сервер SMTP объявлял себя посредством имени, отличающегося от имени компьютера, на котором он выполняется, вам необходимо сконфигурировать сервер для выполнения маскировки адреса. Принцип маскировки адреса был описан выше в этой главе. Для активизации механизма маскировки адреса вам надо включить в исходный файл m4 следующие две строки:

MASQUERADE_AS(`требуемый_адрес')

FEATURE(masquerade_envelope)

Запись

MASQUERADE_AS
активизирует базовые средства маскировки, которые включают адрес в поле заголовка
From:
в случае, если пользовательская программа не задает имя узла. Поскольку большинство почтовых программ корректно заполняет это поле, данное средство в основном используется, если пользовательская программа сконфигурирована неправильно. Запись
FEATURE(masquerade_envelope)
изменяет поле
From:
, даже если в нем был задан адрес узла.

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

MASQUERADE_DOMAIN(`домен-источник')

FEATURE(`limited_masquerade')

Эти опции сообщают

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

Настройка

sendmail
для получения почты

Когда удаленный сервер передает почту вашему серверу, письма адресованы конкретным пользователям, работающим на определенных компьютерах. Чтобы обеспечить доставку локальной почты, программа

sendmail
должна распознавать локальные адреса.
Почтовый сервер
sendmail
поддерживает файл, в котором указываются адреса локальных узлов. В различных дистрибутивных пакетах для данного файла используются разные имена. В Red Hat это файл
/etc/mail/local-host-names
, а в SuSE —
/etc/sendmail.cw
. Если вам не удается обнаружить его, найдите в
sendmail.cf
запись, которая начинается символами
Fw
. Эта запись содержит имя файла, в котором указаны имена локальных узлов. Независимо от имени, содержимое файла представляет собой набор строк, в каждой из которых задано имя узла. Строки, начинающиеся с символа
#
, считаются комментариями.

Работа в режиме ретранслятора

Как было сказано ранее, ретрансляция является важным режимом работы почтового сервера. Как правило, настраивая

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

Настройка
sendmail
для ретрансляции писем

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

По умолчанию почтовый сервер, инсталлированный в сети, не настроен для работы в качестве ретранслятора. При попытке передать письмо на сервер программа подготовки почты получит в ответ сообщение "

relaying denied
" ("ретрансляция запрещена"). Для того чтобы программа
sendmail
работала в качестве ретранслятора, надо активизировать соответствующие компоненты. В частности, в исходном конфигурационном файле необходимо задать записи
FEATURE
, указав в них следующие опции.

• 

relay_entire_domain
. Если указана данная опция,
sendmail
принимает сообщения из своего домена, а также письма, адресованные пользователям в его домене. Для определения принадлежности к домену
sendmail
использует сервер DNS. Опция
relay_entire_domain
представляет собой удобное средство обеспечения ретрансляции.

• 

relay_local_from
. Эта опция указывает серверу
sendmail
, что он должен принимать все письма, из содержимого поля
From:
которых следует, что они передаются из локального домена. От предыдущей опции
relay_local_from
отличается тем, что для принятия решения об обработке письма используется лишь адрес в поле
From:
, посредством которого система представляется другим компьютерам. Этот адрес может достаточно просто быть фальсифицирован. Данная опция не обеспечивает приемлемого уровня защиты от спама.

• 

relay_based_on_MX
. Данная опция означает, что сервер
sendmail
должен принимать письма в том случае, если в домене, которому принадлежит отправитель, присутствует запись
MX
, содержащая указание на этот сервер. Опция
relay_based_on_MX
обеспечивает простой и удобный способ управления ретрансляцией. Чтобы настроить почтовый сервер для поддержки еще одного домена, не надо вносить изменения в конфигурационные файлы
sendmail
, достаточно лишь изменить конфигурацию сервера DNS. Однако подобный подход имеет существенный недостаток. Спамеры, поддерживающие собственные домены, могут легко создать запись
MX
и использовать ваш сервер в своих целях.

Поделиться с друзьями: