Простой способ преобразования адресов пользователей

Метод замены адресов (address-rewriting) используется во многих ситуациях. Простой пример — замена внутреннего адреса на адрес для связи с внешними корреспондентами, например donald.livengood@targetdomain.com на donald.livengood@hp.com, если сотрудник компании посылает сообщение внешнему получателю в Internet. А сообщения, поступающие из Internet на публичный адрес (donald.livengood@hp.com), будут таким же образом переадресованы на внутренний адрес (donald.livengood@targetdomain.com). К сожалению, данная технология в Exchange 2000 Server отсутствует, и пользователям приходится работать с пограничной SMTP-службой, такой как sendmail или Postfix, либо возвращаться к Internet Mail Service (IMS) и параметру реестра RerouteVia-Store пакета Exchange Server 5.5. Более подробную информацию можно найти в статье Microsoft «XIMS: How to Force SMTP Messages Through the Information Store» at http://support.microsoft.com/?kbid=238471. Однако данная технология реализована в Exchange Server 2003, и администраторы могут работать с этой удобной функцией в среде Exchange 2003.

Сценарий

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

В качестве примера рассмотрим сценарий. Допустим, консалтинговая компания Top Feeder приобрела конкурирующую фирму Bottom Feeder. ИТ-специалисты Top Feeder решили, что все почтовые сообщения двух компаний будут проходить через среду Exchange 2003 компании Top Feeder. Эта среда представлена доменом SMTP, top.tst. Поскольку две компании должны выглядеть для внешних корреспондентов как единое целое, все пользователи Bottom Feeder должны иметь адрес top.tst, даже если в действительности сообщения доставляются в их собственную среду, bottom.tst. Чтобы избежать конфликтов имен, необходимо согласовать их.

На рис. 1 показана графическая схема работы сценария.

Рисунок 1. Сценарий замены адресов

Предположим, что пользователь с именем Bottom1 в организации Bottom Feeder посылает сообщение через Internet. Когда Bottom1 посылает сообщение, в поле From указывается адрес bottom1@bottom.tst.

Поскольку все сообщения, направляемые в Internet, будут передаваться через top.tst и желательно создать впечатление единого почтового домена, необходимо переписать адрес Bottom1, поместив в поле From запись bottom1@top.tst. Ответное сообщение получателя должно быть направлено через top.tst в среду bottom.tst.

Чтобы этот процесс шел успешно, нужно создать контакт для пользователя bottom1@bottom.tst в Active Directory (AD) в top.tst, назначить ему определенные атрибуты, а затем настроить конфигурацию Exchange таким образом, чтобы задействовать эти атрибуты и перезаписать адрес.

Чтобы подготовить системы к использованию функции замены адресов Exchange 2003, требуется выполнить следующие действия.

  1. Создать контакт top.tst для пользователя Bottom1 (с собственным адресом bottom1@bottom.tst) с помощью оснастки Active Directory Users and Computers консоли Microsoft Management Console (MMC). Для простоты контакту присвоено имя Bottom1Contact.
  2. В процессе создания контакта следует назначить для Bottom1Contact целевой адрес bottom@bottom.tst. Целевой адрес можно увидеть в оснастке Active Directory Users and Computers, для этого нужно щелкнуть правой кнопкой мыши на имени пользователя, открыть диалоговое окно Properties и щелкнуть на вкладке Exchange General. Поле Email содержит целевой адрес (см. экран 1).
  3. На вкладке E-mail Addresses следует назначить первичный адрес SMTP proxy к bottom1@top.tst (см. экран 2).
Экран 2. Параметры первичного посредника SMTP-контакта

В результате, если Bottom1 пересылает почтовое сообщение через Internet, сообщение будет направлено в administrator@dotnet.test, и в поле From появится запись bottom1@bottom.tst. Леса top.tst и bottom.tst связаны через коннектор SMTP. Коннектор сервера-моста (bridgehead) bottom.tst имеет адресное пространство «*» и направляет все сообщения в виртуальный сервер SMTP Virtual Server Exchange 2003 в лесу top.tst.

Сервер-мост в top.tst просматривает всех получателей в полях From, To и CC сообщения. Если получатели находятся в локальной базе AD сервера-моста, то сервер-мост перезаписывает адреса таким образом, чтобы они совпадали с первичным адресом SMTP. После замены адреса сервер-мост пересылает сообщение в Internet через коннектор, настроенный соответствующим образом.

Экран 3. Сообщение, полученное через Internet при активной функции замены адреса

В поле From сообщения, поступившего получателю, содержится перезаписанный адрес bottom1@top.tst (см. экран 3). Если получатель отвечает, то сообщение возвращается на сервер-мост в top.tst. Сервер-мост выполняет поиск в каталоге, определяет целевой адрес bottom1@bottom.tst и пересылает сообщение через соответствующий коннектор.

В этом случае коннектор представляет собой сервер-мост в top.tst, имеющий SMTP-адрес @bottom.tst и указывающий на сервер-мост в организации bottom.tst.

Запущенная функция замены адреса работает как с внешними сообщениями SMTP, поступающими на сервер-мост, так и с сообщениями, отправленными пользователями Bottom Feeder через сервер-мост Top Feeder в Internet. Не следует переписывать оригинальные адреса сообщений внутренней почты основной организации (top.tst), передаваемых в Internet, и внутренней почты внутри организации (сообщения, пересылаемые между top.tst и bottom.tst): эти сообщения минуют этап замены адресов на сервере или серверах-мостах. Единственное исключение из этого правила — поступление сообщения от такого почтового клиента, как Microsoft Outlook Express, Netscape или QUALCOMM Eudora. Такие сообщения пройдут процедуру замены адреса на сервере-мосте, если клиенты используют сервер-мост с включенной функцией замены в качестве SMTP-сервера.

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

Активизация замены адреса Exchange

По умолчанию Exchange 2003 отключает перезапись адресов на всех виртуальных серверах SMTP. Для активизации функции замены адресов требуются манипуляции с атрибутом AD на виртуальных серверах SMTP, на которых предполагается перезаписывать адреса. После активизации данной функции Exchange заменяет информацию заголовка сообщения (определенную в RFC 822 как данные From, Reply-To и Sender) первичными SMTP-адресами соответствующего контакта. Это означает, что необходимо сначала назначить первичный proxy-сервер SMTP для каждого контакта, для которого предстоит перезаписывать адреса. С помощью таких инструментов, как LDAP Directory Synchronization Utility (LDSU) компании HP и Microsoft Identity Integration Server (MIIS), нетрудно автоматизировать эту операцию для целых организаций.

На Web-узле Microsoft имеется инструмент exarcfg.exe, с помощью которого удобно активизировать и отключать функцию замены адресов; вероятно, он войдет в состав пакета исправлений Exchange 2003 Service Pack 1 (SP1). При отсутствии этого инструмента следует настроить функцию замены вручную.

  • С помощью средства, обеспечивающего изменение атрибутов каталога (например, утилиты командной строки ldp.exe, хранящейся в папке support ools на компакт-диске Windows 2000 Server, в оснастке ADSI Edit консоли MMC), нужно установить соединение с контроллером домена (DC) в лесу, содержащем серверы Exchange 2003, которые будут перезаписывать адреса.
  • Перейти к объекту SMTP Virtual Server (в разделе Protocols, Server, Servers, Admin Group, Exchange Organization) в контексте именования конфигурации.
  • Изменить последний разряд в эвристическом атрибуте SMTP Virtual Server. По умолчанию устанавливается значение 131072, и его следует поменять на 131073. На экране 4 показан виртуальный сервер, измененный с помощью ADSI Edit.
Экран 4. Изменение эвристического атрибута для активизации замены адресов

Замена адреса и изменение контента

В процессе замены адреса сообщение «проталкивается» в Exchange Store, отменяется существующий формат MIME и выполняется преобразование MIME-to-Messaging API (MAPI). Следствием этого преобразования становится перевод сообщения в формат MAPI, поэтому транспортный протокол должен воспроизвести формат сообщения, прежде чем оно будет направлено в Internet. Транспортный протокол воспроизводит сообщение согласно соответствующему формату Internet Message Format (IMF) домена получателя или, если адрес получателя находится в списке контактов, согласно персональному параметру контента для контакта (персональный параметр контента отменяет параметры IMF). Однако транспортный протокол не обладает способностью к ясновидению в отношении контента RFC 822, поэтому указанные операции будут произведены, даже если выполнять перезапись адреса не требуется. Контент воспроизводится заново, даже если адреса From и To сообщения не нуждаются в замене, как в случае с адресами без соответствующих контактов или почтовых ящиков в домене замены или с адресами, которые уже соответствуют своим первичным SMTP-серверам в этом домене. В итоге все почтовые сообщения SMTP из подчиненной организации или среды Exchange будут проходить процедуру замены адреса и преобразования контента. При этом нужно обязательно провести исчерпывающее тестирование среды и убедиться, что данные преобразования не вызовут проблем.

Последнее замечание о замене адресов: у серверов Exchange Server, чьи виртуальные серверы SMTP выполняют перезапись адресов, падает производительность. Точные цифры, характеризующие снижение быстродействия, отсутствуют, но после активизации функции производительность системы следует все время контролировать.

Подготовительные меры

Технология замены адресов Exchange 2003 работает превосходно и проста в исполнении. Достаточно изменить атрибуты AD на соответствующем SMTP Virtual Server и создать необходимые контакты между организацией Exchange, выполняющей маршрутизацию и перезапись, и подчиненными средами.

Функции замены адресов могут использоваться в средах Exchange 2003, состоящих из многих лесов и организаций, а также в сетях, для которых Exchange является основным пунктом пересылки исходящего и входящего трафика Internet.

Дональд Ливенгуд — проектировщик решений в Technology Leadership Group компании HP, специализируется на технологиях передачи сообщений и службах каталога. С ним можно связаться по адресу: donald.livengood@hp.com