Hyper-V 2012 R2 Replica Broker авторизация на основе сертификатов (5 хостов и 2 домена)

Будем строить отказоустойчивую репликацию между 5 хостами hyper-v 2012 r2 в 2 разных доменах, домены доверенные, но авторизацию для брокера реплики будем использовать на основе wildcard сертификатов.

Суть в том, что для каждого домена нужно создать сертификат корневого центра сертификации rootca.<domainname>.cer и им подписать 2-й созданный сертификат для хостов servers.<domainname>.cer

Готовим сертификаты:

Код ниже выполняем через cmd, перед выполнением нужно достать makecert, он есть по адресу Windows Kits\8.1\bin\x64\ либо, для 2012r2 можно скачать makecert с моего сайта

Я выполнял команды на первых хостах hyper-v каждого домена, при этом они сразу же импортируются в нужные хранилища текущего сервера.

--------------------------------------
1 домен
----------------------

makecert -pe -n "CN=*.domain1.ru" -ss root -sr LocalMachine -sky signature -r "rootca.domain1.ru.cer"
makecert -pe -n "CN=*.domain1.ru" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "*.domain1.ru" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 servers.domain1.ru.cer
---------------------
2 домен
---------------------

makecert -pe -n "CN=*.domain2.com" -ss root -sr LocalMachine -sky signature -r "rootca.domain2.com.cer"
makecert -pe -n "CN=*.domain2.com" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "*.domain2.com" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 servers.domain2.com.cer

На каждом хосте меняем реестр:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f

Во время выполнения могут возникнуть ошибки:

Error: CryptCertStrToNameW failed => 0x80092023 (-2146885597)
Failed

Это означает что вы скачали не тот makecert или не из того SDK. Для Windows Server 2012 нужен SDK для Windows 8. А для 2012 r2 нужен от 8.1. Все доступные SDK можно скачать тут

Error: There are more than one matching certificate in the issuer's root cert st
ore
Failed

Эта ошибка означает, что в хранилище сертификатов уже есть одноименный, сертификат либо сертификат с таким же отпечатком, нужно зайти в оснастку сертификаты, и аккуратно удалить неправильный старый сертификат.

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

Открываем оснастку сертификаты — Локальный ПК, переходим в Личное — Сертификаты, находим там сертификат с ключиком и экспортируем в файл, тоже самое делаем в Доверенные корневые центры сертификации — Сертификаты, тут экспортируем хостовый сертификат с закрытым ключем.

После экспорта на всех хостах, нужно импортировать все сертификаты на все хосты в правильные папки, рутовые в Доверенные корневые центры сертификации и хостовые в Личные.

После этого можно начинать настраивать репликацию.

Еще может возникнуть вот такая ошибка: 0x00002EFD

2014-10-20_143937

Это означает, что с сертификатами что то не так, не правильное имя домена или еще что то…

Нужно делать либо WildCard сертификаты для авторизации Hyper-v Replica, либо  сертификаты с дополнительным полем SAN (Subject Alternative Name) в котором прописывать имена всех хостов, имена брокера реплики (обязательно fqdn). Но сертификат с SAN в Windows можно подготовить только с помощью центра сертификации.

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>