Показать полную графическую версию : Синхронизация времени
Snaiffer
15-09-2011, 12:47
Задача:
Клиентам WindowsXP надо синхронизировать время с сервером под FreeBSD 8.2
Что есть:
В данный момент у меня тестовый стенд с двумя компами подсоединенными на прямую без выхода в интернет. Соответственно на одном компе FreeBSD, на другом Windows XP.
Проблема:
В WinXP в настройках "Дата и время"/Время Интернета ввел IP адрес сервера, нажал "Обновить сейчас". На что он мне ответил "Ошибка при выполнение синхронизации с сервером".
При этом сторонняя программа для синхронизации времени под WnXP (название TimeSync) синхронизирует все без ошибок.
rc.conf
ntpdate_enable="YES"
ntpd_enable="YES"
ntp.conf
server localhost
logfile /var/log/ntp.log
driftfile /var/db/ntp.drift
Загрузи reg-файл (или исправь руками):
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"LocalNTP"=dword:00000001
"type"="NTP"
"ReliableTimeSource"=dword:00000001
"NtpServer"="xxx.xxx.xxx.xxx"
"Period"=dword:00000024
Нужна перезагрузка ХР или рестарт сервиса.
Настройка старта сервиса должна быть "авто".
без выхода в интернет. »
Значит, доступа к реальным таймсерверам нет, а локальный источник времени вы неправильно указали (localhost, 127.0.0.1). Делайте по статье http://support.ntp.org/bin/view/Support/UndisciplinedLocalClock
server 127.127.1.0
fudge 127.127.1.0 stratum 10
To access its own system clock, also called the local clock, NTP uses the pseudo IP address 127.127.1.0. This IP address must not be mixed up with 127.0.0.1, which is the IP of the localhost, i.e. the computer's loopback interface.
ntpdate_enable="YES" в этом случае лишнее.
Проверить рабочесть локально можно командой ntpq -p
Snaiffer
16-09-2011, 12:03
Загрузи reg-файл (или исправь руками):
Код:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"LocalNTP"=dword:00000001
"type"="NTP"
"ReliableTimeSource"=dword:00000001
"NtpServer"="xxx.xxx.xxx.xxx"
"Period"=dword:00000024
Нужна перезагрузка ХР или рестарт сервиса.
Настройка старта сервиса должна быть "авто". »
Прописал, перезагрузил, часы не синхронизировались. Попытался ручками (через "Обновить сейчас"), так же выдал сообщение об ошибке
Цитата Snaiffer:
без выхода в интернет. »
Значит, доступа к реальным таймсерверам нет, а локальный источник времени вы неправильно указали (localhost, 127.0.0.1). Делайте по статье http://support.ntp.org/bin/view/Supp...inedLocalClock
Код:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
Цитата:
To access its own system clock, also called the local clock, NTP uses the pseudo IP address 127.127.1.0. This IP address must not be mixed up with 127.0.0.1, which is the IP of the localhost, i.e. the computer's loopback interface.
ntpdate_enable="YES" в этом случае лишнее.
Проверить рабочесть локально можно командой ntpq -p »
Поменял конфиг, перезагрузил, на XP нажал "Обновить сейчас", так же выдал сообщение об ошибке. При этом во фряхе появилось сообщение об ошибке:
ntpd[1023]: sendto(192.168.1.100) (fd=22): No route to host
ntpd[1023]: sendto(192.168.244.1) (fd=22): No route to host
ntpd[1023]: sendto(192.168.29.1) (fd=22): No route to host
не знаю имеет это значение или нет, но время на фряхе у меня установлено 05.07.2007 а в ХР 16.09.2011
ntpd[1023]: sendto(192.168.1.100) (fd=22): No route to host
ntpd[1023]: sendto(192.168.244.1) (fd=22): No route to host
ntpd[1023]: sendto(192.168.29.1) (fd=22): No route to host »
А что это за адреса? Тестовых машин виндовых? Говорит, что нет маршрута. А, он может пытаться синхронизироваться с этими машинами, а там NTPd нет и на UDP/123 никто не слушает.
Наверно, надо добавить что-то вида
restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap
Адреса и маски подсетей, разумеется, выставьте свои.
не знаю имеет это значение или нет, но время на фряхе у меня установлено 05.07.2007 а в ХР 16.09.2011 »
Возможно, имеет. Не знаю как у Windows Time Service, а NTPd отказывается подстраивать время, если расхождение превышает 1000 секунд.
PS А в логах что? grep ntpd /var/log/messages
Snaiffer
16-09-2011, 16:02
А что это за адреса? Тестовых машин виндовых? Говорит, что нет маршрута. А, он может пытаться синхронизироваться с этими машинами, а там NTPd нет и на UDP/123 никто не слушает.
Наверно, надо добавить что-то вида »
Не, машины у меня всего две, подключены напрямую через Ethernet. Возможно это адреса внешних серверов, с которыми пытается синхронизироваться сама FreeBSD.
Щас попробовал подсоединить к Фряхи интернет через Вайфай, чтобы она могла синхронизироваться с серверами времени в интернете, эти ошибки исчезли. И теперь мне винда пишет "Произошла ошибка при получении состояния последней синхронизации. Сервер RPC недоступен", а не "Ошибка при выполнение синхронизации с сервером"
Про restrict... вроде в манах написано что без restrict'a сервер ntp по умолчанию доступен всем.
И теперь мне винда пишет "Произошла ошибка при получении состояния последней синхронизации. Сервер RPC недоступен", а не "Ошибка при выполнение синхронизации с сервером" »
Проверяйте доступность UDP/123
Про restrict... вроде в манах написано что без restrict'a сервер ntp по умолчанию доступен всем. »
Эти ограничения лишь чтобы сервер не пытался синхронизироваться с указанными.
ЗЫ Еще раз, что в логах?
на фряхе у меня установлено 05.07.2007 а в ХР 16.09.2011 »
Я сталкивался с ситуацией, когда время при синхронизации назад не отводилось, выравнивание осуществлялось за счет сильного затормаживания хода часов.
Можно посмотреть как они тикают, открыв диалог установки времени.
Кроме того, есть журналы windows, там события синхронизации фиксируются.
Snaiffer
26-09-2011, 10:03
Вообщем вроде разобрался со всем=)
Итог таков:
1) Хз что там происходит во фряхе, мб что то настроить надо, но почему то демоны запускались быстрее чем инициализировалась looback. Тут форум (http://unixforum.org/index.php?showtopic=112383&st=0&p=1057521&#entry1057521) на котором я нашел подобную проблему . Для ее решения надо просто в /etc/rc.conf поставить паузу. (я поставил "sleep 1" перед "inetd_enable")
2) Сервера времени, которые указаны в самой FreeBSD для синхронизации должны быть доступны (хотя бы один). Иначе Винда будет выдавать ошибку "RPC сервер не доступен"
3) Разница между Виндовы временем и ФриБСДешным не должна быть больше одного дня. Иначе Винда в лучшем случае выдает ошибку, что разница времени очень большая, а в худшей у нее отвалится сервис времени и приходится его перезапускать
"inetd_enable" »
Вы ntpd через inetd запускаете? Зачем?
Сервера времени, которые указаны в самой FreeBSD для синхронизации должны быть доступны (хотя бы один). Иначе Винда будет выдавать ошибку "RPC сервер не доступен" »
Очевидно, из-за слишком низкого stratum.
Snaiffer
27-09-2011, 10:53
Вы ntpd через inetd запускаете? Зачем? »
нет, inetd это просто первая строка конфига после настроек сети
Очевидно, из-за слишком низкого stratum. »
прописал в настройках
server 127.127.1.0
fudge 127.127.1.0 stratum 10
После этого, Винда правда перестала писать "RPC сервер не доступен", но теперь пишет "Страта другого узла меньше, чем страта этого компьютера". Пробовал прописывать и 1, и 10, и 20, но ошибка почему то не исчезает
Вообще-то страту законным способом можно улучшить только добавив не менее двух-трёх пиров с хорошими стратами.
Но можно обмануть таким способом:
# а это волшебная штука, которая выставляет уровень доверия серверу (strata) самому себе равный 3
# в двух словах чем выше уровень-тем меньше число. 0 - это атомные часы,
# 1 - это синхронизированные с ними, 2 - с первым, и так далее.
server 127.127.1.1
fudge 127.127.1.1 stratum 3
проверить страту можно так ntpdate -d <server>
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.