154 lines
8.9 KiB
Markdown
154 lines
8.9 KiB
Markdown
>[!Danger]- 1. Установка и базовая настройка **Win server**
|
||
>1. Установи Windows Server 2019 **Desktop Experience**, задай сильный пароль локального Administrator и включи RDP (лучше ограничить по IP на фаерволе).
|
||
>2. Поставь статический IP (на DC DNS будет “сам на себя”, на Exchange DNS будет указывать на DC).
|
||
>3. Синхронизация времени: обязательно корректное время/часовой пояс, иначе будут проблемы с Kerberos/SSL.
|
||
>Задайте статический IP, шлюз, DNS.
|
||
>>[!todo]- 1
|
||
> > Если сервер = DC/DNS: DNS указывайте на себя (127.0.0.1 и/или свой IP).
|
||
> >
|
||
> > Если сервер = только Exchange: DNS указывайте на DC.
|
||
> >
|
||
> > Проверьте время/часовой пояс (важно для Kerberos/сертификатов).
|
||
> >
|
||
> > Timezone, NTP, синхронизация.
|
||
> >
|
||
> > Включите RDP (если нужно) и проверьте Windows Firewall (пока можно оставить дефолтный, но убедитесь, что 443/25 потом не блокируются).
|
||
> >
|
||
> > Обновления.
|
||
> >
|
||
> > Установите все обновления Windows.
|
||
> >
|
||
> > Перезагрузки до тех пор, пока обновлений не останется.
|
||
> >
|
||
> > Переименование сервера (если ещё не делали):
|
||
> > ```
|
||
> > Rename-Computer -NewName "WINS5" -Restart
|
||
> > ```
|
||
> > **Изменить WINS5 НА ТРЕБУЕТСЯ ИМЯ**
|
||
>
|
||
>>[!todo]- 2 Проверка, что **443 порт** вообще живёт на сервере (потом пригодится при диагностике OWA/ECP):
|
||
>>```
|
||
>>Test-NetConnection 127.0.0.1 -Port 443
|
||
>netstat -ano | findstr ":443"
|
||
>>```
|
||
|
||
>[!Failure]- 2) AD DS + DNS (и ваш split‑DNS)
|
||
>>[!info] Критично, чтобы внутренние ПК ходили на внутренний IP, а снаружи — на публичный.
|
||
>>Именно из‑за этого у вас “то открывается /owa, то не открывается”: внутри сети обращение к публичному IP не проходило (hairpin NAT), поэтому вы лечили split‑DNS.
|
||
>>
|
||
>
|
||
>>[!Danger]- **2.1** Если Domen Controller не поднят. Настройка DC
|
||
>>На будущем DC:
|
||
>>```
|
||
>>Install-WindowsFeature AD-Domain-Services,DNS -IncludeManagementTools
|
||
>>```
|
||
>>Дальше поднимайте лес (пример):
|
||
>>```
|
||
>>Install-ADDSForest -DomainName "s5teams.local" -DomainNetbiosName "S5TEAMS"
|
||
>>```
|
||
>
|
||
>>[!Tip]- **2.2** Публичный домен внутри сети (split‑DNS)
|
||
>>>[!info] Смысл:
|
||
>>> внутри сети `mail.stitch505.ru` должен резолвиться в **ip типа** **192.168.....**, чтобы OWA/ECP открывались из LAN стабильно.
|
||
>>
|
||
>>>[!Warning] На каждом внутреннем DNS, который обслуживает клиентов (это важно! у вас были разные DNS на разных подсетях), создайте зону `**YOUR_DOMEN**` и запись:
|
||
>>```
|
||
>>Add-DnsServerPrimaryZone -Name "YOUR_DOMEN" -ReplicationScope "Domain" -DynamicUpdate "None"
|
||
>Add-DnsServerResourceRecordA -ZoneName "YOUR_DOMEN" -Name "mail" -IPv4Address "192.168.60.212"
|
||
>Add-DnsServerResourceRecordCName -ZoneName "YOUR_DOMEN" -Name "autodiscover" -HostNameAlias "mail.YOUR_DOMEN"
|
||
>>```
|
||
>>
|
||
>>>[!Bug] ЗАМЕНИТЬ ДАННЫЕ IP и указать свой домен вместо YOUR_DOMEN
|
||
>
|
||
>>[!Bug]- Проверка на клиентском ПК после изменений:
|
||
>>```
|
||
>>ipconfig /flushdns nslookup mail.YOUR_DOMEN
|
||
>>```
|
||
|
||
>[!Bug]- 3. Exchange 2019: установка и базовая оживлялка веба (OWA/ECP)
|
||
>>[!info]
|
||
>>Эта часть — чтобы после установки сразу работали https://mail.../owa и https://mail.../ecp, и чтобы при сбоях вы быстро отличали “IIS жив” от “DNS/маршрут сломан”. В вашем диалоге веб реально “падал” снаружи/изнутри, но на сервере 443 был жив — это типичный признак не Exchange, а сети/DNS.
|
||
>
|
||
>>[!Warning]- 3.1 До установки Exchange (ЧЕКЛИСТ)
|
||
>>1. Сервер должен быть членом домена (если Exchange не на DC).
|
||
>>2. Установите prerequisites (самый практичный путь — ставить компоненты/зависимости, которые просит установщик CU).
|
||
>>3. Перезагрузите сервер, убедитесь, что IIS/службы не в “полуживом” состоянии.
|
||
>
|
||
>>[!warning]- 3.2 Установка Exchange
|
||
>>Смонтировать ISO Exchange 2019 CU.
|
||
>> Запустить setup, выбрать роль Mailbox (в 2019 фактически одна роль).
|
||
>> После установки открыть:
|
||
>> https://<имя_сервера>/ecp (первичная проверка)
|
||
>> потом уже через https://YOUR_DOMEN/ecp
|
||
>
|
||
>>[!Warning] 3.3 Если /owa или /ecp “вечно грузится/таймаут”
|
||
>>1. Проверка на самом сервере:
|
||
>>```
|
||
>>Test-NetConnection 127.0.0.1 -Port 443
|
||
netstat -ano | findstr ":443"
|
||
>>```
|
||
>>2. Быстрый перезапуск IIS:
|
||
>>```
|
||
>>iisreset
|
||
>>```
|
||
>>3. Если внутри сети с ПК не открывается, а на сервере 127.0.0.1:443 ок — почти всегда это DNS/hairpin, возвращайтесь к разделу split‑DNS.
|
||
|
||
>[!Danger] DKIM/SPF/DMARC/PTR
|
||
>Прошлая рабочая схема
|
||
>A mail → 188.170.157.193
|
||
>CNAME autodiscover → mail.stitch505.ru
|
||
>MX → mail.stitch505.ru
|
||
>SPF (TXT для корня домена) `v=spf1 ip4:<PUBLIC_IP> -all`
|
||
>DKIM (TXT для селектора)
|
||
>
|
||
>>[!info] DKIM-агент (Exchange DkimSigner / dkim-exchange) (скачать из интернета или прикрепленного файла)
|
||
>>ПО/что это:
|
||
>>```
|
||
>>это отдельный DKIM‑подписывающий агент для **Exchange on‑prem**, который добавляет заголовок `DKIM-Signature` на исходящую почту.[](https://github.com/Pro/dkim-exchange/issues/78)
|
||
>>```
|
||
>>
|
||
>1. **Установка**
|
||
> - Ставится на Exchange сервер (где работает транспорт).
|
||
> - После установки обычно появляется GUI (настройки доменов) и папка с ключами (часто ...\keys).
|
||
>2. **Создание домена и ключа**
|
||
>- В GUI агента добавь домен: <PUBLIC_DOMAIN>
|
||
>- Selector: например s1 (или любой другой, но одинаковый в агенте и DNS)
|
||
>- Сгенерируй ключ (обычно RSA 2048)
|
||
>- Скопируй public key → вставь в Cloudflare TXT: s1._domainkey.<PUBLIC_DOMAIN>
|
||
>3. **Файлы ключей**.
|
||
> - Private key обычно лежит в файле типа: `C:\Program Files\<DKIM signer>\keys\<PUBLIC_DOMAIN>.pem`
|
||
>- Именно этот файл должен быть доступен службе транспорта Exchange.
|
||
>
|
||
>>[!Warning] Главная ошибка и исправление (Access denied)
|
||
>>```
|
||
>>Почему ломается: транспорт Exchange обычно работает от `NT AUTHORITY\NETWORK SERVICE`, и если у него нет прав на чтение private key (`.pem`), агент пишет “Access denied”, ключ не грузится и доменов становится 0.
|
||
>>```
|
||
>>>[!todo] **Исправление (универсально, подставь свой путь и домен):**
|
||
>>> ```
|
||
>>> $KeyFile = "C:\Program Files\Exchange DkimSigner\keys\<PUBLIC_DOMAIN>.pem" icacls $KeyFile /inheritance:e icacls $KeyFile /grant "NT AUTHORITY\NETWORK SERVICE:RX" Restart-Service MSExchangeTransport
|
||
>>> ```
|
||
>>> /inheritance:e включает наследование ACL, а /grant добавляет права, это штатный синтаксис icacls.
|
||
>
|
||
>>[!Info] Проверка после настройки
|
||
>>1. В логе DKIM‑агента должно быть что-то вроде “settings loaded / Number of domains: 1” (или аналогичная строка, смысл — домен подхватился).
|
||
>>2. Отправь письмо на Gmail → “Показать оригинал”: должно быть `dkim=pass`, а также заголовок `DKIM-Signature`
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|