- Синхронизация времени по NTP в Linux
- NTP сервер на Linux Ubuntu
- Установка сервера
- Настройка NTP
- Дополнительные настройки
- Тестирование
- Настройка клиента Linux
- ntpdate
- Настройка клиента Windows
- Некоторые ошибки
- 1. the NTP socket is in use, exiting
- 2. Connection refused
- 3. no server suitable for synchronization found
- ntpd не синхронизируется и не по нему не синхронизнешься
- Re: ntpd не синхронизируется и не по нему не синхронизнешься
- Re: ntpd не синхронизируется и не по нему не синхронизнешься
- Re: ntpd не синхронизируется и не по нему не синхронизнешься
- Re: ntpd не синхронизируется и не по нему не синхронизнешься
- Re: ntpd не синхронизируется и не по нему не синхронизнешься
- Re: ntpd не синхронизируется и не по нему не синхронизнешься
- ntp не сенхронизируется
- Клиент ntp linux не синхронизируется
Синхронизация времени по NTP в Linux
Оригинал: How to Synchronize Time with NTP in Linux
Автор: Matei Cezar
Дата публикации: 20 апреля 2018 года
Перевод: А. Кривошей
Дата перевода: декабрь 2018 г.
Network Time Protocol (NTP) — это протокол, используемый для автоматической синхронизации системных часов компьютера по сети. Машина может выставлять системные часы по Coordinated Universal Time (UTC), а не по местному времени.
Наиболее распространенный метод синхронизации системного времени по сети на десктопах или серверах Linux — выполнение команды ntpdate, которая может установить системное время с сервера времени NTP. В этом случае на компьютере, на котором введена команда ntpdate, должен быть остановлен демон ntpd.
В большинстве систем Linux команда ntpdate не устанавливается по умолчанию. Чтобы установить ее, выполните приведенную ниже команду.
Пример команды ntpdate:
Чтобы просто запросить время сервера и не устанавливать часы, используя непривилегированный порт для отправки пакетов, чтобы обойти брандмауэры, выполните команду ntpdate со следующими флагами:
Всегда старайтесь запрашивать и синхронизировать время с ближайшими NTP-серверами, доступными для вашей зоны. Список пулов серверов NTP можно найти по следующему адресу:
В новых дистрибутивах Linux, которые используют Systemd, вы также можете синхронизировать время через файл timesyncd.conf. Просто откройте файл для редактирования.
И добавьте или раскомментируйте следующие строки после оператора [Time], как показано ниже:
После редактирования файла введите команду timedatectl, чтобы активировать сборку клиента NTP в systemd.
После этого введите команду date для отображения системных часов.
Источник
NTP сервер на Linux Ubuntu
Следить за актуальностью времени на всех узлах локальной сети удобнее с помощью сервера синхронизации времени NTP. В инструкции рассказано об установке и настройке такого сервера на Linux Ubuntu Server 16.04. Данное руководство можно использовать для настройки ntpd на любом другом Linux (например, Debian или CentOS).
Установка сервера
Устанавливаем ntp сервер следующей командой:
apt-get install ntp
Разрешаем автозапуск и стартуем сервис:
systemctl enable ntp || update-rc.d ntp defaults
systemctl start ntp || service ntp start
Настройка NTP
Открываем файл с настройками:
Настраиваем серверы, с которых наш NTP будет брать эталонное время. Например:
pool ru.pool.ntp.org iburst
server ntp2.vniiftri.ru iburst prefer
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
server 127.127.1.0
* iburst — отправлять несколько пакетов (повышает точность); ru.pool.ntp.org / 0.ubuntu.pool.ntp.org / 1.ubuntu.pool.ntp.org — адреса серверов, с которыми наш сервер будет сверять время; server — указывает на выполнение синхронизации с сервером, а не пулом серверов; prefer — указывает на предпочитаемый сервер. server 127.127.1.0 — позволит в случае отказа сети Интернет брать время из своих системных часов.
restrict default kod notrap nomodify nopeer noquery
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 127.0.0.1
restrict ::1
- restrict default — задает значение по умолчанию для всех рестриктов.
- kod — узлам, которые часто отправляют запросы сначала отправить поцелуй смерти (kiss of death), затем отключить от сервера.
- notrap — не принимать управляющие команды.
- nomodify — запрещает команды, которые могут вносить изменения состояния.
- nopeer — не синхронизироваться с хостом.
- noquery — не принимать запросы.
- restrict 192.168.0.0 mask 255.255.255.0 — разрешить синхронизацию для узлов в сети 192.168.0.0/24.
- IP адреса127.0.0.1 и ::1 позволяют обмен данные серверу с самим собой.
Настройки по умолчанию могут быть разные для IPv4 и IPv6:
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
systemctl restart ntp || service restart ntp
Если используется брандмауэр, добавляем правило:
iptables -I INPUT 1 -p udp —dport 123 -j ACCEPT
или с помощью ufw:
ufw allow in on enp2s0 to any port 123 proto udp
* где enp2s0 — сетевой интерфейс, на котором слушает наш сервер.
Дополнительные настройки
Настройка файла хранения логов:
Тестирование
Проверить состояние получения эталонного времени можно командой:
Мы должны увидеть, примерно, следующее:
remote refid st t when poll reach delay offset jitter
==============================================================================
ru.pool.ntp.org .POOL. 16 p — 64 0 0.000 0.000 0.000
ntp.ubuntu.com .POOL. 16 p — 64 0 0.000 0.000 0.000
*91.189.94.4 17.253.34.253 2 u 58 64 377 55.802 3.790 0.412
-91.189.91.157 132.246.11.231 2 u 56 64 377 113.456 -1.746 0.334
+91.189.89.198 192.53.103.108 2 u 1 64 377 54.595 4.229 0.608
+91.189.89.199 17.253.34.253 2 u 61 64 377 54.061 2.637 0.557
- remote — адрес сервера времени, с которым синхронизируется наш сервер;
- refid — вышестоящий сервер (с которым сервер из графы выше получает время);
- st — уровень сервера (stratum);
- t — пир (unicast или multicast);
- when — когда последний раз сверялось время;
- poll — периодичность синхронизации с этим сервером;
- reach — состояние работоспособности. Если удалось произвести синхронизации восемь раз в подряд становится равным 377;
- delay — время задержки;
- offset — разница между нашим временем и временем на сервере; положительное — наши часы спешат, отрицательное — отстают;
- jitter — смещение времени на удаленном сервере;
- * — с этим сервером синхронизирует время наш ntpd;
- + — сервер можно использовать для сверки часов;
- — — не рекомендован для синхронизации;
- x — не доступен.
Проверить отдачу времени сервером можно введя команду на другом Linux:
Правильный ответ имеет следующий вид:
ntpdate[3576]: adjust time server 192.168.0.15 offset 0.017657 sec
* время было рассинхронизировано на 0.017657 секунд.
Отобразить текущее время можно командой:
Если после синхронизации время некорректно, настраиваем правильный часовой пояс:
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
* московское время (GMT+3).
Настройка клиента Linux
Для клиентов можно выбрать 2 стратегии настройки — с помощью ntp или утилиты ntpdate.
apt-get install ntp
CentOS / Red Hat:
yum install ntp
В настройка /etc/ntp.conf в качестве сервера оставляем только наш локальный сервер, например:
Остальные pool и server удаляем или комментируем.
systemctl restart ntp || service restart ntp
ntpdate
Утилита командной строки выполняет разовую синхронизацию. Чтобы автоматизировать процесс, добавляем задание в cron:
0 0 * * * /usr/sbin/ntpdate 192.168.0.15
* в данном примере задание будет выполняться раз в день в 00:00. /usr/sbin/ntpdate — полный путь расположения утилиты, в разных системах может быть разным — проверить стоит командой which ntpdate.
Настройка клиента Windows
В командной строке выполняем:
w32tm /config /manualpeerlist:»192.168.0.15,0×8″ /syncfromflags:manual /update
Некоторые ошибки
1. the NTP socket is in use, exiting
Как правило, данная ошибка возникает при попытке синхронизировать время с помощью ntpdate, когда в системе работает демон ntp.
Причина: NTP сокет в системе уже занят, как правило, ntpd.
Решение: либо не использовать ntpdate, так как ntp умеет сверять время, либо отключить сервис ntpd командой service ntp stop.
2. Connection refused
Возникает при попытке выполнить команду ntpq -p.
Причина: нет разрешения на обращение к серверу.
Решение: проверьте, удастся ли выполнить запрос командой ntpq -pn 127.0.0.1 или ntpq -pn ::1. Также убедитесь, что настройка restrict позволяет серверу подключаться к самому себе по нужному протоколу.
3. no server suitable for synchronization found
Ошибка появляется при попытке синхронизировать время с другим сервером синхронизации.
Причина: сервер синхронизации не доступен по одной из причин: 1) не работает или выключен, 2) установлен restrict, 3) на сервере не запущен ntpd, 4) нет сетевой доступности из-за проблем на сети или брандмауэра.
Источник
ntpd не синхронизируется и не по нему не синхронизнешься
Re: ntpd не синхронизируется и не по нему не синхронизнешься
udp 123 порт в firewall открыл?
Re: ntpd не синхронизируется и не по нему не синхронизнешься
Я его и не закрывал. Кроме того, ntpdate работает ведь. Оно ж на тот же порт вешается, что и ntpd.
Аналогичная фигня на другом сервере (совсем без фаерволов, на очень приличном канале — я у себя на пинг пенял, но там пинг — на высоте). Конфиг там — идентичный.
Re: ntpd не синхронизируется и не по нему не синхронизнешься
Попробуй убрать все restrict опции. ИМХО они могут быть записаны только в виде ip-адресов, а не DNS имен.
Re: ntpd не синхронизируется и не по нему не синхронизнешься
а может быть у него еще пока не тот stratum?
Re: ntpd не синхронизируется и не по нему не синхронизнешься
Это «пока» длится не первые сутки. Да и сам себе он не правит часы..
ща попробую сделать синхронизацию по IP, а не доменам
Re: ntpd не синхронизируется и не по нему не синхронизнешься
Поделитесь рабочим конфигом, плз. С статическими IP-адресами вроде начало синхронизироваться:
22 Feb 16:07:47 ntpd[21774]: frequency error -512 PPM exceeds tolerance 500 PPM 22 Feb 16:25:11 ntpd[21774]: time reset +0.351048 s 22 Feb 16:34:45 ntpd[21774]: synchronized to 62.4.94.211, stratum=2 22 Feb 16:46:35 ntpd[21774]: time reset +0.159243 s 22 Feb 16:56:14 ntpd[21774]: synchronized to 62.4.94.211, stratum=2 22 Feb 17:47:42 ntpd[21774]: synchronized to 202.49.159.9, stratum=2 22 Feb 17:59:45 ntpd[21774]: no servers reachable 22 Feb 18:01:37 ntpd[21774]: synchronized to 212.23.29.225, stratum=3 22 Feb 18:10:30 ntpd[21774]: synchronized to 202.49.159.9, stratum=2 22 Feb 18:29:41 ntpd[21774]: no servers reachable
но потом снова в логах полная тишина. При попытке синхронизации по этому серверу старая история — stratum 0
Источник
ntp не сенхронизируется
Не синхронизируется в течении какого времени работы?
То есть в момент написания первого сообщения с момента запуска ntpd прошло всего 5 минут? Сейчас что offset, насколько он изменился?
offset вырос почти на секунду, без перезагрузок системы/принудительной синхронизации времени? В логах не сообщений от ntpd? Что показывает команда ″ntpdc -c kerninfo″?
Что в выводе команды ″ntpq -c as″?
Раз reject, нужно смотреть вывод ″ntpq -c ‘rv 29044’″. Потом, скорее всего, изучать что значит flash-код https://www.eecis.udel.edu/
Тупо: а в конфиге ntpd указано, что время брать с 192.168.12.30 ?
flash=400 0400 TEST11 peer_dist distance threshold exceeded
Добавление tos maxdist 16 помогло. Но кто мне объяснит что это и почему?
У меня есть серваки у которых delay больше секунды. И все прекрасно синхронизируется.
Еще одно наблюдение после синхронизации 192.168.1.104 — проблемный сервер. Т.е 192.168.12.30 не очень то сам грубо говоря синхронизирован
При вычислении root distance используется rootdelay и rootdisp. Последнее (root dispersion) у вас просто огромное. Если у вас виндовый ntp-сервер с локальными часами в качестве источника времени, то там можно подкрутить LocalClockDispersion.
Это как-то связано что ntp сервер имеет разницу с миром?
Напрямую нет. Это связано с тем, как ntp сервер оценивает свой источник времени. И расхождение между его локальным часами и точным временем не важно. Но, если бы у него были не локальные часы, а какой-нибудь сервер в интернете, скорее всего дисперсия была бы значительно ниже и на клиенте не нужно было бы настраивать ″maxdist″.
Источник
Клиент ntp linux не синхронизируется
Господа, прошу не бить ногами, но излазил весь интернет, но не смог найти ответа на свой вопрос.
И так, имеется локальная сеть без выхода в интернет, в ней есть виндовый домен, локальные часы которого считаются эталонными, это время он будучи доменом раздает всем клиентским машинам.
Имеется linux сервер с БД, время которого я хотел бы синхронизировать с доменным. Для чего использую ntpd. Скажу сразу что вариант с ntpdate запиханым в крон очень не подходит для моего случая.
Так вот, после настройки дефалтового конфига /etc/ntp.conf на свой виндовый сервер я получил вот такую картину* напротив LOCAL говорит о том что синхронизация происходит с самим собой. И никаким боком он синхронизировать время с 10.38.0.9.
При этом ntpdate 10.38.0.9 синхронизирует все спокойно. Перерыв весь чертов интернет я докатился до такого конфигаВ итоге ntpq -p дает следующее
При этом команда as в консоли ntpq показывает следующее
По итогу время так и не синхронизируется автоматом.
Куда копать ребята, что проверять?
Оглавление |
|
Сообщения по теме | [Сортировка по времени | RSS] |
1. «Ntpd видит сервер времени, но не синхронизирует время.» | –1 + / – | |
Сообщение от DN (ok) on 07-Мрт-14, 05:04 | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
2. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 07-Мрт-14, 09:55 | ||
Добавил, в итоге получился вот такой конфиг С ним ntpq вообще ничего не возвращает Все так говорят, читал, все делал и по готовым конфигам и сам составлял только все равно не работает. | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
16. «Ntpd видит сервер времени, но не синхронизирует время.» | –1 + / – | |
Сообщение от ACCA (ok) on 10-Мрт-14, 22:44 | ||
Подозреваю, что работает, просто ты попался с переводом слова «clock». «synchronize the software clock» совсем не означает, что часы будут показывать одно и то же время. ntpd синхронизирует частоту «программного таймера», а не текущее значение счётчика. Ты непрерывно вычисляешь дрейф своего таймера, чтобы поправлять его и его частота совпадала с вышестоящим. Когда получаешь достаточную точность частоты, подводишь стрелки (с помощью ntpdate), чтобы совпало значение текущего времени. Продолжаешь вычислять дрейф. | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
3. «Ntpd видит сервер времени, но не синхронизирует время.» | –1 + / – | |
Сообщение от Etch on 07-Мрт-14, 10:13 | ||
restrict 10.38.0.9 default kod notrap nomodify nopeer noquery # Local users may interrogate the ntp server more closely. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
5. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 07-Мрт-14, 13:16 | ||
Добавил Ваше замечание в свой конфиг, в итоге получилось следующее: С таким конфигом вообще не получает ответ от сервера времени. ntpq -p показывает следующее: | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
8. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от DN (ok) on 07-Мрт-14, 15:50 | ||
# ntpq -p ^^^^^^ > LOCAL(0) .LCL. 10 l 22 64 3 0.000 0.000 0.001 ^^^^^ | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
12. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 10-Мрт-14, 04:07 | ||
Сервер не доступен только с этим конфигом, в первом посте привожу что сервер как раз доступен но синхронизация по какой то причине не проходит. | ||
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору |
15. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от DN (ok) on 10-Мрт-14, 20:25 | ||
1. Посмотрите tcpdump’ом обмен пакетами по протоколу ntp между компьютерами. Необходимо настроить access control для IP адресов в ntp.conf , например: Посмотрите пост 8 и почитайте man ntp.conf server 10.38.0.9 prefer iburst maxpoll 9 | ||
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору |
17. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 11-Мрт-14, 00:34 | ||
Я новичек, что именно я должен там увидеть? > 2. В конфиге по умолчанию все запрещено Я делал конфиг с единсвтенной строкой server 10.38.0.9 это работает на другой, соверщенно сторонней машине. Мне ненадо что бы этот сервер сам потом раздавал время, мненадо только что бы он сам синхронизировался. | ||
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору |
18. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от DN (ok) on 11-Мрт-14, 03:35 | ||
🙁 >> 2. В конфиге по умолчанию все запрещено Повторите конфигурацию на нужной машине и закройте тему. > Мне ненадо что бы этот сервер сам потом Используйте для этого restrict xxx.yyy.zzz.mmm mask . | ||
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору |
19 . «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 11-Мрт-14, 04:05 | ||
Вы издеваетесь? ntpdate спокойно синхронизиурет время, ntpd видит сервер и показывает разницу с ним. Это не подтверждение того, что пакеты ходят? Что еще мне покажет tcpdump? > Повторите конфигурацию на нужной машине и закройте тему. Очень жаль что Вы так и не удосужились прочитать суть моего самого первого поста, или не можете себе представить что и на линуксе могут быть не «типичные проблемы». | ||
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору |
20 . «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от DN (ok) on 11-Мрт-14, 07:31 | ||
Читайте man ntpd Читайте man ntp.conf server 10.38.0.9 prefer iburst maxpoll 9 > Это не подтверждение того, что пакеты ходят? Что еще Полагаю, что недостаточное подтверждение. > Очень жаль что Вы так и не удосужились прочитать суть моего самого Проблема типичная для «новичков» — это нежелание внимательно читать посты и man. > На свежеставленом редхате для того что бы работала синхронизация достаточно в конфиге Плохо читали. | ||
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору |
9. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Дядя_Федор on 08-Мрт-14, 09:51 | ||
| ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
11. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 10-Мрт-14, 04:00 | ||
# ntpdate -q 10.38.0.9 | ||
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору |
4. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Andrey Mitrofanov on 07-Мрт-14, 10:13 | ||
# ntpq -p Может, разница слишком велика на вкус ntpd? | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
6. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 07-Мрт-14, 13:19 | ||
Строго говоря у меня 2 одинаковых сервера, 1 сервер приложений, 2 БД. | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
7. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от pavlinux (ok) on 07-Мрт-14, 13:38 | ||
Фаервол выруби, или настрой правильно. Ах да, после того как стартанёшь сервер, покури минут 15-20 | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
10. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Viruspower (ok) on 10-Мрт-14, 03:53 | ||
| ||
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору |
14. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от pavlinux (ok) on 10-Мрт-14, 12:14 | ||
# ntpdate -q 172.16.0.1 # ntpdate -q 127.0.0.1 | ||
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору |
13. «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Doka (??) on 10-Мрт-14, 11:58 | ||
jitter что-то великоват для первого stratum | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
21 . «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Аноним (??) on 14-Апр-15, 16:07 | ||
А от советов некоторых советчиков (похожих на бездумных копипастеров конфигов) хочется поржать. Хоть бы вникли, что дают restrict и fudge с локалсорцем и каким боком они сюда относятся. И ладно бы вели себя скромнее или правы были. А так гонору как у «академиков», а объективности и связи с темой — ноль без палочки. Ну вот, пока писал, вариант «не успевает набрать статистику» проверил. Reach уже давно и стабильно 377 (максимум), offset за это время стал около 200 секунд (пятая часть от трешолда). Т. е. причина реджекта не в оффсете, а в чём-то другом. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
22 . «Ntpd видит сервер времени, но не синхронизирует время.» | + / – | |
Сообщение от Аноним (??) on 14-Апр-15, 19:41 | ||
Нашёл у себя причину в VBoxService из пакета (или порта — не помню) дополнений VirtualBox’а для гостевых ОС. Если его запустить без ключа —disable-timesync, то он что-то где-то ломает или под себя перестраивает. После этого его можно остановить, запустить ntpd и получить описанную проблему. Перезагрузка это лечит. Для железных машин в инете рекомендуют попробовать смену таймеров. Их обычно в системе несколько и можно выбирать через sysctl или ещё где-то. Бывает часть таймеров подглючивает и ntpd не может что-то типа подстроиться под частоту. Код 9014 искать не надо. Это составное шестнадцатиричное слово предоставляет информацию, которую видно и так (пир взят из конфига и находится в состоянии reject). Т.е. для диагностики этот статус бесполезен, а алгоритм его расшифровки не интуитивен. Источник |