LINUX.ORG.RU
ФорумAdmin

ntpd не ставит время


0

1

Останавливаю ntpd, меняю время на 31 марта через вызов stime(), запускаю заново. Как результат, время автоматом не ставится на одном из компьютеров (на других нормально). Конфиг по-умолчанию, серверы:

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst

ntpq:

ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp2.Rescomp.Be .INIT.          16 u    -  256    0    0.000    0.000   0.000
 rigel.jeffkapla .INIT.          16 u    -  256    0    0.000    0.000   0.000
 199.4.29.166    .INIT.          16 u    -  256    0    0.000    0.000   0.000
ntpq> as

ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 10805  8011   yes    no  none    reject    mobilize  1
  2 10806  8011   yes    no  none    reject    mobilize  1
  3 10807  8011   yes    no  none    reject    mobilize  1
ntpq> rv
associd=0 status=c011 leap_alarm, sync_unspec, 1 event, freq_not_set,
version="ntpd 4.2.6p2@1.2194-o Sun Oct 17 13:45:13 UTC 2010 (1)",
processor="i686", system="Linux/2.6.32-5-686", leap=11, stratum=16,
precision=-20, rootdelay=0.000, rootdisp=10.815, refid=INIT,
reftime=00000000.00000000  Wed, Feb  6 2036 22:28:16.000,
clock=d1392839.12064ce0  Sat, Mar 26 2011 20:06:33.070, peer=0, tc=3,
mintc=3, offset=0.000, frequency=0.000, sys_jitter=0.000,
clk_jitter=0.001, clk_wander=0.000

Судя по last_event == mobilize и reach == no, до серверов не может достучаться. Что это может быть? Debian Squeeze.

Если отклонение времени очень большое (на память не помню сколько, нужно сверяться с доками ntpd), то ntpd не будет его изменять на текущее. Нужно сначала подогнать время с помощью ntpdate, а потом уже запускать ntpd. Более того, если отклонение дольшое, то и ntpdate рекомендуют запускать с опцией -b для более плавного изменения времени, а не в один скачок.

han
()
Ответ на: комментарий от han

Если отклонение времени очень большое (на память не помню сколько, нужно сверяться с доками ntpd), то ntpd не будет его изменять на текущее


1000 секунд. Что есть даже меньше часа. А на других машинах я ставил время на почти месяц больше от текущего, и ntpd нормально возвращал его к текущему. Так что я не знаю, похоже документация устарела.

former_anonymous ★★★
() автор топика
Ответ на: комментарий от fjfalcon

Не верный сервер.


Как понять не верный? *.pool.ntp.org - не сервера вообще, а концетраторы, которые перекидывают тебя на какой-то другой, ближайший NTP сервер. И все они почему-то недоступны. М.б. файрволл на выходе из локалки?

former_anonymous ★★★
() автор топика
Ответ на: комментарий от former_anonymous

Можно пробежаться руками по списку с помощью ntpdate -q, он покажет смог ли достучаться, и ругается более менее понятно:

Нашёл сервер и получил с него время:

~$ ntpdate  -q 0.pool.ntp.org
server 89.221.207.113, stratum 2, offset -0.045939, delay 0.14651
server 78.37.80.203, stratum 2, offset -0.022756, delay 0.08289
server 83.229.210.18, stratum 3, offset -0.019502, delay 0.08727
 3 Mar 23:53:49 ntpdate[6137]: adjust time server 78.37.80.203 offset -0.022756 sec

Не нашёл сервера:

~$ ntpdate  -q 9.pool.ntp.org
Error : Name or service not known
 3 Mar 23:54:35 ntpdate[6140]: can't find host 9.pool.ntp.org

 3 Mar 23:54:35 ntpdate[6140]: no servers can be used, exiting

Сервер нашёл, время с него не получил:

~$ ntpdate  -q www.ntp.org
server 149.20.68.16, stratum 0, offset 0.000000, delay 0.00000
server 128.4.35.16, stratum 0, offset 0.000000, delay 0.00000
 3 Mar 23:56:02 ntpdate[6143]: no server suitable for synchronization found

Хоть более-менее понятная информация будет.

han
()
Ответ на: комментарий от former_anonymous

> 1000 секунд. Что есть даже меньше часа. А на других машинах я ставил время на почти месяц больше от текущего, и ntpd нормально возвращал его к текущему. Так что я не знаю, похоже документация устарела.

Странно, я с таким сталкивался, может быть действительно что-то изменилось уже.

han
()
Ответ на: комментарий от han
$ ntpdate -v 0.pool.ntp.org                                                                                                                                                 
27 Mar 16:41:58 ntpdate[25704]: ntpdate 4.2.6p2@1.2194-o Sun Oct 17 13:45:14 UTC 2010 (1)                                                                                                            
27 Mar 16:42:07 ntpdate[25704]: no server suitable for synchronization found                                                                                                                         


$ ntpdate -v 0.pool.ntp.org                                                                                                                                                    
27 Mar 16:42:15 ntpdate[26040]: ntpdate 4.2.6p2@1.2194-o Sun Oct 17 13:45:14 UTC 2010 (1)
27 Mar 16:42:23 ntpdate[26040]: no server suitable for synchronization found


$ ntpdate -v -q 0.pool.ntp.org
27 Mar 16:42:28 ntpdate[26301]: ntpdate 4.2.6p2@1.2194-o Sun Oct 17 13:45:14 UTC 2010 (1)
server 198.137.202.16, stratum 2, offset -2091600.722327, delay 0.03102
server 208.75.88.4, stratum 2, offset -2091600.729826, delay 0.03864
server 169.229.70.201, stratum 3, offset -2091600.730238, delay 0.03073
27 Mar 16:42:37 ntpdate[26301]: step time server 198.137.202.16 offset -2091600.722327 sec

Время получает в режиме -q, но без -q говорит что сервер не найден. Сервис ntp остановил. Какая-то мистика вообще.

former_anonymous ★★★
() автор топика
Ответ на: комментарий от former_anonymous

У меня из под пользователя тоже не работает (что логично), но ругается на отсутствие прав:

$ ntpdate -v 0.pool.ntp.org
 4 Mar 09:36:16 ntpdate[8172]: ntpdate 4.2.4p8@1.1612-o Fri Apr  9 00:28:41 UTC 2010 (1)
 4 Mar 09:36:16 ntpdate[8172]: bind() fails: Permission denied

У ntpdate есть ещё опция -d, которая его действия пошагово показывает, может там что-то интересное будет?

Кроме того можно взять несколько каких-то конкретных серверов (вместо pool.ntp.org) попробовать с них позапрашивать и послушать трафик tcpdump'ом, тем более если есть подозрения на файрвол. Может например оказаться, что закрыта какая-то часть внешнего мира, бывает такая логика: «А нафига нам Китай? Хрясь! А Австралия нафига?...»

Ещё вот какая мысль имеется:

man ntpdate

-u Direct ntpdate to use an unprivileged port for outgoing packets. This is most useful when behind a firewall that blocks incoming traffic to privileged ports, and you want to synchronise with hosts beyond the firewall. Note that the -d option always uses unprivileged ports.

не получается ли так, что в одних режимах рапрос идёт с непривелегированных портов и нормально проходит через файрвол, а в других - с привелегированного и блокируется файрволом?

han
()
Ответ на: комментарий от han

> У меня из под пользователя тоже не работает (что логично)

Имел в виду, что без -q из под пользователя не работает.

han
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.