Как мне настроить локальный NTP-сервер?

Я установил NTP-сервер на Ubuntu Server 10.04, используя:

sudo apt-get install ntp

Демон NTP, кажется, работает и прослушивает порт 123.

Тем не менее, я не смог получить время от другого компьютера:

sudo ntpdate -u my_ntp_server
23 Nov 18:48:41 ntpdate[2990]: no server suitable for synchronization found

Есть ли какие-либо необходимые конфигурации, чтобы сделать?

16
задан 16 May 2012 в 02:51

3 ответа

Принятый ответ (по состоянию на июль 2018 года) у меня не сработал. Этот другой метод прекрасно работал в Ubuntu 16.04 LTS июля 2018 года:

Установите NTP , если не установлен:

sudo apt-get update
sudo apt-get install ntp

Отредактируйте файл конфигурации , чтобы служба NTP могла получать запросы:

sudo nano /etc/ntp.conf --syntax=sh

Раскомментируйте эту строку:

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

:

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

Перезапустите службу NTP :

sudo /etc/init.d/ntp restart

Теперь ваш NTP-сервер должен работать и позволить другим компьютерам синхронизироваться с вашим. Любой из вышеперечисленных тестов, например ntpdate -u YourComputer, должен работать нормально.

0
ответ дан 16 May 2012 в 02:51

Есть много ссылок по этому поводу, и мне кажется, что они усложняют процедуру. В моем случае у меня есть одна машина, которая действует как прокси-сервер и брандмауэр, и все остальные мои подключаются к Интернету через него. Я не хотел открывать порты на брандмауэре. Поэтому прокси-сервер должен быть сервером времени (ntp) , а другие машины ( клиенты ) получают время от него.

Вы должны установить ntp на все машины, а также установить ntpq на всех них.

Сначала посмотрите, работает ли ntp. По умолчанию ntpd (демон ntp) будет запущен сразу после его установки, и настройки по умолчанию должны работать. Тем не менее, NTP не работает мгновенно, поэтому подождите немного. Затем команда:

ntpq -c lpeer

должна дать вам вывод, который выглядит примерно так:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+golem.canonical 193.79.237.14    2 u  170 1024  377  140.458   -0.655   3.234
*gatekeeper.tss. 204.123.2.72     2 u  608 1024  377   84.650    2.168   0.471

или:

ntpq --numeric --peers

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+91.189.89.199   193.79.237.14    2 u  652 1024  377  140.151   -0.242   2.821
*66.7.96.1       204.123.2.72     2 u   64 1024  377   85.074    2.409   0.963

Если это так, вы подключен и ваш сервер времени получает время. Если нет, используйте

ps -e | grep "ntp" 

, чтобы убедиться, что ntp запущен, и попробуйте снова. Также попробуйте перезапустить ntp:

sudo /etc/init.d/ntp restart

может пройти некоторое время (извините!), Прежде чем соединение будет установлено. Демон не очень часто опрашивает серверы. Столбец «когда» в выводе выше показывает время в секундах с момента опроса сервера.

Теперь вы должны заставить сервер времени отправлять время другим вашим машинам.

Отредактируйте файл /etc/ntp.conf на сервере. Вы должны добавить строку для своей сети. В моем случае у меня есть сеть 10.0.0.0. В файле ntp.conf я добавил строку:

broadcast 10.255.255.255

Вы должны добавить широковещательную линию для каждого сегмента вашей сети. Если ваша сеть проста, как моя, вам нужна только одна строка, как указано выше. Теперь перезапустите ntp, используя приведенную выше команду, и проверьте снова, используя ntpq, и вы должны увидеть:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+golem.canonical 193.79.237.14    2 u   70 1024  377  140.151   -0.242   2.821
*gatekeeper.tss. 204.123.2.72     2 u  506 1024  377   84.650    2.168   0.241
 10.255.255.255  .BCST.          16 u    -   64    0    0.000    0.000   0.002

Вуаля, это вещание.

Теперь вы должны заставить каждую клиентскую машину получать время от вашего сервера вещания. На каждом из них отредактируйте файл:

/etc/ntp.conf

, и вы увидите несколько строк, указывающих серверы.

добавьте строку

server 10.10.10.1

или любой другой адрес вашего сервера. Затем перезапустите ntp на клиентском компьютере, используя приведенную выше команду. Кроме того, вы можете получить идентификатор процесса, просто убить его и снова запустить. Безотносительно.

Затем, по прошествии достаточного времени, проверьте с помощью ntpq:

ntpq --numeric --peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*10.10.10.1      66.7.96.1        3 u  123 1024  377    0.430    1.022   1.831

, и вы увидите, что клиент использует сервер времени.

Это займет некоторое время.

0
ответ дан 16 May 2012 в 02:51

Вот хорошие практические советы на форумах Ubuntu: http://ubuntuforums.org/showthread.php?t=862620

Яркая копировальная паста:

HOWTO: настройка NTP-сервера

В этом руководстве описывается, как настроить компьютер в качестве локального сервера протокола сетевого времени (NTP) и / или как регулярно использовать демон NTP. поддерживать точное системное время.

Что такое NTP?

Сетевой протокол времени (NTP) - это протокол, разработанный для точной синхронизации локальных часов с сетевыми серверами времени. Сеть серверов времени NTP настроена иерархически, так что любой пользователь может войти в систему как сервер на некотором уровне (более подробную информацию см. На странице Википедии).

Иерархия NTP разделена на разные уровни, называемые тактовыми слоями. Самый точный уровень, Stratum 0, зарезервирован для атомных часов и т. Д. Следующий уровень, Stratum 1, обычно используется сетевыми машинами, локально подключенными к часам Stratum 0. Stratum 2 ... 15 - это машины NTP, которые, в свою очередь, подключены к часам более низкого уровня и друг другу.

В этом руководстве описывается, как точно синхронизировать данные с машинами уровня 1 и 2 и поддерживать как можно более точные системные часы в течение дня. Также включены разделы о том, как разрешить вашей машине работать в качестве сервера Stratum 2/3 для других машин в вашей локальной сети.

Нужно ли создавать NTP-сервер?

Нет ... абсолютно нет! Если вы удовлетворены тем, что часы в вашей сети имеют какое-то неизвестное отличие от стандартного времени (и друг друга), вам не нужно настраивать NTP-сервер. Я установил один на своем ноутбуке, чтобы синхронизировать несколько компьютеров в локальной сети в < 1 мс для эксперимента по биоинженерии. Кроме того, существуют и другие преимущества, которые описаны ниже.

Мотивация:

Обычно немодифицированные блоки Ubuntu используют ntpdate (/usr/sbin/ntpdate) для периодической синхронизации часов с некоторым внешним сервером времени. Этот подход синхронизирует часы с разрешением курса (обычно один раз в день).

Компьютерные часы несовершенны и будут дрейфовать от (правильного) сервера времени в течение дня. Кроме того, скорости дрейфа в часах разных компьютеров различаются, так что к концу дня могут существовать существенные различия между разными локально сетевыми машинами, которые могут мешать определенным операциям (например, когда-либо возникают жалобы на make-файл при перемещении исходного кода среди разные машины?).

Демон NTP можно запустить локально на компьютере в вашей сети. Это имеет несколько преимуществ: во-первых, демон NTP постепенно «изучает» скорость дрейфа вашего локального компьютера и может скорректировать ее в течение дня. Синхронизация с серверами времени верхнего уровня происходит несколько раз в день, и одновременно можно использовать много разных серверов времени, чтобы сделать синхронизацию более точной. Таким образом, демон NTP действует как клиент точного времени, сохраняя ваши системные часы как можно ближе к стандартному времени.

Помимо поддержания точных системных часов, демон NTP позволяет машине в вашей сети (если вы хотите) работать в качестве сервера времени NTP. Это позволит очень быстро и точно синхронизировать другие машины в вашей локальной сети с вашим сервером времени в локальной сети, поскольку задержка в сети сведена к минимуму. Таким образом, различия в тактах между машинами в вашей сети сводятся к минимуму. Mac и даже Windows-боксы также могут синхронизироваться с NTP-сервером, если вы его настроите.

Существуют и другие, менее личные мотивы для настройки машины в качестве NTP-сервера. Во-первых, это может снизить нагрузку на NTP-серверы более высокого уровня, поскольку другие машины в вашей локальной сети могут синхронизироваться с локально установленным сервером времени. Кроме того, ntpdate устарела в пользу использования флага -q для ntpd ( что имитирует его функциональность). Таким образом, даже если вы не хотите постоянно запускать ntpd в фоновом режиме, ntpdate в конечном итоге будет заменен на ntpd, так что вы можете захотеть ознакомиться с ним сейчас

Как поддерживать точные системные часы с помощью ntpd

  1. Установите демон NTP

Сначала установите демон NTP (ntpd):

sudo aptitude install ntpd

Как упоминалось ранее ntpd может действовать как клиент (синхронизировать системное время) и как сервер (обеспечивая точное время для других машин).

При желании вы также можете удалить предыдущую (устаревшую) программу синхронизации времени, ntpdate. Возможно, будет разумнее сделать это после того, как вы запустили ntpd

sudo aptitude remove ntpdate
  1. . Правильно настройте демон

Файл конфигурации для ntpd находится в /etc/ntp.conf. Файл Ubuntu по умолчанию, вероятно, требует некоторой модификации для оптимальной производительности.

Первый раздел, который вы можете изменить, - это список серверов, с которыми нужно синхронизироваться. Раздел по умолчанию, вероятно, выглядит следующим образом:

# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com

Чтобы получить максимально точное время, предпочтительно устанавливать связь с несколькими различными NTP-серверами и держать их как можно ближе к вашему физическому местоположению. В сети есть различные списки серверов, вероятно, лучший из них находится здесь. Есть некоторые споры о правильном количестве серверов для использования. Один лучше, чем два, и три или более, вероятно, хорошая идея, если вы не слишком перегружены. Ниже приведен пример нескольких серверов времени, которые я использовал:

server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org

Найдя несколько хороших серверов, добавьте их в список, поместив 'iburst' после наиболее многообещающего. Например:

server nist1-dc.WiTime.net iburst

Это заставит ntpd очень быстро синхронизироваться с этим сервером после запуска. В противном случае ntpd будет медленно стремиться к согласию со списком серверов (как это характерно), и может потребоваться 15-20 минут для достаточно хорошей синхронизации, чтобы действовать как сервер времени для остальной части вашей сети.

Кроме того, добавьте несколько дополнительных строк в конец списка серверов, чтобы указать текущее местное время по умолчанию, если вы временно потеряете подключение к Интернету:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

Это предотвратит любую злобу. если вы используете ntpd на ноутбуке или другом компьютере с периодическими периодами отключения от Интернета.

В общем, список серверов должен выглядеть примерно так (это мое, ваши серверы, вероятно, будут другими):

# You do need to talk to an NTP server or two (or three).
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
server 127.127.1.0
fudge 127.127.1.0 stratum 10
  1. Убедитесь, что конфигурация работает

Теперь, когда у вас есть правильный список серверов в вашем файле /etc/ntp.conf, пришло время запустить демон и посмотреть, правильно ли вы синхронизируете! Убедитесь, что у вас есть активное подключение к Интернету, а затем запустите:

sudo /etc/init.d/ntp restart

Далее, просмотрите системный журнал, чтобы увидеть, синхронизируете ли вы с сервером времени:

tail -f /var/log/syslog

Примерно через 10 -15 секунд (или до 15-20 минут, если вы забыли поставить «iburst» после вашего любимого сервера), вы должны увидеть что-то вроде следующего в системном журнале:

Jul 17 16:50:22 hostname ntpd[22402]: synchronized to 140.221.9.20, stratum 2

Если это сообщение никогда приходит, вы еще не синхронизированы должным образом с сетью NTP-сервера. Проверьте список пиров NTP, с которыми вы общаетесь, используя следующее:

ntpq -c lpeer

Если поля 'delay', 'offset' и 'jitter' отличны от нуля и вы не синхронизированы, то Вероятно, это означает, что вам просто нужно подождать некоторое время. Еще раз проверьте, что вы вставили аргумент «iburst» в свой список серверов! Мои коллеги, для справки, выглядят примерно так:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*milo.mcs.anl.go 192.5.41.40      2 u    4   64   77   46.213   67.753   2.207
-europium.canoni 193.79.237.14    2 u   63   64   37   97.375   71.020   1.875
-dtype.org       69.25.96.13      2 u    2   64   77   86.956   69.178   1.804
+smtp130.junkema 216.218.254.202  2 u    2   64   77   87.266   67.677   0.916
+kechara.flame.o 216.218.254.202  2 u    -   64   77   89.183   68.717   1.713
-host2.kingrst.c 99.150.184.201   2 u    -   64   77   24.306   62.121   2.608
 LOCAL(0)        .LOCL.          10 l   59   64   37    0.000    0.000   0.002
  1. Поделиться! (необязательно)

Когда ntpd запущен и синхронизирован с выбранными вами серверами времени, вы можете настроить его для работы в качестве сервера времени для других машин. Для этого добавьте в /etc/ntp.conf раздел, подобный следующему:

# Allow LAN machines to synchronize with this ntp server
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
You may add as many (or few) CIDR address blocks to allow to synchronize with your machine as you'd like. I included those commonly used with Linksys (192.168.1.*) and SMC (192.168.2.*) routers.
  1. Синхронизировать! (необязательно)

После настройки NTP-сервера с помощью шагов 1-4, Вы можете синхронизировать другие машины в вашей сети с вашим сервером различными способами. Ниже я приведу несколько из них:

ntpd:

Если у вас установлен ntpd на другом компьютере, вы можете использовать свой первый сервер в списке серверов вашего файла ntp.conf или можете Синхронизировать один раз с опцией -q следующим образом:

ntpd -q [IP address of your server]

ntpdate:

Если на другом компьютере все еще установлен ntpdate, вы можете использовать его для синхронизации с вашим сервером следующим образом :

ntpdate [IP address of your server]

Примечание: если вы запускаете ntpd на машине и по какой-то причине по-прежнему хотите использовать ntpdate для установки времени, вы должны использовать опцию -u.

Windows:

Windows-машины используют упрощенную версию NTP, называемую Simple Network Time Protocol (SNTP), и могут синхронизироваться с NTP-серверами. Чтобы выполнить синхронизацию с вашим новым сервером, дважды щелкните по времени и перейдите на вкладку «Интернет-время». Введите IP-адрес вашего сервера в поле «Сервер». Я приложил скриншот синхронизации Windows XP с сервером времени локальной сети, если кому-то будет интересно.

1178 Вот и все! Весь процесс не сложен, но может сбить с толку того, кто раньше не имел дело с сетью NTP. Надеюсь, это поможет! Дайте мне знать, если у вас возникнут проблемы с настройкой вашего сервера.

Майк

Ссылки

Мне показались полезными следующие ссылки ... Вы тоже можете!

https://help.ubuntu.com/ 7.10 / server / C / NTP.html http://linuxwave.blogspot.com/2007/0...tp-server.html http: //lists.ntp. isc.org/pipermail/q...er/011889.html http://www.linuxhomenetworking.com/w...Fntp.conf_File http: // www. ntp.org/ntpfaq/NTP-a-faq.htm

0
ответ дан 16 May 2012 в 02:51

Другие вопросы по тегам:

Похожие вопросы: