Установка и подключение Edge Transport
В этом примере мы установим и подключим Edge Transport к существующему серверу Exchange (Mailbox).
1. Создаем сервер с гораздо мнеее требовательными параметрами, чем обычный Exchange. В лабораторных условиях хватает 4GB RAM и 2 vcores, в продакшн можно выделить чуть больше: 8GB RAM и 4 vcores.
Сервер должен быть членом WORKGROUP, а не домена AD.
2. Устанавливаем NET Framework 4.8.
3. Устанавливаем другие требования Exchange, среди которых:
- Unified Communications Managed API 4.0 Runtime, который можно скачать по ссылке:
https://www.microsoft.com/en-us/download/details.aspx?id=34992
- Visual C++ Redistributable Packages for Visual Studio 2013, доступный здесь:
https://www.microsoft.com/en-us/download/details.aspx?id=40784
4. Edge Transport должен разрать имена из домена Exchange, а машины домена должны уметь разрешать имя сервера Edge Transport.
Поэтому на данном этапе мы прописываем на Edge Transport суфикс нашего домена, как показано на скриншоте.
Также, в качестве DNS-сервера мы указываем контроллер домена AD.
5. В оснастке DNS контроллера домена создаём A-запись, которая указывает на IP сервера Edge Transport.
6. Запускаем установщик Exchange, в котором выбираем “Edge Transport role”.
7. Нам требуется использовать какие-то сертификаты для протокола smtp. Если у нас есть wildcard или другие валидные несамоподписанные сертификаты - есть соблазн их использовать на edge серверах.
Однако, вероятно, этого делать не стоит. В особенности, к идее стоит отнестись осторожнее, если сертификаты, которые мы используем на edge серверах - совпадают с сертификатами серверов mailbox. В этом случае может перестать работать подписка (или же вообще не создаться).
Microsoft рекомендует использовать самоподписанные сертификаты, сгенерированные самим Exchange (это не является проблемой, т.к. механизм шифрования TLS является опортунистским (доверие к сертификату не проверяется) и валидация сертификатов не происходит по smtp всё равно). Преимуществ наличия несамоподписанных сертификатов мало, а вот проблемы с подпиской наблюдались неоднократно.
Посмотреть сертификаты Exchange можно при помощи данной команды:
Get-ExchangeCertificate | Select Subject, Services, Thumbprint
Можно назначить нужный сертификат для SMTP командой:
Enable-ExchangeCertificate -Thumbprint "955A611C35A46C07B1E1F031E60B6B2D38E1941A" -Services SMTP
8. Теперь нам нужно создать подписку, оформляющую отношения между Exchange Edge Transport и Mailbox. Для этого на Edge Transport создаем новую подписку (xml-файл) командой:
New-EdgeSubscription -FileName "c:\edge.xml"
9. Скопируем файл на Mailbox-сервер и запустим команду:
New-EdgeSubscription -FileData ([byte[]]$(Get-Content "C:\edge.xml" -Encoding byte -ReadCount 0)) -Site "Default-First-Site-Name"
10. Проверить работу можно командой:
Test-EdgeSynchronization
11. Для того, чтобы вручную запустить синхронизацию можно выполнить:
Start-EdgeSynchronization
Синхронизация может заработать не сразу (при тестировании сначала выходила ошибка подключения к LDAP-серверу).
Важно понимать, что в процессе синхронизации Mailbox-сервер будет подключаться к порту 50636 на Edge Transport, а не наоборот.