Вот хороший практический совет на форумах 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, которые, в свою очередь, подключены к часам более низкого уровня и друг другу.
В этом руководстве описывается, как точно синхронизировать данные с машинами Stratum 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
- Установите демон NTP
Сначала установите демон NTP (ntpd):
sudo aptitude install ntpd
Как упоминалось ранее, ntpd может действовать как клиент (синхронизировать системное время) и как сервер (обеспечивая точное время для других машин).
При желании вы также можете удалить предыдущую (устаревшую) программу синхронизации времени, ntpdate. Возможно, будет разумнее сделать это после того, как у вас работает ntpd
sudo aptitude remove ntpdate
- Настройте демона правильно
Файл конфигурации для 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
- Убедитесь, что конфигурация работает
Теперь, когда у вас есть правильный список серверов в вашем /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
- Поделиться! (необязательный)
Когда 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.
- Синхронизировать! (необязательный)
После того, как вы настроили NTP-сервер, используя шаги 1-4, вы можете синхронизировать другие машины в вашей сети с вашим сервером различными способами. Я обрисую пару из них ниже:
пЪрд:
Если у вас установлен ntpd на другом компьютере, вы можете использовать свой первый сервер в списке серверов вашего файла ntp.conf или один раз синхронизировать с параметром -q, как показано ниже:
ntpd -q [IP address of your server]
Ntpdate:
Если у вас по-прежнему установлен ntpdate на другом компьютере, вы можете использовать его для синхронизации с вашим сервером следующим образом:
ntpdate [IP address of your server]
Примечание: если вы запускаете ntpd на машине и по какой-то причине по-прежнему хотите использовать ntpdate для установки времени, вы должны использовать опцию -u.
Окна:
Машины Windows используют упрощенную версию NTP, называемую Simple Network Time Protocol (SNTP), и могут синхронизироваться с NTP-серверами. Чтобы выполнить синхронизацию с вашим новым сервером, дважды щелкните по времени и перейдите на вкладку «Интернет-время». Введите IP-адрес вашего сервера в поле «Сервер». Я приложил скриншот синхронизации Windows XP с сервером времени локальной сети, если кому-то будет интересно.
Это оно! Весь процесс не сложен, но может сбить с толку того, кто раньше не имел дело с сетью 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
ntpdate -s a_stratum_1_server_address
его для немедленной синхронизации. затем на вашем другом (клиентском) компьютере запуск 'ntpdate -q your_local_ntp_server` должен дать ответ, похожий наserver your_local_ntp_server_ip, stratum 2, offset -0.012221, delay 0.02618
Есть много ссылок по этому поводу, и мне кажется, что они усложняют процедуру. В моем случае у меня есть одна машина, которая действует как прокси-сервер и брандмауэр, и все остальные мои подключаются к Интернету через него. Я не хотел открывать порты на брандмауэре. Поэтому прокси - сервер должен быть (нтп) времени сервера и другие машины ( клиенты ) получить время от него.
Вы должны установить ntp на все машины, а также установить ntpq на всех них.
Сначала посмотрите, работает ли ntp. По умолчанию ntpd (демон ntp) будет запущен сразу после его установки, и настройки по умолчанию должны работать. Тем не менее, NTP не работает мгновенно, поэтому подождите немного. Затем команда:
должен дать вам вывод, который выглядит примерно так:
или:
Если это так, вы подключены, и ваш сервер времени получает время. Если нет, используйте
чтобы убедиться, что ntp работает, и попробуйте еще раз. Также попробуйте перезапустить ntp:
может пройти некоторое время (извините!), прежде чем соединение будет установлено. Демон не очень часто опрашивает серверы. Столбец «когда» в выводе выше показывает время в секундах с момента опроса сервера.
Теперь вы должны заставить сервер времени отправлять время на другие ваши машины.
Отредактируйте файл
/etc/ntp.conf
на сервере. Вы должны добавить строку для своей сети. В моем случае у меня есть сеть 10.0.0.0. В файле ntp.conf я добавил строку:Вы должны добавить широковещательную линию для каждого сегмента вашей сети. Если ваша сеть проста, как моя, вам нужна только одна строка, как указано выше. Теперь перезапустите ntp, используя приведенную выше команду, и проверьте снова, используя ntpq, и вы должны увидеть:
Вуаля, это вещание.
Теперь вы должны заставить каждую клиентскую машину получать время от вашего сервера вещания. На каждом редактируйте файл:
и вы увидите несколько строк, указывающих серверы.
добавить строку
или каков адрес вашего сервера. Затем перезапустите ntp на клиентском компьютере, используя приведенную выше команду. Кроме того, вы можете получить идентификатор процесса, просто убить его и снова запустить. Без разницы.
Затем, по прошествии достаточного времени, проверьте с помощью ntpq:
и вы можете видеть, что клиент использует сервер времени.
Это займет некоторое время.
источник
ntpdate -s a_stratum_1_server_address
на своем сервере ntp, чтобы заставить его опросить и синхронизировать немедленно.Установите NTP, если не установлен:
Отредактируйте файл конфигурации, чтобы служба NTP могла получать запросы:
Раскомментируйте эту строку:
чтобы:
Перезапустите службу NTP :
Теперь ваш NTP-сервер должен работать и позволить другим компьютерам синхронизироваться с вашим. Любой из вышеперечисленных тестов, например,
ntpdate -u YourComputer
должен работать нормально.источник