Меню Рубрики

Установка exchange 2016 в режиме восстановления

Установка Exchange server 2016 на Windows server 2016

Привет! Сегодня разберём как установить exchange server 2016 с нуля. Всё нижесказанное также относится и к 2013 exchange. Миграция описана в статье Миграция с exchange server 2007 на 2013 отличий от миграции с 2010 или 2013 на 2016 нет.

Миграция возможно минимум с exchange 2010 CU11. Контроллеры домена и уровень леса не менее Windows Server 2008 R2. Оперативная память – Почтовый ящик : не менее 8 ГБ. Пограничный транспортный сервер : не менее 4 ГБ.

ОС windows server 2012 или windows server 2016.

В нашем случае будет идеальный вариант – чистый контроллер домена и чистая система, обе windows server 2016.

Теперь можно устанавливать exchange server 2016. В принципе, установщик всё сделает за вас. Каких то особых требований, кроме описанных выше, нет. Если вы ставите сервер в существующую среду 2010 или 2013, то также никаких дополнительных действий не требуется. После установки они будут сосуществовать вместе, текущую инфраструктуру и работу почты данная установка не затронет.

В этом случае установщик сам до установит недостающие компоненты, расширит схему AD выполнит подготовку. Имя организации – это имя раздела, в котором будут хранится настройки exchange в текущем лесу. Если в процессе установки у вас ошибка “Windows Server-Gui-Mgmt-Infra not installed” значит вы пытаетесь установить версию exchange до CU3. Скачиваем версию с последним CU. На текущий момент – CU12.

Не пугаемся названия – Cumulative Update 12 for Exchange Server это полноценный дистрибутив с последними обновлениями.

Как видим, установщик сам расширит схему и подготовит AD.

В том случае если у вас большая инфраструктура с несколькими доменами, или разделёнными правами, перед установкой можно выполнить команды вручную:

Расширение схемы, вы должны состоять в группе “Администраторы схемы” на этом этапе добавляются необходимые атрибуты в схему AD.
E:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema

Подготовка AD, создание нужных контейнеров и объектовE:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD /OrganizationName:”First organization”

И на третьем этапе создаются группы, назначаются разрешения
E:\Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAllDomains

Если в процессе установки возникли ошибки, нам сильно поможет C:\ExchangeSetupLogs\ExchangeSetup.log.

В случае если установка завершилась успешно, переходим по ссылке https://localhost/ecp и радуемся.

В принципе, можно создавать пользователей, и пользоваться почтой через owa, внутри организации она уже работает полноценно. Для отправки нам нужно создать коннектор отправки, он находится в “поток обработки почты – соединители отправки”. Тип коннектора – выбираем internet.

Адресное пространство – ставим звездочку. Это значит, что на все домены почта будет оправляться через этот коннектор. Если же мы хотим что бы почта на определенный домен отправлялась через специфический сервер – то создаём еще один коннектор. Затраты – приоритет отправки, сначала почта будет отправляться через коннектор с приоритетом 1, если условия совпадают.

Исходный сервер – если у нас несколько серверов, например в разных сайтах, и мы хотим отправлять почту со всех серверов exchange только через один, выбираем его в этом пункте. В нашем примере у нас один сервер, естественно мы его и указываем.

И так – теперь мы можем отправлять почту в интернет. Но возникнет проблема – почти все наши письма будут помечены как спам. Почему так происходит? Потому что основные антиспам проверки включают в себя PTR запись, она должна совпадать с именем сервера, которым он представляется.

Переходим в нас тройки созданного коннектора, пункт “определение области”, и укажите FQDN имя, через которое ваш сервер будет доступен во внешних DNS. Также нужно написать провайдеру, что бы он прописал PTR запись на ваш внешний IP.

Первое дело сделано. Второй важный шаг – это настроить SPF запись. Про это можно прочитать в моей статье STOP SPAM. PTR, SPF, DKIM, DMARC

DKIM и DMARC можете настроить по своему усмотрению. Теперь наша почта должна доходить до адресата без проблем. Проверить корректность настроек можно с помощью сайта https://www.mail-tester.com/.

Читайте также:  Установка противопожарного клапана в воздуховоде

Переходим к коннекторам приёма. Эта штука определяет, как и кто может отправлять почту в наше систему. Приём почты разрешен для домена по умолчанию, он указан сразу.

То есть если домен у вас local, то естественно для маршрутизации в интернете нам нужен существующий, например hobbycomp.ru. Добавляем его в обслуживаемые домены. Тип – заслуживающий доверия. Письма,отправленные извне на этот домен будут обрабатываться, а если адреса не существует отклоняться. Если выбрать внутренняя ретрансляция – то если адресат не обнаружен, письма будут пересылаться дальше, например на другой сервер, указанный в коннекторе отправке, если внешняя ретрансляция – наличие пользователя проверяться не будет, просто будет пересылаться дальше.

Не забываем создать Политику адресов электронной почты, она находится в разделе “поток обработки почты”. Она нужна для того, что бы все новые сотрудники сразу создавались с нужным нам адресом почты, например имя.фамилия”домен.ру

Если уже готовые шаблоны не нравятся, можно перейти в дополнительные параметры, и создать свой шаблон, используя такие параметры:

Переменная Значение
%d Краткое имя
%g Имя
%i Буква отчества
%m Псевдоним Exchange
%s Фамилия
% _x_g Первые буквы x первого имени. Например, %2g первые две буквы с именем не используются.
% _x_s Первые буквы x фамилии. Например, %2s использует первые две буквы фамилии.

Продолжаем про коннекторы приёма. В них мы указываем: IP адреса с которых сервер принимает почту, на каких интерфейсах слушать порт приёма (25-й по дефолту) каких пользователей обслуживать – анонимных, или только с аутентификацией.

Коннектор по умолчанию default frontend настроен на приём писем со всех IP адресов, в том числе и от анонимных пользователей. От анонимных – это значит что любой пользователь может прислать нам письмо на заслуживающий доверия домен.

Что бы это работало, рекомендую снять галку взаимная проверка подлинности, если у сервера будет самоподписанный (не доверенный) сертификат – письмо до вас не дойдёт.

Также на всех коннекторах включите ведение журнала – это очень поможет выявлять неполадки.

Нужные нам журналы хранятся здесь – C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog

Архитектура exchange сервера обычно предполагает наличие перед ним front end сервера ,который бы осуществлял фильтрацию писем на спам и вирусы. Встроенный функционал сервера в этом смысле слабоват.

Можно использовать exim, postfix, Cisco ESA. Лично мне нравится postfix, можно использовать его в связке с ClamAV и Spamassasin. Неплохое бесплатное решение.

В этом случае коннектор приёма настраиваем на приём только с одного IP – IP нашего front end сервера. Для принтеров, различных программ типа 1С создаём отдельный коннектор с IP нужного нам сервера, и анонимным приёмом. Отправлять в этом случае можно будет с любого несуществующего адреса в нашем домене, на адреса опять же в нашем домене (использовать для оповещений, без обратной связи). Если мы хотим отправлять письма на внешние адреса – нам нужно будет создать либо учетную запись с ящиком, и указать учетные данные при отправке.

В веб интерфейсе нам доступна только малая часть настроек, всё остальное скрыто в EMS.

Например, вот вывод всех настроек дефолтного коннектора приёма:

RunspaceId : 0b4604c3-bfef-4b7b-b8b6-b55b79d9f894
AuthMechanism : Tls, Integrated, BasicAuth, BasicAuthRequireTLS, ExchangeServer
Banner :
BinaryMimeEnabled : True
Bindings :
ChunkingEnabled : True
DefaultDomain :
DeliveryStatusNotificationEnabled : True
EightBitMimeEnabled : True
SmtpUtf8Enabled : True
BareLinefeedRejectionEnabled : False
DomainSecureEnabled : True
EnhancedStatusCodesEnabled : True
LongAddressesEnabled : False
OrarEnabled : False
SuppressXAnonymousTls : False
ProxyEnabled : False
AdvertiseClientSettings : False
Fqdn : ex01.test.local
ServiceDiscoveryFqdn :
TlsCertificateName :
Comment :
Enabled : True
ConnectionTimeout : 00:10:00
ConnectionInactivityTimeout : 00:05:00
MessageRateLimit : Unlimited
MessageRateSource : IPAddress
MaxInboundConnection : 5000
MaxInboundConnectionPerSource : 20
MaxInboundConnectionPercentagePerSource : 2
MaxHeaderSize : 256 KB (262,144 bytes)
MaxHopCount : 60
MaxLocalHopCount : 12
MaxLogonFailures : 3
MaxMessageSize : 36 MB (37,748,736 bytes)
MaxProtocolErrors : 5
MaxRecipientsPerMessage : 200
PermissionGroups : AnonymousUsers, ExchangeServers, ExchangeLegacyServers
PipeliningEnabled : True
ProtocolLoggingLevel : Verbose
RemoteIPRanges :
RequireEHLODomain : False
RequireTLS : False
EnableAuthGSSAPI : False
ExtendedProtectionPolicy : None
LiveCredentialEnabled : False
TlsDomainCapabilities : <>
Server : EX01
TransportRole : FrontendTransport
RejectReservedTopLevelRecipientDomains : False
RejectReservedSecondLevelRecipientDomains : False
RejectSingleLabelRecipientDomains : False
AcceptConsumerMail : False
SizeEnabled : Enabled
TarpitInterval : 00:00:05
AuthTarpitInterval : 00:00:05
MaxAcknowledgementDelay : 00:00:30
AdminDisplayName :
ExchangeVersion : 0.1 (8.0.535.0)
Name : Default Frontend EX01
DistinguishedName : CN=Default Frontend EX01,CN=SMTP Receive Connectors,CN=Protocols,CN=EX01,CN
=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrati
ve Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Config
uration,DC=test,DC=local
Identity : EX01\Default Frontend EX01
Guid : e569491e-7fd2-4c48-b43b-6bd4e76ebf96
ObjectCategory : test.local/Configuration/Schema/ms-Exch-Smtp-Receive-Connector
ObjectClass :
WhenChanged : 16.03.2019 13:42:54
WhenCreated : 16.03.2019 13:42:54
WhenChangedUTC : 16.03.2019 10:42:54
WhenCreatedUTC : 16.03.2019 10:42:54
OrganizationId :
Id : EX01\Default Frontend EX01
OriginatingServer : dc01.test.local
IsValid : True
ObjectState : Unchanged

Многие параметры говорят сами за себя, например MaxRecipientsPerMessage:200 значит что на этом коннекторе возможен приём для максимум 200 получателей, а MessageRateLimit : Unlimited о том что количество принимаемых писем в секунду не ограничено.

А вот так можно посмотреть ограничения на количество отправленных сообщений в секунду на всех коннекторах:

Name : Default EX01
MessageRateLimit : Unlimited

Name : Client Proxy EX01
MessageRateLimit : 5

Name : Default Frontend EX01
MessageRateLimit : Unlimited

Name : Outbound Proxy Frontend EX01
MessageRateLimit : Unlimited

Name : Client Frontend EX01
MessageRateLimit : 5

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

Давайте разберёмся, что такое сертификат, и как он работает. По сути это ключ, две половинки которого называются закрытый и открытый ключ. То что зашифровано одним ключом можно расшифровать другим, и наоборот. Закрытый ключ хранится только на сервере, открытый же доступен всем. Когда мы генерируем сертификат с помощью нашего внутреннего центра сертификации, он подписан его корневым сертификатом. А корневой сертификат имеется в доверенных на всех компьютерах домена, поэтому ошибок не возникает. Как только мы пытаемся подключится с компьютера, на котором данного корневого сертификата нет – получаем ошибку. Если устраивает такой вариант, когда мы можем всем пользователям установить свой корневой сертификат – то тогда используем его. Как развернуть внутренний центр сертификации описано в моей статье Установка Certification Authority

В противном случае нам понадобится коммерческий сертификат. Суть его состоит в том что корневой сертификат уже вшит во все браузеры, операционные системы, в том числе и мобильные.

Как установить сертификат на примере внутреннего центра сертификации. Заходим в раздел серверы – сертификаты. Выбираем “создать запрос на сертификат, подписанный центром сертификации”.

Проходим через мастер, важный момент выбор имён, которые будут использоваться в сертификате. Я рекомендую использовать единое пространство имен как внутри, так и снаружи. На внутреннем DNS создать зоны mail.hobbycomp.ru и autodiscover.hobbycomp.ru, для работы хватит этих двух имен. Если планируется раздельное пространство имен – они должны присутствовать в сертификате.

Сохраняем запрос на сертификат, сохранить можно на сетевую шару. теперь у нас есть ожидающий запрос. Это значит, что сгенерирован закрытый ключ, он хранится на сервере, а нам нужно подписать наш сертификат с открытыми данными корневым сертификатом центра сертификации. Для этого идём на веб интерфейс центра сертификации. https://server/certsrv

Выбираем запрос сертификата – расширенный запрос сертификата, открываем блокнотом сохраненный запрос на сертификат, и вставляем в поле сохранённый запрос. Шаблон сертификата выбираем веб сервер.

В интерфейсе с сертификатами сервера, выбираем “выполнить”, и подсовываем полученный сертификат. Путь также указываем в формате сетевой шары.

Назначаем новый сертификат службам IIS и SMTP.

На выходе получаем валидный сертификат, для тех устройств на которых установлен корневой сертификат.

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

Вкладка серверы – виртуальные каталоги. В настройках нужно прописать имя сервера, для простоты опять же рекомендуется использовать одинаковые имена для внешних и внутренних адресов. Если у вас один сервер – особо не заморачиваемся. Если вы мигрируете на новый сервер, или у вас их несколько – тут схема будет действовать следующим образом. Для OWA, если пользователь будет в базе на одном сервере, а подключается на другой, будет срабатывать редирект на другой сервер. В остальных случаях, если внутреннее имя сервера не прописано, должно работать проксирование с одного сервера на другой.

Для каталога autodoscover адрес нужно задать через EMS. Задаётся только внутренний адрес, это будет адрес SCP – service connection point, outlook вытащит его из active directory.

Посмотреть текущий адрес можно командлетом:

В принципе, на этом основные настройки заканчиваются. Мы получили работающую систему, отправляющую и принимающую письма. Дальше идёт тонкий тюнинг, для текущих потребностей. Пожалуйста, напишите в комментариях, что еще вам интересно, я постараюсь ответить на все вопросы, и дополнить статью.

Если у Вас есть вопросы, задавайте их на форуме, или ниже в комментариях.

источник

Установка exchange 2016 в режиме восстановления

Спасибо всем, кто принимает участие 🙂 Всех с Новым Годом!

Проблема при установке в режиме Recovery

PS C:\Exchange> c:\Exchange\Setup.exe /m:RecoverServer /IAcceptExchangeServerLicenseTerms

Welcome to Microsoft Exchange Server 2016 Cumulative Update 3 Unattended Setup

Copying Files.
File copy complete. Setup will now collect additional information needed for installation.

Languages
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Management tools
Mailbox role: Client Access Front End service
Mailbox role: Front End Transport service

Performing Microsoft Exchange Server Prerequisite Check

Configuring Prerequisites COMPLETED
Prerequisite Analysis COMPLETED

Configuring Microsoft Exchange Server

Preparing Setup COMPLETED
Stopping Services COMPLETED
Copying Exchange Files COMPLETED
Language Files COMPLETED
Restoring Services COMPLETED
Language Configuration COMPLETED
Mailbox role: Transport service FAILED

The following error was generated when «$error.Clear();
if ($RoleStartTransportService)
<
start-SetupService
-ServiceName MSExchangeTransport -MaxWaitTimeForRunningState 0:0:40
>
» was run:
«Microsoft.Exchange.Configuration.Tasks.ServiceDidNotReachStatusException: Service ‘MSExchangeTransport’ failed to
reach status ‘Running’ on this server.
at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception,
ErrorCategory errorCategory, Object target, String helpUrl)
at
Microsoft.Exchange.Configuration.Tasks.Task.WriteError(Exception exception, ErrorCategory category, Object target)
at
Microsoft.Exchange.Management.Tasks.ManageSetupService.WaitForServiceStatus(ServiceController serviceController,
ServiceControllerStatus status, Unlimited`1 maximumWaitTime, Boolean ignoreFailures, Boolean
sendWatsonReportForHungService)
at
Microsoft.Exchange.Management.Tasks.ManageSetupService.StartService(ServiceController serviceController, Boolean
ignoreServiceStartTimeout, Boolean failIfServiceNotInstalled, Unlimited`1 maximumWaitTime, String[] serviceParameter

at Microsoft.Exchange.Management.Tasks.ManageSetupService.StartService(String serviceName, Boolean
ignoreServiceStartTimeout, Boolean failIfServiceNotInstalled, Unlimited`1 maximumWaitTime, String[] serviceParameter

at Microsoft.Exchange.Management.Tasks.StartSetupService.InternalProcessRecord()
at
Microsoft.Exchange.Configuration.Tasks.Task.

b__b()
at
Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean
terminatePipelineIfFailed)».

___________________________________________________________________

После этого новая установка не запускается, Удаление ругается на не завершённые установки ролей. Пока отправил в перезагрузку сервер.

После перезагрузки вот такое при установке с ключем recovery

PS C:\Exchange> c:\exchange\Setup /m:RecoverServer /IAcceptExchangeServerLicenseTerms

Welcome to Microsoft Exchange Server 2016 Cumulative Update 3 Unattended Setup

Copying Files.
File copy complete. Setup will now collect additional information needed for installation.

Languages
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Management tools
Mailbox role: Client Access Front End service
Mailbox role: Front End Transport service

Performing Microsoft Exchange Server Prerequisite Check

Configuring Prerequisites COMPLETED
Prerequisite Analysis FAILED

A Setup failure previously occurred while installing the HubTransportRole role. Either run Setup again for just this
role, or remove the role using Control Panel.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.InstallWatermark.asp
x

The Exchange Server setup operation didn’t complete. More details can be found in ExchangeSetup.log located in the
:\ExchangeSetupLogs folder.

Вот первые данные по серверу, что пришли пока в голову.

[PS] C:\Windows\system32>Get-ServerComponentState -Identity Rakitich

Server Component State
—— ——— ——
RAKITICH.lime.local ServerWideOffline Active
RAKITICH.lime.local HubTransport Active
RAKITICH.lime.local FrontendTransport Active
RAKITICH.lime.local Monitoring Active
RAKITICH.lime.local RecoveryActionsEnabled Active
RAKITICH.lime.local AutoDiscoverProxy Active
RAKITICH.lime.local ActiveSyncProxy Active
RAKITICH.lime.local EcpProxy Active
RAKITICH.lime.local EwsProxy Active
RAKITICH.lime.local ImapProxy Active
RAKITICH.lime.local OabProxy Active
RAKITICH.lime.local OwaProxy Active
RAKITICH.lime.local PopProxy Active
RAKITICH.lime.local PushNotificationsProxy Active
RAKITICH.lime.local RpsProxy Active
RAKITICH.lime.local RwsProxy Active
RAKITICH.lime.local RpcProxy Active
RAKITICH.lime.local UMCallRouter Active
RAKITICH.lime.local XropProxy Active
RAKITICH.lime.local HttpProxyAvailabilityGroup Active
RAKITICH.lime.local ForwardSyncDaemon Inactive
RAKITICH.lime.local ProvisioningRps Inactive
RAKITICH.lime.local MapiProxy Active
RAKITICH.lime.local EdgeTransport Active
RAKITICH.lime.local HighAvailability Active
RAKITICH.lime.local SharedCache Active
RAKITICH.lime.local MailboxDeliveryProxy Active
RAKITICH.lime.local RoutingUpdates Active
RAKITICH.lime.local RestProxy Active
RAKITICH.lime.local DefaultProxy Active
RAKITICH.lime.local Lsass Active
RAKITICH.lime.local RoutingService Active

Вход на Rakitich по ecp рушится 500.19 ошибкой IIS

источник