Выбрать главу

Выполняя настройку сервера, необходимо ограничиваться минимально допустимым уровнем маскировки адресов. В большинстве случаев конфигурация, установленная по умолчанию, позволяет Postfix выполнять свои функции, иногда приходится лишь скорректировать значение myorigin. Опция masquerade_domains в основном применяется в тех случаях, когда сервер принимает для передачи письма, которые уже были обработаны почтовым сервером, выполняющимся в системе Linux или UNIX. Средства преобразования адресов воздействуют не только на заголовок From:, они также затрагивают содержимое заголовка Received:. Многие администраторы неохотно используют данные средства, но в ряде случаев они могут быть очень полезны, особенно если ваши программы требуют, чтобы имена и адреса в поле From: были представлены в специальном формате.

Настройка Postfix для получения почты

Подобно другим почтовым серверам, Postfix считает локальными только адреса некоторых узлов. Чтобы определить, какой из компьютеров является локальным, Postfix использует опцию mydestination. По умолчанию для данной опции приняты значения $myhostname и localhost.$mydomain. Например, если переменная $mydomain имеет значение threeroomco.com, a $myhostnamefranklin.threeroomco.com, то Postfix будет принимать письма, направленные на компьютеры franklin.threeroomco.com и localhost.threeroomco.com.

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

mydestination = localhost, localhost.$mydomain, $myhostname,

 $mydomain

На заметку

Для того чтобы указать, что опция mydestination занимает несколько строк, символ \ использовать не надо. Строка считается продолжением предыдущей, если она начинается с пробела или знака табуляции.

Вы можете настроить сервер Postfix для обслуживания нескольких доменов, указав их посредством одной опции mydestination. В этом случае имена большинства доменов задаются явно.

Конфигурация Postfix для ретрансляции писем

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

Настройка Postfix для работы в режиме ретранслятора

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

• Отправитель находится в одной из сетей, указанных с помощью переменной $mynetworks. По умолчанию в качестве значения этой переменной заданы адреса сетей, которым принадлежат все сетевые интерфейсы компьютера, в том числе интерфейс localhost.

• Отправитель принадлежит домену, указанному в переменной $relay_domains. По умолчанию значение данной переменной равно значению переменной $mydestination.

• Отправитель пытается передать письмо на компьютер, принадлежащий одному из доменов, указанных в переменной $relay_domains, или их поддоменов.

Конфигурация по умолчанию указывает на то, что Postfix должен обрабатывать почту из того домена, которому принадлежит сам сервер, и от компьютеров, непосредственно связанных с сервером, посредством сетевых интерфейсов. В большинстве случаев такая конфигурация вполне приемлема, но иногда приходится изменять ее. Чтобы сделать это, вам надо изменить значение $mynetworks или $relay_domains (либо модифицировать обе переменные). Предположим, например, что Postfix должен обслуживать рабочую станцию work.threeroomco.com. Для этого вам надо переопределить значения переменных следующим образом:

mynetworks = 127.0.0.0/8

relay_domains = work.threeroomco.com

Возможно, вам потребуется расширить набор компьютеров, обслуживаемых сервером. В этом случае значения переменных могут выглядеть так:

mynetworks = 192.168.99.0/24, 172.24.0.0/16, 127.0.0.0/8

relay_domains = $raydestination, pangaea.edu

Данные опции сообщают о том, что письма должны приниматься из сетей 192.168.99.0/24, 172.24.0.0/16 и localhost (127.0.0.0/8), а также с компьютеров, принадлежащих доменам $mydestination и pangaea.edu.

Для управления действием mynetworks, relay_domains и некоторых других опций может использоваться опция smtpd_sender_restrictions. По умолчанию эта опция отсутствует в main.cf, но при необходимости вы можете включить ее в состав конфигурационного файла. Значение permit_mx_backup данной опции соответствует опции relay_based_on_MX сервера sendmail. Подробные сведения о smtpd_sender_restrictions вы найдете в документации на сервер Postfix.

Настройка Postfix для передачи почты через ретранслятор

В простейшем случае, чтобы сконфигурировать Postfix для передачи почты посредством другого сервера, достаточно установить значение опции relayhost. Эта опция, находящаяся в файле main.cf, указывает на компьютер, выполняющий функции ретранслятора. Если в конфигурационном файле сервера имен, управляющего доменом, присутствует запись MX, указывающая на сервер-ретранслятор, то в качестве значения опции relayhost можно задать имя этого домена. Например, если в роли ретранслятора выступает сервер, расположенный на компьютере franklin.threeroomco.com, в файл main.cf необходимо включить следующую запись:

relayhost = franklin.threeroomco.com

Если ваш сервер находится в том же домене, что и сервер-ретранслятор, и если на ретранслятор, указывает запись MX, то вместо имени franklin.threeroomco.com вы можете использовать переменную $mydomain. Такой подход предпочтительнее тем, что переносе почтового сервера, обслуживающего домен, на другой компьютер перенастраивать Postfix не приходится.

В обычных условиях при передаче почты Postfix обращается к серверу DNS. Если же сервер имен в вашей сети отсутствует (например, если преобразование имен осуществляется с помощью файлов /etc/hosts), вам необходимо включить в конфигурационный файл следующую запись:

disable_dns_lookups = yes

Эта опция указывает серверу Postfix на то, что он не должен обращаться к серверу DNS для преобразования имен. В этом случае Postfix определяет адрес ретранслятора с помощью записи в файле /etc/hosts.

Настройка Postfix для противодействия распространению спама

Подобно sendmail и Exim, Postfix содержит средства, позволяющие бороться с распространением спама. Вы можете блокировать рекламные сообщения, сравнивая информацию в заголовках писем с шаблонами, либо использовать списки IP-адресов.

Инструменты для сравнения с шаблонами, предоставляемые сервером Postfix, достаточно сложны, в частности, они позволяют использовать для анализа содержимого заголовков регулярные выражения. Регулярные выражения часто указываются в отдельном файле, но при желании вы можете задавать их непосредственно в конфигурационном файле main.cf. Пример опции, предназначенной для проверки заголовков, приведен ниже.