Не синхронизируется Exchange Edge сервер

После настройки связи с edge >< MBX1 мы используем команду Start-EdgeSynchronization для начала синхронизации

[PS] C:\Windows\system32>Start-EdgeSynchronization


RunspaceId     : 0d4ebb93-e3a3-460c-aabd-ae5db690c6e7
Result         : CouldNotConnect
Type           : Configuration
Name           : EDGE1
FailureDetails :
StartUTC       : 9/13/2022 12:50:54 PM
EndUTC         : 9/13/2022 12:50:54 PM
Added          : 0
Deleted        : 0
Updated        : 0
Scanned        : 0
TargetScanned  : 0

RunspaceId     : 0d4ebb93-e3a3-460c-aabd-ae5db690c6e7
Result         : CouldNotConnect
Type           : Recipients
Name           : EDGE1
FailureDetails :
StartUTC       : 9/13/2022 12:50:54 PM
EndUTC         : 9/13/2022 12:50:54 PM
Added          : 0
Deleted        : 0
Updated        : 0
Scanned        : 0
TargetScanned  : 0

Но получаем ошибку CouldNotConnect

Проверка портов Exchange Edge Server

Проверьте порты , с mbx сервера на edge.

[PS] C:\Windows\system32>Test-NetConnection edge1 -Port 25


ComputerName     : edge1
RemoteAddress    : 10.0.0.50
RemotePort       : 25
InterfaceAlias   : Ethernet
SourceAddress    : 10.0.0.20
TcpTestSucceeded : True



[PS] C:\Windows\system32>Test-NetConnection edge1 -Port 50389


ComputerName     : edge1
RemoteAddress    : 10.0.0.50
RemotePort       : 50389
InterfaceAlias   : Ethernet
SourceAddress    : 10.0.0.20
TcpTestSucceeded : True



[PS] C:\Windows\system32>Test-NetConnection edge1 -Port 50636


ComputerName     : edge1
RemoteAddress    : 10.0.0.50
RemotePort       : 50636
InterfaceAlias   : Ethernet
SourceAddress    : 10.0.0.20
TcpTestSucceeded : True

На время тестирование можете отключить брандмаундэр .

Проверка подключения к AD LDS через ASDI

Поключаемся к контроллеру домена и запустим cmd > adsiedit.msc

можно просмотреть данные, которые находятся непосредственно в базе данных AD LDS на Edge-сервере. Для этого на Edge`e запустим оснастку ADSIEdit и подключимся к контексту Конфигурация. Для подключения к базе AD LDS нужно использовать порт 50389, так что настройки будут выглядеть следующим образом

alukashin.ru edge subb 4

Данным подключением мы отрезали часть проблем AD LDS на Edge , подключение к базе работает исправно.

The LDAP server is unavailable на сервере Mailbox

При выводе The LDAP server is unavailable на Mailbox сервере .

[PS] C:\Windows\system32>Test-EdgeSynchronization
RunspaceId     : e2ffbacb-7ee2-4002-a657-2efe26533269
Result         : CouldNotConnect
Type           : Recipients
Name           : CAM
FailureDetails : The LDAP server is unavailable.
StartUTC       : 9/13/2022 12:58:58 PM
EndUTC         : 9/13/2022 12:58:58 PM
Added          : 0
Deleted        : 0
Updated        : 0
Scanned        : 0
TargetScanned  : 0

RunspaceId     : e2ffbacb-7ee2-4002-a657-2efe26533269
Result         : CouldNotConnect
Type           : Configuration
Name           : CAM
FailureDetails : The LDAP server is unavailable.
StartUTC       : 9/13/2022 12:58:58 PM
EndUTC         : 9/13/2022 12:58:58 PM
Added          : 0
Deleted        : 0
Updated        : 0
Scanned        : 0
TargetScanned  : 0

Решение проблемы : В файле hosts добавте IP-адрес и полное доменное имя пограничного сервера. Или создайте А запись в dns на котроллере домена .

The LDAP server is unavailable на Edge сервере .

При формировании подписки на EDGE сервере возникает ошибка

[PS] C:\Windows\system32>New-EdgeSubscription -FileName "c:\1.xml"

[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A
New-EdgeSubscription : Microsoft Exchange couldn't create or update the Edge Subscription account on the Edge
Transport server for the following reason: The LDAP server is unavailable.. Stack is    at
System.DirectoryServices.Protocols.LdapConnection.Connect()
   at System.DirectoryServices.Protocols.LdapConnection.BindHelper(NetworkCredential newCredential, Boolean
needSetCredential)
   at Microsoft.Exchange.MessageSecurity.EdgeSync.AdamUserManagement.CreateOrUpdateADAMPrincipal(String user, String
password, Boolean bootStrapAccount, TimeSpan expiry)
   at Microsoft.Exchange.Management.SystemConfigurationTasks.NewEdgeSubscription.InitiateSubscriptionOnEdge()
At line:1 char:1
+ New-EdgeSubscription -FileName "c:\1.xml"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [New-EdgeSubscription], InvalidOperationException
    + FullyQualifiedErrorId : [Server=EDGE1,RequestId=6cc05340-b9a2-4011-b596-eb4a4b3516a5,TimeStamp=9/13/2022 2:16:03
    PM] [FailureCategory=Cmdlet-InvalidOperationException] 1D13F6B1,Microsoft.Exchange.Management.SystemConfiguration
  Tasks.NewEdgeSubscription

[PS] C:\Windows\system32>
  1. Попробуйте перезагрузить сервер и повторить New-EdgeSubscription снова
  2. Если это не помагает , возможно вы удалили самоподписанный сертификат. Его нужно будет сгенерировать заново

Создаем новый самоподписанный сертификат

[PS] C:\Windows\system32>New-ExchangeCertificate

Confirm
Overwrite the existing default SMTP certificate?

Current certificate: '2D916FB4BD0213BC5BE17ED9C6CEC016538F61F0' (expires 9/12/2027 4:30:10 AM)
Replace it with certificate: 'E5C55A3567506FCC8CAE828A87B137F388217589' (expires 9/13/2027 8:41:05 AM)
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A
WARNING: The internal transport certificate attribute for the local Edge Transport server has been updated. If this
Edge Transport server is subscribed to an Active Directory site, you must  subscribe it again by using the
New-EdgeSubscription cmdlet in the Shell, and then restart AD LDS.

Thumbprint                                Services   Subject
----------                                --------   -------
E5C55A3567506FCC8CAE828A87B137F388217589  ....S..    CN=EDGE1


[PS] C:\Windows\system32>

Видим что он появился в списке

[PS] C:\Windows\system32>Get-ExchangeCertificate

Thumbprint                                Services   Subject
----------                                --------   -------
E5C55A3567506FCC8CAE828A87B137F388217589  ....S..    CN=EDGE1

Назначим этот сертификат на службу smtp

[PS] C:\Windows\system32>Enable-ExchangeCertificate -Services:"SMTP"

cmdlet Enable-ExchangeCertificate at command pipeline position 1
Supply values for the following parameters:
Thumbprint: E5C55A3567506FCC8CAE828A87B137F388217589
[PS] C:\Windows\system32>

После заново пробуем создать файл подписки

New-EdgeSubscription -FileName "c:\edge.xml"

EdgeSync service cannot connect to this subscription because of error «No EdgeSync credentials were found for Edge Transport server EDGE1 on the local Mailbox

Сделаем проверку синхронизации на сервере Mailbox

[PS] C:\Windows\system32>Test-EdgeSynchronization


RunspaceId                  : 0d4ebb93-e3a3-460c-aabd-ae5db690c6e7
SyncStatus                  : Failed
UtcNow                      : 9/13/2022 12:58:58 PM
Name                        : EDGE1
LeaseHolder                 :
LeaseType                   : None
FailureDetail               : EdgeSync service cannot connect to this subscription because of error "No EdgeSync
                              credentials were found for Edge Transport server EDGE1.pentagon.loc on the local Mailbox
                              server. Remove the Edge subscription and re-subscribe the Edge Transport server.".
LeaseExpiryUtc              : 1/1/0001 12:00:00 AM
LastSynchronizedUtc         : 1/1/0001 12:00:00 AM
TransportServerStatus       : Skipped
TransportConfigStatus       : Skipped
AcceptedDomainStatus        : Skipped
RemoteDomainStatus          : Skipped
SendConnectorStatus         : Skipped
MessageClassificationStatus : Skipped
RecipientStatus             : Skipped
CredentialRecords           : Number of credentials 0
CookieRecords               : Number of cookies 0



[PS] C:\Windows\system32>

Нам говорят что нужно сделать заново подписку. Для начала проверим папку с логами на mailbox сервере она расположена по пути

C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\EdgeSync

Кусочек от лога где синхронизация ругается на
Failed to renew the EdgeSync credentials because we only support CAPI

2022-09-13T19:53:59.100Z,a774e22dab7d4a06a13e0837e9357347,54,,,0,Credential,None,Failed to renew the EdgeSync credentials because we only support CAPI certificate.,C6F88FFEAD3048A25284371779039A99237E5718,,,
2022-09-13T19:54:59.264Z,a774e22dab7d4a06a13e0837e9357347,55,,,0,Credential,None,Failed to renew the EdgeSync credentials because we only support CAPI certificate.,C6F88FFEAD3048A25284371779039A99237E5718,,,
2022-09-13T19:55:59.510Z,a774e22dab7d4a06a13e0837e9357347,56,,,0,Credential,None,Failed to renew the EdgeSync credentials because we only support CAPI certificate.,C6F88FFEAD3048A25284371779039A99237E5718,,,
2022-09-13T19:56:59.767Z,a774e22dab7d4a06a13e0837e9357347,57,,,0,Credential,None,Failed to renew the EdgeSync credentials because we only support CAPI certificate.,C6F88FFEAD3048A25284371779039A99237E5718,,,
2022-09-13T19:57:59.928Z,a774e22dab7d4a06a13e0837e9357347,58,,,0,Credential,None,Failed to renew the EdgeSync credentials because we only support CAPI certificate.,C6F88FFEAD3048A25284371779039A99237E5718,,,

Решение проблемы

  1. На пограничном сервере запросите новый сертификат Exchange:
    New-ExchangeCertificate
  2. Создайте новый файл EdgeSubscription:
    New-EdgeSubscription -FileName C:\Temp\Servername.xml
  3. Скопируйте файл EdgeSubscription на сервер Exchange 2013, 2016 или 2019 (я предполагаю, что вы установили многороль)
  4. Удалите текущие подписки EdgeSubscription:
    Get-EdgeSubscription | выберите Имя
    Remove-EdgeSubscription -Identity YourEdgesubscriptionName
  5. Найдите текущий самозаверяющий сертификат Exchange на сервере Mailbox с именем сервера Самоподписанный , в моем случае это MBX1. Этот сертификат создается при установке. Этот сертификат мы должены переназначить на службу SMTP. Скопируйте отпечаток, он нам нужен во второй команде:
    Get-ExchangeCertificate | fl
    Enable-ExchangeCertificate -Thumbprint XXXXXXXXXXXXXXXXXX334DDFEA37E333222DD -DoNotRequireSsl -Services:SMTP
  6. Дважды проверьте, удалена ли ваша существующая подписка:
    Get-EdgeSubscription
  7. Создайте новую пограничную подписку с файлом, скопированным на шаге 3:
    New-EdgeSubscription -FileData ([byte[]]$(Get-Content -Path «C:\Temp\Servername.xml» -Encoding Byte -ReadCount 0)) — Сайт YourSiteName
  8. Затем запустите только что созданную подписку:
    Start-EdgeSynchronization
  9. Протестируйте EdgeSynchronization:
    Test-EdgeSynchronization
  10. Последний шаг — все синхронизировать:
    Start-EdgeSynchronization -ForceUpdateCookie -ForceFullSync

Проверяйте на каждом Mailbox сервере Test-EdgeSynchronization , на одном может быть ошибка исправлена , на другом она может присутсвовать
В данном случае просто делаем на проблемном mailbox
Ищем самоподписанный сертификат с именем
Get-ExchangeCertificate | fl
назначаем на него smtp
Enable-ExchangeCertificate -Thumbprint XXXXXXXXXXXXXXXXXX334DDFEA37E333222DD -DoNotRequireSsl -Services:SMTP
Удаляем подписку
Remove-EdgeSubscription -Identity
и после удаления используем все тотже файл подписки
New-EdgeSubscription -FileData ([byte[]]$(Get-Content -Path «C:\Temp\Servername.xml» -Encoding Byte -ReadCount 0)) — Сайт YourSiteName
проверяем
Test-EdgeSynchronization
все должно быть хорошо

Проблема, с которой я столкнулся, заключалась в том, что сертификат, который был обновлен изначально, был сертификатом SHA1.

Тот, на который он был заменен, был сертификатом SHA256. При попытке продлить пограничную подписку выскочила следующая ошибка:

 Пограничная подписка работает только с сертификатами SHA1.Странно и не очень безопасно, даже если он предназначен только для внутреннего трафика сервера Exchange.Следовательно, необходим сертификат по умолчанию, созданный при установке самого Exchange, то есть SHA1.

Оцените статью
Alukashin.ru
Добавить комментарий

  1. Сергей

    Спасибо! Прекрасная статья!
    А главное работает.
    Не знал про командлет New-ExchangeCertificate на пограничнике.
    Но мне в целом помогло.
    Случайно удалил объект DomainName/Configuration/Sites/SiteName/EdgeSyncService
    Оказалось — объект можно пересоздать.
    Помогла Ваша статья.
    Спасибо!

    Ответить