Компьютер с Windows 2000 может поддерживать службу времени в группе клиентов NT и Windows 9x.
Часы и календарь для персональных компьютеров всегда были камнем преткновения. В эпоху ранних версий DOS время и дату приходилось вводить каждый раз при запуске системы. Так было до тех пор, пока на ПК не начали использовать батарейки питания для часов и календаря. Материнские платы со встроенными часами и календарем были запущены в производство в 1984 г.
Однако эти встроенные элементы не очень точны. Обследование нескольких дюжин компьютеров в любом офисе покажет, что время на разных машинах может отличаться более чем на час, и на всех оно не соответствует реальному времени. Поэтому разработчики стали искать более точные источники времени.
Очевидно, что таким централизованным источником времени в сети могут служить серверы. В то время как серверы Novell NetWare уже несколько лет могли автоматически синхронизировать время на всех компьютерах сети при регистрации с них на сервере, продукты Microsoft подобные функции не поддерживали. Зная несколько хитростей, о которых я расскажу позже, можно было синхронизировать время рабочих станций Windows NT со временем сервера NT, но эта методика не очень широко известна. Кроме того, нельзя синхронизировать время рабочей станции NT со временем сервера, не изменяя прав пользователя, заданных по умолчанию.
Windows 2000 упрощает процесс синхронизации времени в NT с помощью новой встроенной службы Windows Time Service. Эта системная служба почти не требует администрирования. Компьютеры, на которых установлена система Windows 2000 Professional, и серверы с любой версией Windows 2000 Server сверяют свое системное время и дату со временем и датой контроллера домена (DC), обеспечивающего аутентификацию данной рабочей станции или автономного сервера. Но компьютер или сервер синхронизирует свое время со временем DC не только в процессе аутентификации: синхронизация времени производится приблизительно каждые 8 ч или каждый раз при регистрации пользователя.
Со своей стороны, контроллеры домена синхронизируют свое время с одним конкретным контроллером в домене — мастером операций, который играет роль эмулятора PDC. По умолчанию, эмулятором PDC становится первый контроллер, устанавливаемый в домене. Но с чем каждый PDC-эмулятор домена синхронизирует свое время? С эмулятором PDC первого домена, который был создан (т. е. с тем DC, который используется в качестве эмулятора в корневом домене леса). Таким образом этот компьютер в корне леса играет роль главных часов и календаря для целого леса Active Direc-tory (AD). Кроме того, основной хронометрист различает временные зоны.
Теперь поясню, как установить синхронизацию основного компьютера времени, т. е. корневого PDC-эмулятора леса, с реальным временем. Для этого следует ввести команду
net time /setsntp:
Параметр /setsntp команды Net Time показывает, что используется Simple Network Time Protocol (SNTP), стандартный протокол Internet. Internet Engineering Task Force (IETF) Request for Comments (RFC-2030), датированный октябрем 1996 г., определяет SNTP. Можно указать любой сервер времени SNTP в Internet для корневого PDC-эмулятора леса и заставить его синхронизировать свое время с временем этого сервера. Многие брандмауэры включают сервер времени, так что для конкретного контроллера — эмулятора PDC — нет нужды обращаться куда-либо из своей внутренней сети для синхронизации с SNTP-сервером. Но если брандмауэр требуется настраивать, то нужно иметь в виду, что SNTP использует 123-й порт UDP.
В поисках времени
Где найти SNTP-серверы? В Соединенных Штатах существует лаборатория военно-морского флота, которая поддерживает ряд серверов времени, включая tick.usno.navy.mil и tock.usno.navy .mil. По своему опыту могу сказать, что большинство DNS-серверов провайдеров IS также могут быть SNTP-серверами. Так, если один из DNS-серверов называется ns2.bigisp.com, можно набрать команду
net time /setsntp:ns2.bigisp.com
для синхронизации мастера операций с DNS-сервером.
В документации Microsoft по команде Net Time /setsntp сказано, что в команде можно указать и список серверов. Да, но есть одна тонкость: список нужно заключить в кавычки, а имена серверов разделить пробелами. Например, для того, чтобы сервер осуществлял поиск времени сначала на www.acme.com, а затем, в случае необходимости, на www.apex.com, нужно набрать
net time /setsntp:"www.acme.com www.apex.com"
Если требуется использовать внешний источник времени, то нужно сначала удостовериться, что подобный сервер времени существует. В документации Microsoft сообщается, что достаточно ввести только Net Time для определения времени на SNTP-сервере, но этот способ мне не подходит. Убедиться, что Windows Time Service действительно работает, можно с помощью средства командной строки W32tm. Но для начала наберите команду
net stop w32time
чтобы остановить Windows Time Service. Затем можно проверить время источника, для чего следует ввести
w32tm -once
чтобы установить время от источника времени однократно (по умолчанию W32tm обновляет время периодически). Система выдает страницу запутанной информации; в случае успешного выполнения команды в одной из строк появится Recv`ed from server 48 Bytes. Далее необходимо набрать
net start w32time
чтобы снова запустить службу времени.
После первоначальной синхронизации с сервером времени компьютер снова сверяет с ним свое время через 45 мин. Если выясняется, что разница между показаниями часов сервера времени и системных часов компьютера не превышает 2 с, интервал ожидания следующей сверки с сервером времени удваивается. Если через полтора часа разница во времени остается в пределах 2 с, компьютер продолжает удваивать интервал синхронизации и проверять точность времени и, наконец, останавливается на интервале приблизительно 8 ч.
Если неизвестно, с каким SNTP-сервером синхронизируется система, в командной строке следует ввести:
net time /querysntp
Правда, эта команда работает только на PDC-эмуляторе в корне леса. Как для других компьютеров сети определить их источник времени, мне неизвестно. Поэтому даже если другой PDC-эмулятор этого леса указывает на корневой PDC-эмулятор, очевидно, что нельзя получить информацию о компьютере, который находится не в корне леса.
Windows Time Service особенно пригодиться тем, кто использует Windows 2000, но еще не перешел к AD. Как я уже сказал, можно дать корневому PDC-эмулятору леса команду сверять свои часы с SNTP-сервером, но можно также использовать команду Net Time /setsntp, чтобы любой компьютер синхронизировал время с SNTP-источником. Если задать команду Set Time на компьютере, который не является членом домена Windows 2000, может обнаружиться, что Windows Time Service не устанавливает на нем время. Мой опыт показывает, что Windows Time Service для систем, не являющихся членами домена, запускается вручную. Поэтому если есть «одинокий» компьютер и нужно автоматически синхронизировать его системное время и дату с SNTP-источником, следует установить службу Win-dows Time Service в режим автоматического запуска.
Хранение времени на клиенте NT
А как устанавливается время на компьютерах с NT 4.0 и Windows 9x? Чтобы использовать SNTP-сервер для установки времени на одной из таких систем, необходима лишь часть программного обеспечения SNTP-клиента, чтобы сыграть роль, которую Windows Time Service выполняет в Windows 2000. Существуют различные SNTP-клиенты для систем Windows, их можно поискать на любом сайте со свободно распространяемым программным обеспечением SNTP или Tardis (Tardis — популярный SNTP-клиент для UNIX). В Microsoft Windows NT Resource Kit имеется утилита W32time, которую можно использовать в качестве клиента для NT, обеспечивающего поддержку SNTP. Его можно загрузить по адресу: ftp://ftp.microsoft.com/reskit/y2kfix.
Можно внести изменение в реестр, чтобы превратить системы Windows 2000 в SNTP-сервер. В HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesW32 TimePara-meters найдите параметр LocalNTP типа REG_DWORD. Измените его значение с 0 на 1. После перезагрузки Windows Time Service, данный ком-пьютер с системой Windows 2000 будет функционировать как SNTP-сервер.
Таким образом, если в организации совместно используются Windows 2000, NT и Windows 9x, то можно установить одну систему Windows 2000 для синхронизации времени с Internet и для обслуживания оставшейся части машин рабочей группы. Затем следует установить программное обеспечение клиента SNTP на всех других машинах и определить систему с Windows 2000 как SNTP-сервер. Тогда все машины смогут синхронизировать время даже без использования AD.
Марк Минаси — редактор Windows NT Magazine, MCSE и автор книги «Mastering Windows NT Server 4.0» (издательство Sybex). С ним можно связаться по адресу: mark@minasi.com.
Настройка для Windows 2000/2003
Вся настрока выполняется из командной строки. Откройте коммандную строку и выполните следующие команды:
net time /setsntp:адрес_сервера
net stop w32time && net start w32time
w32tm /resync
В ответ должны получить следующее:
Команда синхронизации отправлена на local computer…
Команда выполнена успешно.
Для определения величины расхождения локального времени и времени любого компьютера в сети, используйте команду:
w32tm /stripchart /computer:имя_компьютера
На экран будет выводиться информация о дельте локального времени и времени на имя_компьютера до прерывания работы при помощи Ctrl+C.
Если Ваша сеть с доменами, то клиенты будут автоматически синхронизировать свои часы с контроллером домена. Если Вы не используете в сети доменов, то настройку клиентов требуется проводить вручную.
Время с NTP-сервера (UTC)
—:—:—
Время на компьютере (UTC)
—:—:—
Сменить часовой пояс для показа времени с NTP-сервера можно на главной странице сайта.
This article gives a step-by-step guide to configuring Windows Server 2000 to run a NTP time server.
Microsoft Windows 2000 has a time synchronisation utility built into the operating system called Windows Time (w32time.exe) which can be configured to operate as a network time server and uses a version of NTP called SNTP (simplified network time protocol).
Please note: Microsoft and others strongly recommend that you configure a time server with a hardware source rather than from the internet where there is no authentication. For information on NTP time servers, receivers and other NTP products please click here
To configure the Windows Time service to use an external time source please follow these instructions:
Click Start, Run and type regedit then click OK.
Locate the following subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click Type then click Modify, in edit Value type NTP in the Value data box then click OK.
Now in the right pane, right click ReliableTimeSource, then click Modify.
In the Edit DWORD Value box, under Value Data, type 0, then click OK.
Right-click NtpServer in the right pane then click Modify.
In Edit Value, type the Domain Name System (DNS), each DNS must be unique.
Now click Ok.
For Windows 2000 Service Pack 4 only, set the time correction settings to do this locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click MaxAllowedClockErrInSecs, then Modify in the Edit DWORD Value box, , type a time in seconds max number of seconds difference between the local clock and the time received from the NTP server in order to be considered a valid new time.
Click OK.
To set the poll intervals locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
In the right pane, right-click Period, then click Modify.
In the Edit DWORD Value box, under Value Data, type 24 then OK
Exit Registry Editor
Click Start, then Run then type the following and press Enter:
Net stop w32time && net start w32time
To reset the local computers’ time, type the following on all computers except for the time server which must not be synchronised with itself:
To enable the Network Time Protocol; NTPserver, locate and click:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\
In the right pane, right-click Enabled, then click Modify.
In the Edit DWord Value box, type 1 under Value data, then click OK.
Now go back and click on
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type In the right pane, right-click NtpServer, then Modify, in the Edit DWORD Value under Value Data type the Domain Name System (DNS), each DNS must be unique and you must append 0x1 to the end of each DNS name otherwise changes will not take effect.
Now click Ok.
Locate and click the following
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
In the right pane, right-click SpecialPollInterval, then click Modify.
In the Edit DWORD Value box, under Value Data, type the number of seconds you want for each poll, ie 900 will poll every 15 minutes, then click OK.
To configure the time correction settings, locate:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config
In the right pane, right-click MaxPosPhaseCorrection, then Modify, in the Edit DWORD Value box, under Base, click Decimal, under Value Data, type a time in seconds such as 3600 (an hour) then click OK.
Now go back and click:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\config
In the right pane, right-click MaxNegPhaseCorrection, then Modify.
In the Edit DWORD box under base, click Decimal, under value data type the time in seconds you want to poll such as 3600 (polls in one hour)
Exit Registry Editor
Now to restart windows time service, click Start, Run (or alternatively use the command prompt facility) and type:
net stop w32time && net start w32time
And on each computer, other than the time server, type:
W32tm/ -s
Возникла необходимость синхронизации времени на компьютерах в локальной сети на стандартном 123 UDP порту?
Или как я настраивал сервер NTP в локальной сети на Windows хосте.
Ситуация следующая: в одноранговой локальной сети есть одна Windows машина которая ходит в нтернет и синхронизирует время, например с time.nist.gov.
Рабочие станции этой сети не ходят в Интернет, или им запрещено синхронизироваться, или вы не хотите дополнительный трафик по UDP 123 порту наружу, или есть проблемы синхронизации времени с популярных интернет ntp cерверов. C помощью этой статьи вы настроите синхронизацию времени в среде Windows и настроите NTP сервер на обычной Windows машине.
Сервер синхронизации времени ntp может работать на Windows 2000, Windows XP Prof, Windows 7, Windows Server 2003/2008 .
Итак, приступаем к настойке локального Windows сервера синхронизации времени (NTP server на 123 UDP порту).
Начнем с ОС Windows XP Prof (Windows XP Home — то же самое).
Открываем реестр — Пуск -> выполнить -> regedit
идем в ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Set\Services\W32Time\Config
присваеваем параметру AnnounceFlags значение 5. Тем самым мы обьявим наш будущий NTP сервер, достоверным и компьютеры при синхронизации с ним не будут ругаться.
Далее Пуск -> выполнить -> mmc и добавляем оснастку «Редактор обьекта групповой полтики». Обьектом группвой политики выступит Локальный компьютер.
Идем по разделам Конфигурация компьютера -> Администрантивные шаблоны -> Система -> Служба времени Windows -> Поставщики времени. Там находим «Включить Windows NTP-сервер» и в свойствах выбираем позицию «включить». В заключении проходим в Службы, ищем «Служба времени Windows» и перезапускаем этот сервис. Если он не включен, то включаем его и ставим тип запуска «Авто».
Кроме этого на раздающем сервере необходимо изменить интервал через который он сам будет ходить в инет за временем.
Открываем реестр — Пуск -> выполнить -> regedit
идем в ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient\SpecialPollInterval
По умолчанию интервал между обновлениями времени в Windows – 1 неделя (604800 сек). При низкой точности системных часов компьютера это слишком большой интервал. При такой настройке за 1 неделю часы Вашего компьютера могут получить погрешность величиной порядка минуты или даже нескольких минут. Рекомендую уменьшить интервал обновления до нескольких часов. Это изменение не увеличит ни трафика, ни нагрузки на NTP-сервер, при этом позволит поддерживать более высокую точность хода часов Вашего компьютера.
При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка.
После внесения необходимых настроек в можно перечитать конфигурацию сохраненную в реестре коммандой приведенной ниже, или перезагрузить компьютер.
w32tm /config /update
И при необходимости выполнить немедленную синхронизацию
w32tm /resync
На этом настройка сервера закончена.
На клиентских компьютерах следуем в «Панель управления», выбираем «дата и время» и в закладке «Время интернета» меняем строку сервер на IP (или имя) вашего локального сервера.
Вот и все.
Можно раскидать батник на рабочие станции:
w32tm /config /manualpeerlist:IP_адрес_сервера,0x1 /syncfromflags:MANUAL
net stop w32time
net start w32time
w32tm /resync
И запускаем его на клиентских машинах с правами Администратора.
Для WINDOWS 2000
Теперь поясню, как установить синхронизацию основного компьютера времени, т. е. корневого PDC-эмулятора леса, с реальным временем. Для этого следует Пуск -> выполнить -> ввести команду:
net time /setsntp:
Параметр /setsntp команды Net Time показывает, что используется Simple Network Time Protocol (SNTP), стандартный протокол Internet. Internet Engineering Task Force (IETF) Request for Comments (RFC-2030), датированный октябрем 1996 г., определяет SNTP. Можно указать любой сервер времени SNTP в Internet для корневого PDC-эмулятора леса и заставить его синхронизировать свое время с временем этого сервера. Многие брандмауэры включают сервер времени, так что для конкретного контроллера — эмулятора PDC — нет нужды обращаться куда-либо из своей внутренней сети для синхронизации с SNTP-сервером. Но если брандмауэр требуется настраивать, то нужно иметь в виду, что SNTP использует 123-й порт UDP.
Остановит сервер времени
Windows Time Service:
net stop w32time
Затем можно проверить время источника, для чего следует ввести:
w32tm -once
чтобы установить время от источника времени однократно (по умолчанию W32tm обновляет время периодически). Система выдает страницу запутанной информации; в случае успешного выполнения команды в одной из строк появится Recv`ed from server 48 Bytes. Далее необходимо набрать:
net start w32time
чтобы снова запустить службу времени.
После первоначальной синхронизации с сервером времени компьютер снова сверяет с ним свое время через 45 мин. Если выясняется, что разница между показаниями часов сервера времени и системных часов компьютера не превышает 2 с, интервал ожидания следующей сверки с сервером времени удваивается. Если через полтора часа разница во времени остается в пределах 2 с, компьютер продолжает удваивать интервал синхронизации и проверять точность времени и, наконец, останавливается на интервале приблизительно 8 ч.
Если неизвестно, с каким SNTP-сервером синхронизируется система, в командной строке следует ввести:
net time /querysntp
Пишите если у кого не получилось, я запустил на 20-30 машинах в локалке и забыл о проблемах с разным временем в отчетах, логах, видео архивах и прочее. Главное не забывать когда заводите в сети новую машину проделать с ней эту процедуру.
Ручная настройка сервера на рабочей станции Windows.
1. Клик на часах в трее
2. Изменить дату и время
3. Время интернет — Изменить натройки.
4. Впечатайте IP адрес или DNS имя вашего локального NTP сервера, или публичные рабочие сервера времени.
Мировые рабочие сервера времени для синхронизации времени:
0.pool.ntp.org
1.pool.ntp.org
2.pool.ntp.org
3.pool.ntp.org
5. Сохраняем все
The Microsoft Windows operating systems from Windows 2000 onwards has a built-in time synchronization service – ‘Windows Time’. This article describes how to configure the Microsoft Windows 2003 and Windows 2000 time service as a NTP time server. It shows how to modify registry entries to configure the Microsoft Windows Time Service. The Windows Time service allows a Windows network to provide synchronisation of all machines within a domain.
Windows 2003 Server Configuration
Windows 2003 has expanded on the original Windows 2000 time service by providing a true NTP implementation. The time service, installed by default, can synchronise to a NTP Server. Indeed, by manipulating registry settings for the service it can act as both an NTP server and client to synchronise other network clients in the domain.
The ‘Windows Time’ service should be present in the systems service list. The application executable is ‘w32time.exe’. The parameter list for w32time can be found in the registry at:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
Before modifying registry entries it is good a dood idea to backup the registry settings. The registry can then be restored in the event of problems being encountered.
To configure a Windows 2003 machine to synchronise to an external NTP server, edit the following registry entries:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
Set the ‘Announce Flags’ registry entry to 5, to indicate a reliable time source.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NTPClient\SpecialPollInterval
The ‘Special Poll Interval’ registry entry defines the period in seconds that the Windows 2003 machine should poll the NTP server. A recommended value is 900 seconds, which equates to every 15 minutes.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer
The ‘NTP Server’ parameter is used to provide a list of IP addresses or DNS names, separated by a space, of NTP servers that the Windows 2003 machine can synchronise to.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NTPServer\Enabled
Changing the ‘Enabled’ flag to the value 1 enables the NTP Server.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
Change the server type to NTP by specifying ‘NTP’ in the ‘Type’ registry entry.
Windows 2000 Time Service Configuration
Windows 2000 has an integrated time synchronisation service, installed by default, which can synchronise to a NTP Server. Indeed, by manipulating registry settings, the service can act as both an SNTP client and SNTP server to synchronise other network clients.
Before modifying registry entries it is good a dood idea to backup the registry settings. The registry can then be restored in the event of problems being encountered.
The ‘Windows Time’ service should be present in the systems service list. The application executable is ‘w32time.exe’. The parameter list for w32time can be found in the registry at:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
Windows 2000 can operate as an NTP client and synchronise to an NTP server by setting parameter ‘NTP Server’ to the IP address of a NTP Server.
By default, the Microsoft Windows 2000 machine will synchronise to the specified NTP time server every 8 hours (or 3 times a day), which may not be enough to maintain accurate synchronisation. The period can be reduced by setting the ‘Period’ parameter to how many times a day synchronisation is required. Setting the period to 48 will activate synchronisation with the NTP server once every half hour.
Windows 2000 can also be configured to act as an NTP server by setting the ‘Local NTP’ parameter to ‘1’.
After editing any of the registry entries for the windows time service, the service must be restarted for the settings to take effect. The services can be started or stopped from the service control applet in ‘administrative tools’. Alternatively the service can be controlled via the DOS net command thus:
net start w32time
net stop w32time
NTP Troubleshooting
A number of problems can be encountered when configuring the Windows Time Service. NTP operates using the UDP protocol over TCP/IP. Therefore the TCP/IP network infrastructure must be operational for NTP to be effective. Synchronisation issues may arise when NTP attempts to synchronise to an inaccurate time reference or if network delays are excessive.
Synchronising Time on Network Devices
As well as synchronising Microsoft Windows servers and workstations, NTP can also be used to synchronise network devices, such as hubs, switches and routers. Any network device that can synchronise to a NTP server can be pointed to the Windows server to achieve time synchronisation. In this way the whole network and accompanying infrastructure can be synchronised.
About the Author
Dave Evans is involved in the development of NTP Server synchronisation solutions to ensure accurate time on PC’s and computer systems. Dave has developed dedicated NTP server systems, NTP synchronised digital clock systems and atomic clock time synchronisation products. Click here to find out more about NTP Server Systems.
(ArticlesBase SC #108481)
Article Source: http://www.articlesbase.com/ – How to Configure Windows Server as a Ntp Server