- Синхронизация времени по NTP в Linux
- Network Time Protocol daemon (Русский)
- Contents
- Установка
- Настройка
- Запуск демона
- Запуск ntpd
- NetworkManager
- Использование не root-пользователем
- Синхронизация часов без запуска демона
- Альтернативы
- Manjaro 20.02 Nibia KDE, синхронизация часов
- Управление временем в linux
- Материал из Пингвиньи радостей
- Содержание
- Системное время
- Аппаратные часы
- Развёртывание сервера точного времени
- Настройка часовых поясов и «летнего времени»
- Синхронизация времени в локальной сети
- Синхронизация системного времени и аппаратных часов
- Синхронизация времени с 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 для отображения системных часов.
Источник
Network Time Protocol daemon (Русский)
Перевод этой статьи или раздела не отражает оригинальное содержание.
Эта статья описывает, как установить и настроить NTPd (Network Time Protocol daemon), наиболее распространенный способ синхронизации часов в системе GNU/Linux с серверами в сети Интернет при помощи NTP. Если все настроено правильно, Ваш компьютер тоже может выступать в роли сервера синхронизации времени.
Contents
Установка
Пакет ntp доступен в репозитории [extra]:
Настройка
Самая первая строка в вашем файле /etc/ntp.conf определяет серверы, с которыми планируется синхронизироваться. NTP использует иерархическую систему «часовых уровней». Уровень 1 синхронизован с высокоточными часами, например, с системой GPS, ГЛОНАСС (Единая Государственная шкала времени РФ) или атомным эталоном времени. Уровень 2 синхронизируется с одной из машин уровня 1, и так далее.
Однако следует учитывать, что уровни не всегда являются показателями точности. Обычно для синхронизации пользовательских машин используются серверы третьего уровня. Если Вы не знаете серверов NTP в Вашем регионе, используйте pool.ntp.org и выберите сервер в Вашем регионе. Например,
Опция ‘iburst’ рекомендуется, с ее помощью посылается шквал пакетов, если не удается установить соединение с сервером с первого раза. Напротив, опцию ‘burst’ не используйте никогда без особого разрешения, так как Вы можете попасть в «черный список».
При настройке своего NTP сервера, нужно добавить localhost в список серверов, так как в случае потери соединения с сетью Интернет, сервер продолжит синхрозировать время в сети. Для этого добавьте localhost как сервер десятого уровня при помощи команды fudge , чтобы синхронизация не происходила, пока соединение с Интернет доступно:
Затем, определите правила, по которым к Вашему серверу смогут подключаться клиенты (localhost — это тоже клиент) при помощи команды restrict. Также добавьте в файл конфигурации:
Эти настройки не позволят пользователям изменять что-либо. Можете также добавить следующие опции:
Теперь нужно указать ntpd, какие подключения к Вашему серверу разрешены; если Вы не конфигурируете сервер NTP, следующей строки будет достаточно:
В противном случае, можно добавить больше клиентов:
Эти строки укажут ntpd, что адресам 1.2.3.4, а также всем адресам подсети 192.168.0.0/24 позволено синхронизировать время с Вашим сервером, но не позволено ничего изменять.
Если Вы желаете принудительно определить адреса по протоколу IPv6, напишите -6 перед IP-адресом или именем хоста (-4 принудительно устанавливает протокол IPv4), например:
Наконец, установите файл-буфер (в котором будет находиться погрешность часов системы) и журнал (лог):
Примерная конфигурация выглядит так:
Вообще, журнал (лог) устанавливать необязательно, но рекомендуется для того, чтобы знать, какие изменения проводит ntpd.
В заключении, никогда не забывайте читать man: ntp.conf(5) . Это ответит на многие Ваши вопросы. Также можно посмотреть man
Запуск демона
Запуск ntpd
Если Вы используете sysvinit:
Поместите ntpd в массив DAEMONS в файле /etc/rc.conf , чтобы он загружался при старте системы:
Если Вы используете systemd:
systemctl start ntpd
Для загрузки при старте системы
systemctl enable ntpd
NetworkManager
ntpd можно включать/выключать вместе со стартом сетевого соединения с помощью networkmanager-dispatcher-ntpd:
Использование не root-пользователем
Если программа скомпилирована с флагом —enable-linux-caps, ntpd может запустить не root-пользователь (стандартный пакет в Arch Linux имеет эту опцию).
Создайте группу ntp и пользователя ntp:
Смените владельца директории ntp на пользователя ntp:
Отредактируйте /etc/conf.d/ntp-client.conf и измените
Наконец, перезапустите демона:
Синхронизация часов без запуска демона
Если Вы просто хотите синхронизировать часы без запуска демона ntpd, добавьте в файл /etc/rc.local следующее:
Альтернативы
Доступная альтернатива ntpd — это OpenNTPD, часть проекта OpenBSD (не поддерживается сообществом Linux).
Источник
Manjaro 20.02 Nibia KDE, синхронизация часов
Не заметил кто такую проблему? ставиш галочку на — установить время и дату автоматический и ничего, время неправильно и не синхронизируется
пробовал так — ntpdate time.nist.gov ответ: ntpdate[1719]: the NTP socket is in use, exiting
Решение — перезагрузил роутер и заработало
timedatectl set-ntp true
ntpdate pool.ntp.org && hwclock -w
packman -Sy openntpd, или как там у вас принято?
timedatectl set-ntp true
timedatectl status
набрал обе команды успешно, вывод:
Local time: Чт 2020-12-10 13:11:42 MSK
Universal time: Чт 2020-12-10 10:11:42 UTC
RTC time: Чт 2020-12-10 10:11:42
Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
система показывает мне что часы 13:11
в настройках часов: зона Москва
галочка — «Set time and date automatically» — установлена
галочка — «Hardware clock in local time zone» — отключена
изначально они обе отключены, я включал первую и проблем никогда не имел
ntpdate[25882]: no server suitable for synchronization found
замечу что для исключения моих кривых рук выделил 20 гиговый отдельный раздел и поставил туда с нуля актуальную манджаро 20.2
можно еще раз с нуля поставить, благо это займет лишь пару минут
также набрал: sudo ntpq -p
ответ: ntpq: read: Connection refused
поставил я его, из за зависимостей ntpd удалился, тереь как то нужно запустить а не запускается, как то все сложно, всего лишь какое то время синхронизировать и такие сложности на пустом месте
запустил, статус:
sudo systemctl status openntpd
● openntpd.service — OpenNTP Daemon
Loaded: loaded (/usr/lib/systemd/system/openntpd.service; disabled; ve>
Active: active (running) since Thu 2020-12-10 14:49:16 MSK; 9s ago
Process: 41190 ExecStart=/usr/bin/ntpd -s (code=exited, status=0/SUCCES>
Tasks: 3 (limit: 14255)
Memory: 1.0M
CGroup: /system.slice/openntpd.service
├─41191 ntpd: ntp engine
├─41192 ntpd: dns engine
└─41233 /usr/bin/ntpd -s
дек 10 14:49:01 hommed systemd[1]: Starting OpenNTP Daemon…
дек 10 14:49:01 hommed ntpd[41190]: constraint configured without libtls s> дек 10 14:49:01 hommed ntpd[41190]: creating new /var/db/ntpd.drift
дек 10 14:49:01 hommed ntpd[41191]: constraint configured without libtls s>
дек 10 14:49:01 hommed ntpd[41191]: ntp engine ready
дек 10 14:49:01 hommed ntpd[41192]: constraint configured without libtls s>
дек 10 14:49:16 hommed ntpd[41190]: no reply received in time, skipping in>
дек 10 14:49:16 hommed systemd[1]: Started OpenNTP Daemon. lines 1-19/19 (END)
конфиг:
GNU nano 5.3 /etc/ntpd.conf
servers pool.ntp.org
sensor *
constraints from «https://www.google.com»
такое ощущение что меня отключили из «часовых серверов» с другой стороны я пробоал пинговать какой то сервер и пинг шел
sudo date -s «$(wget -qSO- –max-redirect=0 google.com 2>&1 | grep Date: | cut -d’ ’ -f5-8)Z»
эта команда сразу же исправляет время
чего только не пробовал, можеть забить на это дело и вбить команду
в автозапуск? не хочет работать ни нтпд ни опеннтпд
Источник
Управление временем в linux
Материал из Пингвиньи радостей
Содержание
Статья об управлении временем в linux
Управление временем в linux это комплекс мероприятий по настройке серверов и рабочих станций локальной сети для установки и поддержания точного времени.
Полный план мероприятий по управлению временем включает в себя
Описание управления временем в linux приведено на примере операционной системы Debian GNU/Linux.
Системное время
Системным временем называется дата и время используемые Операционной средой.
Системное время первоначально устанавливается на основании значений аппаратных часов и часового пояса и действует до первой синхронизации с сервером точного времени. Установка системного времени операционной среды запускает процесс синхронизации часов в локальной сети.
Аппаратные часы
Аппаратным временем называется дата и время используемое компьютером, когда он выключен.
Аппаратные часы устанавливаются и хранятся в БИОС компьютера.
В некоторых случаях хранение времени в аппаратных часах в формате UTC может предоставлять определённые неудобства. Например при установке времени BIOS/CMOS вручную (в соответствии с наручными часами) придётся самостоятельно учитывать разницу в часовых поясах. Или например при совместном использовании на одном компьютере операционных систем Windows и linux.
Для изменения в Linux стандарта хранения времени в аппаратных часах
- отказ от хранения времени в аппаратных часах в формате UTC
- применение нового стандарта хранения аппаратного времени
Развёртывание сервера точного времени
Сервер точного времени локальной сети это рабочая станция, на которой работает Сервер времени, обеспечивающий связь с Сервером точного времени в интернет для периодичного обновления системного времени.
В качестве Сервера точного времени может быть использована например программа Chrony.
Настройка часовых поясов и «летнего времени»
Часовой пояс это геофизическое деление земного шара на части по 15 градусов каждая, начиная с Гринвича, в Англии.
Настройка часового пояса необходима, если аппаратные часы хранят время в формате UTC, как это принято по умолчанию в linux и в месте установки рабочей станции осуществляется переход на «летнее/зимнее время».
Для установки часового пояса могут быть использованы команды
Синхронизация времени в локальной сети
Синхронизация времени в локальной сети это процесс связи рабочей станции с помощью NTP-клиента с сервером точного времени в локальной сети для синхронизация с ним своего системного времени.
Для синхронизации времени могут быть использованы например утилита ntpdate или сервер времени ntp, работающий в режиме клиента.
Для синхронизации системного времени с помощью ntpdate
- для «непрерывной» синхронизации с помощью cron, в например /etc/crontab добавляется строка
- для разовой синхронизации
Синхронизация системного времени и аппаратных часов
Синхронизация системного времени и аппаратных часов это процесс установки аппаратных часов рабочей станции в соответствии с системным временем.
Такая синхронизация требуется например при настройке автовключения рабочих станций по времени, например при использовании компьютера в качестве будильника или при одновременном (поочерёдном) использовании на рабочей станции операционных сред Linux и windows.
Для установки аппаратных часов используется утилита hwclock:
Источник
Синхронизация времени с NTP в Linux
Оригинал: How to Synchronize Time with NTP in Linux
Автор: Matei Cezar
Дата публикации: 20 апреля 2019 года
Перевод: А. Кривошей
Дата перевода: январь 2019 г.
Network Time Protocol (NTP) — это протокол, используемый для автоматической синхронизации системных часов компьютера по сети. Машина может устанавливать системные часы по всемирному координированному времени (UTC), а не по местному времени.
Наиболее распространенный метод синхронизации системного времени по сети на десктопах или серверах Linux — выполнение команды ntpdate, которая может установить системное время с сервера времени NTP. В этом случае а компьютере, на котором введена команда ntpdate, должен быть установлен демон ntpd.
В большинстве систем Linux утилита ntpdate не устанавливается по умолчанию. Чтобы установить ее, выполните приведенную ниже команду.
Пример команды ntpdate:
Чтобы просто запросить сервер и не устанавливать часы, используя непривилегированный порт для отправки пакетов, чтобы обойти брандмауэры, выполните команду ntpdate со следующими флагами.
Всегда старайтесь запрашивать и синхронизировать время с ближайшими NTP-серверами, доступными для вашей зоны. Список пулов серверов NTP можно найти по следующему адресу:
В новых дистрибутивах Linux, которые поставляются с Systemd, вы также можете синхронизировать время через файл timesyncd.conf. Просто откройте файл для редактирования.
И добавьте или раскомментируйте следующие строки после оператора [Time], как показано ниже:
После редактирования файла введите команду timedatectl, чтобы активировать сборку клиента NTP в systemd.
После этого введите команду date для отображения системных часов.
Источник