Велкам!

В данном блоге периодически отражаются не особо очевидные решения стандартных и не очень проблем, связанных с IT сферой. Со всеми описываемыми вопросами я сталкивался лично либо сам, либо по средствам обратившихся ко мне людей. Так или иначе все проблемы решаемы. И если решение не очевидно, то рано или поздно они попадут сюда. Потому что нет нерешаемых загадок!

понедельник, 4 февраля 2013 г.

Потратил полдня, чтобы понять, почему Windows Server 2008 R2 не хочет брать время с маршрутизатора Cisco по протоколу NTP. Сначала сообщает, что получил верный ответ, а через несколько минут - что NTP-сервер не доступен (нет ответа). Долго копался в реестре - безрезультатно. Оказалось, на Киске нужно указать этот сервер в качестве пира.

Описано для английского Windows Server 2008 R2. Для Server 2003, вероятно, решение будет тем же, но проверить не на чем. В русском интерфейсе разбирайтесь самостоятельно.


Для того, чтобы настроить Windows Server и сетевое устройство Cisco для синхронизации времени с NTP-сервером в Интернете, необходимо сделать следующее:
I) Настройка Cisco
1) Настроить получение времени из внешнего источника:

Router(config)#ntp server EXTERNAL_NTP_SERVER_IP

(настоятельно рекомендуется выбирать в Интернете серверы второй, а не первой страты; списки серверов можно найти, например, по ссылке http://support.microsoft.com/kb/262680 )

2) Проверить, что синхронизация с внешним сервером времени успешно установлена:

Router#show ntp status

Первой должна быть строка вида:
Clock is synchronized, stratum 3, reference is EXTERNAL_NTP_SERVER_IP

2) Указать сервер Windows Server 2008 в качестве пира (NTP версии 3):

Router(config)#ntp peer INTERNAL_SERVER_IP Version 3


II) Настройка времени в домене Windows Server 2008

1) Выяснить, какой компьютер играет роль PDC, с помощью одной из следующих команд на произвольном сервере домена:


W32tm /monitor
netdom query fsmo


2) На данном контроллере командой gpedit.msc запустить редактор ЛОКАЛЬНЫХ политик и перейти в раздел Computer Configuration -> Administrative Templates -> System -> Windows Time Service -> Time Providers. Сконфигурировать следующие параметры:

a) Enable Windows NTP Client -> Enabled

б) Configure Windows NTP Client -> Enabled, дополнительные параметры:

NTP Server = CISCO_IP_ADDRESS
Type = NTP
Event Log Flags = 3

3) Выполнить команду gpupdate.

4) Установить значение "5" в следующем ключе реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags

5) Перезапустить службу Windows Time:

net stop w32time && net start w32time

6) По системному журналу событий убедиться, что служба времени Time-Service сгенерировала события с кодами сначала 37 ("The time provider NtpClient is currently receiving valid time data from..."), затем 35 ("The time service is now synchronizing the system time with the time source...")

Если вместо события с кодом 35 через некоторое время выдается событие с кодом 47 ("Time Provider NtpClient: No valid response has been received from manually configured peer..."), проверить, что устройство Cisco сконфигурировано правильно.

7) Перезапустить службу Windows Time на прочих контроллерах домена, после чего выполнить на них команду пересинхронизации:

w32tm /resync /rediscover

8) Убедиться, что контроллеры нормально работают в новых условиях: команда w32tm /monitor должна выдать диагностику, в которой указано, что у сервера с ролью PDC - stratum 4, а у прочих - stratum 5. Убедиться по системным журналам серверов, что они получают правильное время от PDC.

Пример правильной диагностики:
цитата:

DC01.DOMAIL.LOCAL[IP_DC011:123]:
ICMP: 0ms delay
NTP: -0.0005697s offset from DC02.DOMAIL.LOCAL
RefID: DC02.DOMAIL.LOCAL [IP_DC02]
Stratum: 5
DC02.DOMAIL.LOCAL *** PDC ***[[::1]:123]:
ICMP: 0ms delay
NTP: +0.0000000s offset from DC02.DOMAIL.LOCAL
RefID: (unknown) [0xFCFEA8C0]
Stratum: 4
DC03.DOMAIL.LOCAL[IP_DC03:123]:
ICMP: 0ms delay
NTP: +0.0030261s offset from DC02.DOMAIL.LOCAL
RefID: DC02.DOMAIL.LOCAL [IP_DC02]
Stratum: 5

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

P.S. Предполагается, что PDC, устройство Cisco и внешний NTP-сервер могут общаться друг с другом по порту 123/UDP. Настройка файерволлов для данной цели здесь не рассматривается.

PS:
Автор: Lotto
Источник: IXBT

Не удалось настроить DHCP-сервер, код ошибки 0x80074E54

Во время добавления роли DHCP при включеном NAT вы можете встретить данную ошибку: “Не удалось настроить DHCP-сервер, код ошибки 0x80074E54


и получим такую картину, где показывается gw.mshome.net, который мы не настраивали


Используя стандартное средство поиска ошибок,


получаем подсказку

“Проблема:Порт 67 используется процессом с ИД 2976.
Воздействие:Если порт 67 используется другим процессом, DHCP-сервер не может обмениваться данными с DHCPv4-клиентами.
Разрешение:Настройте процесс с ИД 2976 так, чтобы он использовал порт с другим номером.”
Всё кажется логично, порт занят, DHCP сервер не стартует, но кто же его занял? Пытаемся выяснить это при помощи команд (хотя можно сразу использовать вторую команду с PID из сообщения об ошибке):
netstat -a -o|findstr :67 - будут показаны процессы использующие данный порт
tasklist /SVC /FI "PID eq 2976" – подскажет, кто виновен (2976 это номер процесса, который мы получили ранее)

Почесывая затылок, вспоминаем о чудесной возможности NAT назначать адреса, смотрим, включена ли она:


Отключаем данный функционал, удаляем роль DHCP, перегружаемся
чистим настройки del c:\Windows\System32\dhcp\* /F /S /Q
ставим роль DHCP снова и получаем работоспособный DHCP сервер, т.к. теперь никто не занимает наш 67ой порт и не портит картину кривыми настройками

----
PS
Полностью содрано с Zona Sumraka, поскольку помогло в решение практической задачи.