Книга: Сетевые средства Linux
Конфигурация Postfix для ретрансляции писем
Разделы на этой странице:
Конфигурация 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
.