NTPD на армбоксе версии 4.2.6p5

Мне удалось перекрестно скомпилировать ntpd 4.2.6p5 для моей коробки. У меня есть пользовательский набор инструментов, предоставленный производителем.

На коробке работает busybox + какой-то вариант debian linux.

Поэтому у меня нет установки ntp, и я сделал ручную копию, создал файл conf для ntpd и попытался запустить его.

ntpd всегда возвращает это в режиме отладки: ~/ntp # ./ntpd -c ntp.conf -d

    ntpd [email protected] Mon Apr  7 19:58:25 UTC 2014 (1)
    9 Apr 07:39:44 ntpd[3592]: signal_no_reset: signal 13 had flags 4000000
    9 Apr 07:39:44 ntpd[3592]: proto: precision = 91.000 usec event at 0 0.0.0.0 c01d 0d   
    kern kernel time sync enabled
    Finished Parsing!!
    9 Apr 07:39:44 ntpd[3592]: ntp_io: estimated max descriptors: 1024, initial socket          
    boundary: 16
    9 Apr 07:39:44 ntpd[3592]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
    9 Apr 07:39:44 ntpd[3592]: unable to bind to wildcard address :: - another process   
    may be   running - EXITING

до этого мне также приходилось добавлять в /etc/services

    ntp             123/udp

мой ntp.conf выглядит так:

 ~/ntp # cat ntp.conf
 server 193.2.4.6
 server 193.2.4.2
 driftfile ntp.drift

Итак, я проверил netstat, и ничего не работает на порту 123, нет ntpdate и т. Д.

~/ntp # netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.3.1     0.0.0.0         UG        0 0          0 eth0
192.168.3.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

~ # netstat -a | grep 123
~ #

Следовательно, это должно быть что-то с конфигом, или в этом армбоксе что-то не настроено...

О, и запуск вручную ntpdate работает:

~/ntp # ./ntpdate 193.2.4.6
 9 Apr 07:49:16 ntpdate[3614]: step time server 193.2.4.6 offset -0.755704 sec
~/ntp #

Так что да, я мог бы использовать ntpdate в cron, но это не мое намерение!

Есть идеи?

Спасибо и всего наилучшего!


person Lonko    schedule 09.04.2014    source источник
comment
Такая ошибка, как указано ниже, вероятно, означает, что коробка ARM не поддерживает ipv6 или с ней что-то не так! Запуск ntpd с: ./ntpd -c ntp.conf -d -4 заставляет работать только с ipv4, и в моем случае это работает!   -  person Lonko    schedule 13.04.2014


Ответы (1)


Следующая ошибка указывает на то, что у ntp возникли проблемы с привязкой к подстановочному знаку ipv6:

9 Apr 07:39:44 ntpd[3592]: unable to bind to wildcard address :: - another process   
may be   running - EXITING

Я думаю, что ваша проблема связана с ipv6, но трудно сказать, потому что ваша диагностическая информация была не очень хорошей. Ваша команда netstat -a |grep 123 бесполезна, потому что netstat заменит порт 123 на ntp. Попробуйте еще раз:

netstat -a -n | grep 123

В том же духе netstat -rn работает только с ipv4, попробуйте еще раз с -6:

netstat -r -n -6

В вашем тестовом ntpdate использовался хост ipv4. Ваш сервер поддерживает ipv6? Что происходит при запуске:

$ sntp -d -6 time.nist.gov

Я использовал sntp, потому что не знаю, есть ли у ntpdate опция -6, а у sntp есть.

person dfc    schedule 09.04.2014
comment
вы правы коробка не поддерживает ipv6... с флагом -4 работает! - person Lonko; 13.04.2014