Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Синхронизация времени (http://forum.oszone.net/showthread.php?t=215679)

Snaiffer 15-09-2011 12:47 1753481

Синхронизация времени
 
Задача:
Клиентам 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


gf100 15-09-2011 17:43 1753677

Загрузи 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

Нужна перезагрузка ХР или рестарт сервиса.
Настройка старта сервиса должна быть "авто".

vadblm 15-09-2011 17:49 1753685

Цитата:

Цитата 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

Snaiffer 16-09-2011 12:03 1754185

Цитата:

Цитата gf100
Загрузи 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
Нужна перезагрузка ХР или рестарт сервиса.
Настройка старта сервиса должна быть "авто". »

Прописал, перезагрузил, часы не синхронизировались. Попытался ручками (через "Обновить сейчас"), так же выдал сообщение об ошибке

Цитата:

Цитата vadblm
Цитата 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

vadblm 16-09-2011 12:50 1754227

Цитата:

Цитата Snaiffer
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
Адреса и маски подсетей, разумеется, выставьте свои.
Цитата:

Цитата Snaiffer
не знаю имеет это значение или нет, но время на фряхе у меня установлено 05.07.2007 а в ХР 16.09.2011 »

Возможно, имеет. Не знаю как у Windows Time Service, а NTPd отказывается подстраивать время, если расхождение превышает 1000 секунд.

PS А в логах что? grep ntpd /var/log/messages

Snaiffer 16-09-2011 16:02 1754344

Цитата:

Цитата vadblm
А что это за адреса? Тестовых машин виндовых? Говорит, что нет маршрута. А, он может пытаться синхронизироваться с этими машинами, а там NTPd нет и на UDP/123 никто не слушает.
Наверно, надо добавить что-то вида »

Не, машины у меня всего две, подключены напрямую через Ethernet. Возможно это адреса внешних серверов, с которыми пытается синхронизироваться сама FreeBSD.
Щас попробовал подсоединить к Фряхи интернет через Вайфай, чтобы она могла синхронизироваться с серверами времени в интернете, эти ошибки исчезли. И теперь мне винда пишет "Произошла ошибка при получении состояния последней синхронизации. Сервер RPC недоступен", а не "Ошибка при выполнение синхронизации с сервером"
Про restrict... вроде в манах написано что без restrict'a сервер ntp по умолчанию доступен всем.

vadblm 16-09-2011 16:09 1754350

Цитата:

Цитата Snaiffer
И теперь мне винда пишет "Произошла ошибка при получении состояния последней синхронизации. Сервер RPC недоступен", а не "Ошибка при выполнение синхронизации с сервером" »

Проверяйте доступность UDP/123
Цитата:

Цитата Snaiffer
Про restrict... вроде в манах написано что без restrict'a сервер ntp по умолчанию доступен всем. »

Эти ограничения лишь чтобы сервер не пытался синхронизироваться с указанными.

ЗЫ Еще раз, что в логах?

gf100 17-09-2011 23:05 1755134

Цитата:

Цитата Snaiffer
на фряхе у меня установлено 05.07.2007 а в ХР 16.09.2011 »

Я сталкивался с ситуацией, когда время при синхронизации назад не отводилось, выравнивание осуществлялось за счет сильного затормаживания хода часов.
Можно посмотреть как они тикают, открыв диалог установки времени.
Кроме того, есть журналы windows, там события синхронизации фиксируются.

Snaiffer 26-09-2011 10:03 1760219

Вообщем вроде разобрался со всем=)

Итог таков:
1) Хз что там происходит во фряхе, мб что то настроить надо, но почему то демоны запускались быстрее чем инициализировалась looback. Тут форум на котором я нашел подобную проблему . Для ее решения надо просто в /etc/rc.conf поставить паузу. (я поставил "sleep 1" перед "inetd_enable")
2) Сервера времени, которые указаны в самой FreeBSD для синхронизации должны быть доступны (хотя бы один). Иначе Винда будет выдавать ошибку "RPC сервер не доступен"
3) Разница между Виндовы временем и ФриБСДешным не должна быть больше одного дня. Иначе Винда в лучшем случае выдает ошибку, что разница времени очень большая, а в худшей у нее отвалится сервис времени и приходится его перезапускать

vadblm 26-09-2011 12:45 1760325

Цитата:

Цитата Snaiffer
"inetd_enable" »

Вы ntpd через inetd запускаете? Зачем?
Цитата:

Цитата Snaiffer
Сервера времени, которые указаны в самой FreeBSD для синхронизации должны быть доступны (хотя бы один). Иначе Винда будет выдавать ошибку "RPC сервер не доступен" »

Очевидно, из-за слишком низкого stratum.

Snaiffer 27-09-2011 10:53 1760898

Цитата:

Цитата vadblm
Вы ntpd через inetd запускаете? Зачем? »

нет, inetd это просто первая строка конфига после настроек сети

Цитата:

Цитата vadblm
Очевидно, из-за слишком низкого stratum. »

прописал в настройках
Код:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

После этого, Винда правда перестала писать "RPC сервер не доступен", но теперь пишет "Страта другого узла меньше, чем страта этого компьютера". Пробовал прописывать и 1, и 10, и 20, но ошибка почему то не исчезает

vadblm 27-09-2011 13:50 1761002

Вообще-то страту законным способом можно улучшить только добавив не менее двух-трёх пиров с хорошими стратами.
Но можно обмануть таким способом:
Код:

# а это волшебная штука, которая выставляет уровень доверия серверу (strata) самому себе равный 3
# в двух словах чем выше уровень-тем меньше число. 0 - это атомные часы,
# 1 - это синхронизированные с ними, 2 - с первым, и так далее.
server 127.127.1.1
fudge  127.127.1.1 stratum 3

проверить страту можно так ntpdate -d <server>


Время: 21:55.

Время: 21:55.
© OSzone.net 2001-