Статус Microsoft Small Business Specialist

Microsoft Licensing Partner

Контактная информация (000) 000-00-00

Классы адресов в Postfix

Версия для печати

Классы адресов в Postfix


Введение

В Postfix версии 2.0 появилась концепция классов адресов (address classes). Это нововведение позволяет группировать адреса получателей по способу доставки почты. Идея классов адресов возникла в дискуссиях с Виктором Духовным (Victor Duchovni). Несмотря на то, что данная концепция вносит некоторую несовместимость со старыми версиями, она позволяет улучшить поддержку почтового хостинга (hosted domains) и работу с неизвестными получателями (unknown recipients).

В этом документе охвачены следующие темы:

Для чего используются классы адресов?

Зачем понадобились классы адресов? Это метод, с помощью которого Postfix решает, какую почту принимать и каким образом ее доставлять. Иными словами, классы адресов являются важным компонентом в работе Postfix.

Класс адресов состоит из трех элементов:

  • Список доменов, являющихся членами класса. Например, все local domains или все relay domains.

  • Основной метод доставки. Например, локальный (local) или smtp агент доставки. Это упрощает конфигурирование Postfix.

  • Список разрешенных адресов получателей для класса адресов. SMTP сервер Postfix отклоняет недопустимые адреса получателей с сообщением "User unknown in <name of address class here> table" (Пользователь неизвестен в таблице <имя класса адресов>). Это способствует избавлению от засилия сообщений MAILER-DAEMON-а, информирующих о невозможности доставки в очереди Postfix.

Какие классы адресов реализованы в Postfix?

Изначально список классов адресов жестко прописан в коде (hard coded), но он рассчитан на то, чтобы стать расширяемым. Ниже приведен список классов с коротким описанием предназначения каждого из них. Также указаны основные конфигурационные параметры для каждого класса.

Класс локальных доменов (local domain class).

  • Цель: финальная доставка для традиционных учетных записей UNIX и традиционных алиасов в стиле Sendmail. Этот класс зачастую используется для канонических доменов (canonical domains) машины. Описание различий между canonical domains, hosted domains и другими дано в документе VIRTUAL_README.

  • Имена доменов указаны в параметре mydestination. Класс доменов также включает почту для [email protected][ip-адрес], когда IP адрес указан в параметрах inet_interfaces или proxy_interfaces.

  • Разрешенные адреса получателей указаны в параметре local_recipient_maps, как это описано в документе LOCAL_RECIPIENT_README. SMTP сервер Postfix отклоняет недопустимые адреса получателей с сообщением "User unknown in local recipient table"(Пользователь неизвестен в таблице локальных получателей). Если параметр local_recipient_maps пуст, то почтовый сервер Postfix принимает любой адрес получателя, принадлежащий классу локальных доменов (local domain class).

  • Транспорт для доставки почты указан в параметре local_transport. Значение по умолчанию local:$myhostname для доставки с помощью агента доставки local(8).

Класс виртуальных алиасов (virtual alias domain class).

  • Цель: hosted domains, где каждый адрес получателя "алиасится" на локальную учетную запись UNIX или на удаленный адрес. Пример виртуального алиасинга (virtual alias example) содержится в документе VIRTUAL_README.

  • Имена доменов указаны в параметре virtual_alias_domains. Значение по умолчанию - $virtual_alias_maps для совместимости с Postfix 1.1.

  • Разрешенные адреса получателей указаны в параметре virtual_alias_maps. SMTP сервер Postfix отклоняет недопустимые адреса получателей с сообщением "User unknown in virtual alias table" (Пользователь неизвестен в таблице виртуальных алиасов). Значение по умолчанию - $virtual_maps для совместимости с Postfix 1.1.

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

Класс виртуальных почтовых ящиков (virtual mailbox domain class).

  • Цель: финальная доставка для почтового хостинга доменов, hosted domains. Каждый адрес получателя может иметь свой почтовый ящик, пользователи не обязаны иметь учетную запись UNIX. Пример виртуальных почтовых ящиков (virtual mailbox example) содержится в документе VIRTUAL_README.

  • Имена доменов указаны в параметре virtual_mailbox_domains. Значение по умолчанию - $virtual_mailbox_maps для совместимости с Postfix 1.1.

  • Разрешенные адреса получателей указаны в параметре virtual_mailbox_maps. SMTP сервер Postfix отклоняет недопустимые адреса получателей с сообщением "User unknown in virtual mailbox table" (Пользователь неизвестен в таблице виртуальных почтовых ящиков). Если параметр virtual_mailbox_maps пуст, то Postfix принимает адреса получателей, принадлежащие доменам из $virtual_mailbox_domains.

  • Транспорт для доставки почты указан в параметре virtual_transport. Значение по умолчанию virtual, т.е. доставка выполняется агентом virtual(8).

Класс адресов для пересылки (relay domain class).

  • Цель: пересылка почты различным доменам, для которых ваш почтовый сервер выполняет роль первичного или запасного MX хоста. Для ознакомления с основными моментами конфигурации обратитесь к документу Базовая конфигурация Postfix. Описание различий между canonical domains, hosted domains и других дано в документе VIRTUAL_README.

  • Имена доменов указаны в параметре relay_domains.

  • Разрешенные адреса получателей указаны в параметре relay_recipient_maps. SMTP сервер Postfix отклоняет недопустимые адреса получателей с сообщением "User unknown in relay recipient table" (Пользователь неизвестен в таблице получателей для пересылки). Если параметр relay_recipient_maps пуст, то Postfix SMTP сервер принимает все адреса получателей, принадлежащие доменам из relay_domains.

  • Транспорт для доставки почты указан в параметре relay_transport. Значение по умолчанию relay является клоном агента доставки smtp(8).

Класс по умолчанию (default domain class).

  • Цель: отправка писем в интернет от авторизованных клиентов. Для ознакомления с основными моментами конфигурации обратитесь к документу Базовая конфигурация Postfix. Описание различий между canonical domains, hosted domains и других дано в документе VIRTUAL_README.

  • В этом классе нет таблицы доменов назначения.

  • Этот класс не содержит таблицы допустимых адресов получателей.

  • Основной способ доставки указан в параметре default_transport. Значение по умолчанию smtp, т.е. доставка произодится агентом smtp(8).

Улучшения по сравнению с Postfix версии 1.1

Введенные в Postfix 2.0 классы адресов сделали возможными следующие улучшения по сравнению с более старыми версиями Postfix:

  • Вам больше не нужно указывать все виртуальные почтовые домены (virtual(8) mailbox domains) в транспортной карте Postfix. Агент доставки virtual(8) теперь функционирует для класса адресов, как агенты local(8) или smtp(8).

  • На почтовых гейтвеях классы адресов позволяют разделить траффик входящей ($relay_transport) и исходящей почты ($default_transport). Это предотвращает возникновение ситуации, когда не хватает ресурсов для приема почты в связи с огромным объемом исходящей корреспонденции.

  • SMTP сервер отклоняет неизвестные адреса получателей более последовательным и согласованным образом, чем это было возможно в Postfix версии 1. Это необходимо для того, чтобы почтовая очередь не засорялась <отрикошеченной, bounced> почтой, которая не может быть доставлена. Контролируется это параметром smtpd_reject_unlisted_recipient.

  • Что касается Postfix версии 2.1, то SMTP сервер также отклоняет неизвестные адреса отправителя (т.е. те, которые Postfix бы отклонил, как неизвестные адреса получателя). Эта возможность помогает в борьбе с распространением почтовых червей. Контролируется параметром smtpd_reject_unlisted_sender.

Несовместимость с Postfix версии 1.1

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

  • Параметр virtual_maps заменен параметром virtual_alias_maps (для поиска адресов) и параметром virtual_alias_domains (для того, что мы прежде называли "Виртуальные домены в стиле Postfix").

    Для обратной совместимости с Postfix версии 1.1 новый параметр virtual_alias_maps имеет значение по умолчанию $virtual_maps, а новый параметр virtual_alias_domains по умолчанию равен $virtual_alias_maps.

  • У параметра virtual_mailbox_maps теперь появился сопутствующий параметр virtual_mailbox_domains (для имен доменов, обслуживаемых виртуальным агентом доставки). Параметр virtual_mailbox_maps теперь используется только для поиска адресов.

    Для обратной совместимости с Postfix версии 1.1 новый параметр virtual_mailbox_domains имеет значение по умолчанию $virtual_mailbox_maps.

  • Появился параметр relay_recipient_maps. Почтовый сервер Postfix SMTP может использовать его для отклонения почты relay-получателю, которого нет. Этот список пуст по умолчанию, т.е. Postfix принимает почту для всех relay-получателей.

  • Параметр local_recipient_maps теперь по умолчанию включен. Postfix SMTP использует его для отклонения почты, адресованной локальным получателям, которых нет. Подсказки и примеры в файле LOCAL_RECIPIENT_README.

  • Введен транспорт relay-доставки в файле master.cf. Это помогает избежать проблем с входящей почтой на почтовых relay-серверах, где велика нагрузка от исходящей почты, но, возможно, потребуется изменение параметра "defer_transports".




 
Будем благодарны за отзыв, с радостью ответим на любые вопросы!

Повторите:
Сообщение:
Контакт:
Отправить!