Многие администраторы относятся к системам мгновенного обмена сообщениями (Instant Messaging, IM) как к игрушкам, но тем не менее они получают все большее распространение в сфере бизнеса, так как обеспечивают возможность быстрого обмена сообщениями без лишних затрат на обслуживание «настоящего» почтового клиента. С помощью IM-клиента можно узнать, с кем из сотрудников, перечисленных в списке контактов, можно связаться в данный момент; пользователи IM могут по-разному описывать свою загруженность, в том числе «занят», «говорит по телефону», «обеденный перерыв» и «ушел из офиса». Такая информация особенно полезна, если нужно организовать личную встречу или поговорить с сотрудником по телефону.

В состав Exchange 2000 Server входит IM-сервер, интегрируемый с Exchange и Active Directory (AD). Установить IM-сервер и управлять им несложно, поэтому в сети компании можно быстро организовать систему обмена мгновенными сообщениями. Пользователи Windows XP, Windows 2000, Windows NT и Windows 98 могут обмениваться данными с пользователями Exchange IM через клиента Exchange IM; пользователи Windows XP могут одновременно связываться с пользователями MSN Messenger и Exchange IM через клиента Windows Messenger. Принципы организации одновременного соединения рассмотрены ниже.

Базовые серверы IM

Каждый пользователь службы IM должен располагать IM-совместимой учетной записью в AD. Учетные записи службы IM активизируются с помощью мастера Exchange Task Wizard оснастки Active Directory Users and Computers в консоли управления Microsoft Management Console (MMC). После включения данной возможности для пользователя атрибуты AD указывают, с каким базовым сервером (home server) IM связана его учетная запись. Базовый сервер IM должен работать с Exchange 2000, но не обязательно должен быть почтовым сервером. Базовый сервер принимает входящие и исходящие сообщения для своих пользователей и доставляет их по назначению. Если пользователи базового сервера общаются только между собой, то нужен лишь один базовый сервер. Специалисты Microsoft не рекомендуют одновременно подключать к базовому серверу более 7500 пользователей.

Как организовать связь между пользователями различных базовых серверов, если предприятие располагает двумя или несколькими базовыми серверами? Каким образом пользователи Internet, от которых скрыты данные AD, могут посылать сообщения клиентам базового сервера? Чтобы ответить на эти вопросы, необходимо рассмотреть механизм преобразования адресов IM.

Имена, адреса и URL

Когда пользователь отправляет почтовое сообщение, его SMTP-сервер обращается к записи MX в DNS целевого домена, чтобы обнаружить SMTP-сервер получателя и доставить сообщение. Если получатель IM-сообщения использует систему MSN IM или Exchange IM, то отправитель указывает адрес электронной почты получателя, например paul@robichaux.net. Использование адреса электронной почты

позволяет скрыть то обстоятельство, что серверы Exchange IM задействуют протокол RVP для передачи трафика через TCP-порт 80 — тот самый порт, который применяется протоколом HTTP. Для того чтобы переслать мне IM-сообщение, клиент передает пакеты по адресу: http://exchange.robichaux.net/instmsgs/aliases/paul. Этот URL неудобно вводить с клавиатуры и трудно запомнить, поэтому нужен способ преобразовать почтовые адреса в понятные для IM.

Для этого используются записи SRV в DNS. С помощью SRV-записей AD определяет доступность регистрационных серверов Kerberos, серверов Lightweight Directory Access Protocol (LDAP) и серверов других полезных служб. SRV-запись указывает, что служба доступна для конкретного домена; в запись входят номер порта TCP или UDP, через который предоставляются услуги, и IP-адрес ответственного за это сервера. Поэтому из SRV-записи для DNS-домена microsoft.com можно точно узнать, какой протокол или службу (в данном случае RVP) предлагает сервер, номер порта (TCP 80) и IP-адрес или имя DNS (im.microsoft.com). Зная домен DNS получателя, IM-программа может использовать запись SRV для идентификации IP-адреса сервера мгновенных сообщений.

Если запись SRV отсутствует, клиент Exchange IM должен воспользоваться именем домена DNS в URL, поэтому joe@somedomain.com превращается в http://somedomain.com/instmsg/aliases/joe. Если администратор правильно настроил Web-сервер для трансляции запросов RVP, то данный метод тоже можно применить.

IM-маршрутизаторы

В действительности, каждая IM-учетная запись пользователя имеет два отдельных URL. Как уже отмечалось, один URL содержит имя сервера, зарегистрированное в записи SRV. Другой URL включает имя базового сервера пользователя. Организация может иметь несколько базовых серверов, и их размещение за пределами брандмауэра подвергает системы излишнему риску, поэтому необходим способ защищенной пересылки сообщений от одного известного всем сервера, указанного в SRV-записи, соответствующему базовому серверу. Задача IM-маршрутизаторов — направлять мгновенные сообщения, предназначенные данному пользователю, на определенный базовый сервер. Для каждых двух базовых серверов требуется один IM-маршрутизатор. По двум URL, зарегистрированным для каждого пользователя, IM-маршрутизаторы определяют, куда пересылать сообщения, предназначенные для данного пользователя. Существует два способа перенаправления сообщений на соответствующий сервер.

Первый способ предполагает, что маршрутизатор может генерировать сообщения перенаправления HTTP 302, которые он обычно посылает, чтобы перенаправить клиента IM на другой сервер внутри корпоративной сети. Например, базовый сервер пользователя А — TORNADO. Он хочет послать сообщение пользователю В, прикрепленному к базовому серверу HURRICANE. Когда А посылает сообщение для В, его программа-клиент должна обратиться к записи SRV, чтобы найти корректный сервер для домена пользователя В. Выясняется, что В и А принадлежат к одному домену. Программа пользователя А посылает сообщение IM-маршрутизатору, который генерирует сообщение перенаправления HTTP 302, указывая программе IM пользователя А правильный URL пользователя В (например, http://hurricane/instmsg/aliases/bob). Затем программа пользователя А повторно посылает сообщение на базовый сервер пользователя В, который передает сообщение клиенту В. Второй метод чуть сложнее: если А и В работают в разных организациях, то маршрутизатор посылает сообщение прямо базовому серверу пользователя В. Нет смысла посылать сообщение перенаправления HTTP 302 пользователю А, так как он почти наверняка не имеет прямого доступа к базовому серверу пользователя В через брандмауэр.

Установка Exchange IM Server

Задействовать компоненты IM-сервера просто. Основной компонент сервера, msimsrv.dll, в сущности, представляет собой модуль расширения Internet Server API (ISAPI), загружаемый Microsoft IIS и исполняемый на IM-сервере или маршрутизаторе. Во-первых, необходимо изменить конфигурацию сервера Exchange. С помощью программы установки Exchange можно выбрать и добавить компонент Exchange Instant Messaging. После завершения работы программы установки можно будет найти Instant Messaging (RVP) в контейнере Protocols. Чтобы создать новый виртуальный сервер IM, нужно выполнить следующие действия.
  1. Щелкнуть правой кнопкой мыши на узле Instant Messaging (RVP) и выбрать New, Virtual Server из контекстного меню.
  2. После запуска мастера New Instant Messaging Virtual Server Wizard следует указать видимое имя для сервера. Это имя будет отображаться в оснастке Active Directory Users and Computers после активизации IM для пользователя.
  3. Выбрать Web-узел IIS для размещения IM DLL. Как правило, используется Web-узел, выбираемый по умолчанию, но если администратор хочет, чтобы пользователи направляли IM-трафик по другому URL, то можно создать отдельный сайт. Конечно, данный этап не обязателен, так как пользователи не увидят имени узла.
  4. Предоставить имя DNS конкретного IM-сервера. Клиенты используют это имя для поиска сервера, поэтому оно должно быть полным доменным именем Fully Qualified Domain Name (FQDN). На большинстве IM-сайтов в качестве имени IM-сервера применяется имя im.domain.com.
  5. На последнем экране мастера New Instant Messaging Virtual Server Wizard следует указать, какую роль должен играть новый сервер — базового сервера IM или маршрутизатора. Если сервер должен быть базовым, то следует установить флажок Allow this server to host user accounts («По умолчанию он сброшен»).

В результате этих действий формируется виртуальный IM-сервер, но для него необходимо создать запись SRV на сервере DNS, чтобы клиенты могли отыскать виртуальный сервер IM посредством DNS. Это довольно просто сделать с помощью оснастки DNS в MMC.

  1. Следует запустить оснастку DNS (dnsmgmt.msc) и развернуть зону прямого преобразования для домена DNS.
  2. Щелкнуть правой кнопкой мыши на домене и выбрать New Other Records. После появления диалогового окна Resource Record Type следует прокрутить экран до пункта Service Location, выделить его и щелкнуть на кнопке Create Record.
  3. В диалоговом окне Resource Record (см. Экран 1) следует ввести
    _rvp
    В поле Service нужно указать номер порта 80 и ввести видимое извне имя DNS IM-сервера в поле Host offering this service.
Экран 1. Диалоговое окно New Resource Record.

После создания записи SRV остается только разрешить в учетных записях пользователей доступ к IM. Делать это можно поочередно с помощью вкладки Exchange Features диалогового окна User Properties оснастки Active Directory Users and Computers. Следует выбрать учетную запись пользователя, открыть диалоговое окно Properties, перейти к вкладке Exchange Features, выбрать Instant Messaging и щелкнуть на кнопке Enable (см. Экран 2). Программа попросит выбрать базовый сервер для учетной записи пользователя. Альтернативный способ — одновременно активизировать IM для нескольких пользователей, выбрав их в оснастке Active Directory Users and Computers, щелкнуть правой кнопкой мыши на записи одного из выбранных пользователей и запустить мастер Exchange Tasks Wizard.

Экран 2. Допуск пользователя к IM.

Установка IM-клиентов

Клиент Exchange IM поставляется на компакт-диске Exchange. Не следует путать клиента Exchange IM с клиентами MSN Messenger и Windows Messenger. По своим функциям они очень похожи, но есть и важные различия. Во всех трех клиентах используются модули расширения, обеспечивающие совместимость с многочисленными протоколами. Однако для одновременного применения Exchange и MSN IM необходимо сначала установить клиента MSN, а затем поверх него — клиента Exchange IM.

Windows Messenger в XP позволяет одновременно использовать как MSN Messenger, так и Exchange IM. Чтобы настроить Windows Messenger для применения MSN вместе со службой Exchange, необходимо выполнить следующие действия:

  1. запустить Windows Messenger;
  2. выбрать Tools, Options и открыть диалоговое окно Options;
  3. перейти к вкладке Accounts (см. Экран 3);
  4. установить флажок My contacts include users of a communications service. В поле Sign-in name нужно ввести имя для обращения к IM-серверу;
  5. следует выбрать метод регистрации конкретного клиента. Можно выбрать метод регистрации через Exchange (щелкнув на кнопке Communications Service) или из учетной записи Microsoft .NET Passport;
  6. щелкнуть на кнопке OK. Windows Messenger сообщит, что внесенные изменения вступят в силу только после завершения сеанса и повторной регистрации;
  7. после завершения сеанса и повторной регистрации в списке контактов появятся учетные записи MSN Messenger и Exchange.
Экран 3. Задание нескольких учетных записей IM.

В заключение хочу сказать, что IM, конечно, не заменит телефона или электронной почты. Например, IM не позволяет сохранять сообщения в соответствии с требованиями некоторых законов и контролирующих организаций (хотя такая функция реализована в продуктах независимых поставщиков). IM не обеспечивает шифрование трафика между двумя клиентами, хотя сообщения можно шифровать с использованием IP Security (IPSec). Однако с помощью сервера Exchange IM в составе Exchange можно предоставить пользователям сети преимущества IM, не прибегая к внешним службам.

Поль Робишо — старший системный архитектор компании EntireNet, имеет сертификаты MCSE и MCT. С ним можно связаться по адресу: getting-started@robichaux.net.