Назад | Перейти на главную страницу

Настройка NTP-сервера для моей локальной сети

Я пытаюсь настроить виртуальную машину Debian 6 (Squeeze) в качестве локального сервера времени в моей сети. Я настроил его на синхронизацию с tock.usno.navy.mil который является сервером уровня 1.

У меня возникли проблемы с поиском информации о том, как настроить демон ntp для обслуживания времени клиентам, запрашивающим время. Я просмотрел справочную страницу ntpd и, вероятно, это был лучший документ, который я нашел. support.ntp.org был для меня практически бесполезен, документация, которую я нашел, больше говорила о том, как работает NTP, а не о настройке сервера.

Я также заметил, что в моих журналах нет информации о синхронизации с указанным мной сервером.

Любая помощь, которую может предложить кто угодно, была бы замечательной, я не уверен, что не так. Я уверен, что этим занимаюсь. У меня был предыдущий запущенный сервер времени, но моя SAN взорвалась, и я не делал резервные копии, так как это было для тестирования. Так что у меня нет старой конфигурации, на которую можно было бы смотреть.

Вот копия ntp.conf поскольку здесь нет ничего, что содержало бы какую-либо личную информацию, я думал, что публикация может помочь.

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

driftfile /var/lib/ntp/ntp.drift


# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable


# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
server tock.usno.navy.mil iburst


# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 10.0.0.0 mask 255.255.255.0 notrap nomodify

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust


# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines.  Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient

Здесь вывод из ntpq -p

root@ns01:/home/ns01# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.usno.navy. .USNO.           1 u   43   64    1   34.747  -2891.0 1669.51

Вывод из iptables

Output from `iptables -L -n -v`

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Обновить

Когда я убираю линию restrict 10.0.0.0 mask 255.255.255.0 notrap nomodify из моего конфига кажется, что ntp оживает. Это то, что я вижу сейчас, когда смотрю на ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
-barricade.rack9 209.51.161.238   2 u   39   64  377   37.887  -2977.7   3.180
*gallifrey.chpc. 92.113.67.127    2 u   26   64  377   68.155  -2969.0   3.024
+clock.trit.net  204.34.198.41    2 u    2   64  377   83.146  -2972.0   3.756
+ntp1.Housing.Be 169.229.128.214  3 u   63   64  377  105.803  -2972.6   2.698

Выходные данные Test Desktop ifconfig (по запросу MadHatter)

eth0      Link encap:Ethernet  HWaddr 08:00:27:59:2d:3a  
          inet addr:10.0.0.21  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe59:2d3a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62103 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51822 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10339609 (9.8 MiB)  TX bytes:7249927 (6.9 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5066 (4.9 KiB)  TX bytes:5066 (4.9 KiB)

Вам необходимо убедиться, что порт UDP 123 открыт для входа на ваш сервер из локальной сети и для выхода обратно в локальную сеть с вашего сервера.

Кроме того, вы можете проверить статус синхронизации вашего сервера, запустив

"ntpq -p"

Я бы рекомендовал добавить в вашу конфигурацию как минимум три вышестоящих сервера.

Попробуйте указать одному из своих клиентов на свой сервер через «ntpdate servername» и посмотрите, что произойдет.

Я согласен с ответом Дмурати. Ваша конфигурация кажется правильной. Единственное, что я бы рекомендовал дополнительно проверить, - это запущен ли вообще ваш процесс ntpd.

Что касается документации: я недавно установил временную карту Meinberg GPS и нашел их документация довольно полезно. Для вашего варианта использования вам просто нужно игнорировать все ссылки на выделенные карты PCI и использовать правильное имя сервера вместо псевдо IP-адреса, который используется для ссылки на карту PCI.

Однако я думаю, что вы можете потерять некоторую точность, поместив локальный сервер времени на виртуальную машину. Если вам нужна точность до секунды в вашей сети, обязательно измерьте точность вашего локального сервера. В Time Nuts страница может быть хорошей отправной точкой для поиска подходов к этому.