Поскольку у вас есть хост Windows, вы можете убедиться, что у вас локально работает ntp-сервер: http://blogs.msdn.com/b/w32time/archive/2008/04/02/configuring-a-standalone-time-server .aspx
Вы можете проверить, включен ли сервер, выполнив следующую команду:
w32tm /query /configuration
Имейте в виду, что вам нужно подняться, чтобы выполнить эту команду. Когда вы выполните это, вы получите полный список настроек конфигурации. Мы особенно заинтересованы в разделе NtpServer:
NtpServer (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)
В третьей строке будет указано, включен ли NtpServer (он же «серверная часть»). Если Enabled равен 1, то он включен. Если вы видите, что Enabled равен 0, то он выключен Если вы не используете Vista или Server 2008, вы можете запросить реестр напрямую:
reg query HKLM\system\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
Вы должны увидеть запись, которая выглядит примерно так:
Enabled REG_DWORD 0x1
Как и раньше, 1 включено, 0 выключено. Вы можете в любой момент включить NtpServer, выполнив следующие команды:
reg add HKLM\system\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer /v Enabled /t REG_DWORD /d 0x1 /f
w32tm /config /update
Первая команда изменит флаг «Включено» в реестре на 1 (включив NtpServer), затем вторая команда сообщит службе w32time, что необходимо повторно прочитать конфигурацию в реестре, чтобы изменения стали активными. Вы можете подтвердить, что NtpServer действительно работает, снова вызвав w32time:
w32tm /query /configuration
Затем используйте это как ваш ntp-сервер из вашего клиента Linux
ntpdate 10.0.2.2
(Помните, что при запуске NAT 10.0.2.2
является адресом хоста).
Я сам искал ответ и нашел его полезным, так как наш брандмауэр блокирует порт ntp по умолчанию.