Синхронизация ntp windows centos
Синхронизация ntp windows centos
Добрый день уважаемые читатели и гости блога pyatilistnik.org, продолжаем изучать админские операционные системы, в частности CentOS. В прошлый раз мы ее установили и подробнейшим образом познакомились с ее файловой структурой и общими элементами управления. Азы изучены, двигаемся к реальной практике, очень часто бывает ситуация, что в момент установки вы не правильно указали дату или время, либо ваши системные часы отстают получая не правильное время с NTP сервера, вот в таких моментах вам может потребоваться умение устанавливать, менять дату и время на CentOS 7.
На что влияет время в CentOS 7
Я хочу до вас донести, для чего нужно иметь всегда актуальное время на сервере.
- Представить будни системного администратора без аварий, просто не возможно. Это у руководства компаний в мозгу все хорошо и все должно работать 365 дней в году, без отпуска и обеда :), но в реальности желез может сломать, может произойти хакерская атака или глюк операционной системы. Все эти инциденты, всегда оставляют в CentOS 7 системные события или просто логи и вот, чтобы их правильно идентифицировать (момент срабатывания) вы обязаны иметь корректную дату и время в системе. Я много раз в своей практике встречал моменты, когда системные администраторы, на сетевом оборудовании или некоторых серверах, оставляли стандартные, заводские настройки, которые изначально имели не тот часовой пояс, после чего когда нужно было изучать логи, они садились в лужи, так как видели кривую дату.
- Если у вас CentOS является членом домена Active Directory, то там могут быть проблемы. Простой пример у вас есть файловый сервер на CentOS, если разница на нем и на контроллере домена более 5 минут, то люди не смогут получать доступ к своим папкам, так как будут проблемы с аутентификацией по протоколу Kerberos.
- Еще одна большая беда, это запланированные задачи в планировщике cron.
Как установить, изменить время и часовой пояс в CentOS 7
Если вы сами устанавливали сервер с CentOS 7, то в мастере инсталляции вы должны били видеть пункт «Дата и время или Date $ Time»
В данном пункте вы можете настроить:
- Часовой пояс
- Время
- Дату
По умолчанию, все данные будут браться из BIOS компьютера, очень часто системные администраторы этот этап пропускают или ошибаются в настройке, встречал я еще интересные случаи, когда сервера заказывались в аренду за рубежом и там система была предустановлена, и естественно там была другая дата, часовой пояс и время. Так, что учимся все это исправлять.
Синтаксис и настройка времени в CentOS 7
Первый раз попав на сервер, я вам советую выработать привычку вводить команду timedatectl. Обратите внимание, что тут есть все данные о времени, дате с учетом часового пояса и без него, сам часовой пояс, в моем примере это GMT, показан NTP сервер, статус синхронизации.
Теперь у вас на выбор два метода, утилитой date или timedatectl.
Установка даты с помощью date
Посмотрим команду date.
- Sat — это день недели, в моем случае суббота
- Nov — месяц ноябрь
- 11 — число
- 22:06:25 — часы, минуты и секунды
- GMT 2017 — год
Теперь предположим, что вам нужно быстро все исправить и задать правильную дату и время, формат команды date будет иметь вот такой вид:
- MM — месяц
- DD — число
- hh — час
- mm — минуты
Я например, хочу дату 04 июня 10:00 2017
Если вам необходимо получить информацию о времени, без учета часового пояса, то есть ключ UTC. В выводе видим время относительно нулевого меридиана, без поправок на часовой пояс.
Установка даты с помощью timedatectl
Тут все так же просто, есть синтаксис timedatectl set-time ‘YYYY-MM-DD HH:MM:SS’
- YYYY — год
- MM — месяц
- DD — число
- HH:MM:SS — часы, минуты, секунды.
Все дату и время мы настроили, давайте зададим правильный часовой пояс.
Установка и настройка часового пояса в CentOS 7
Для того, чтобы задать нужный вам часовой пояс в операционной системе CentOS 7, есть два метода.
- Через утилиту timedatectl
- Через утилиту tzdata
Утилита timedatectl
Что хорошо, ее можно сразу использовать из коробки. И так как помните у меня часовой пояс GMT это +0, я хочу изменить на Москву, это +3. Для начала посмотрим доступный список часовых поясов в Centos, делается это ключомlist-timezones.
Список будет огромный, поэтому сделаем фильтрацию по европе.
Нахожу тут Europe / Moscow, то что мне и нужно.
Далее его задаем, командой;
Как видите, все прекрасно поменялось.
Утилита tzdata
В CentOS 7, все настройки о часовых поясах, хранятся файле /etc/localtime и способ с использованием утилиты tzdata, заключается в том, чтобы его подменить на нужный.
Делаем резервную копию файла localtime, командой:
Устанавливаем пакет tzdata
Посмотрим список часовых поясов в папке /usr/share/zoneinfo/
Теперь, когда основной файл localtime мы переименовали, можем за место него сделать символическую ссылку из папки /usr/share/zoneinfo/.
Все на этом настройка времени, даты и часового пояса закончена. Но мы же с вами не обезьянки делать постоянно одну и туже работу, поэтому давайте настроим синхронизацию с NTP сервером.
Настройка времени ntp в CentOS
Это на своей рабочей станции вы всегда видите часы перед глазами и расхождение даже на 5 минут будет сразу видно. А на сервер заходят тогда, когда что-то случилось или просто для профилактики, но вряд-ли часто. И в консоли время не показывается. А сбиться оно может. А последствия могут быть разными. Простой вариант: дата создания или редактирования файла будет не верной. А если это почтовый сервер? Вы письмо приняли раньше, чем его отправили? Или запостили новость на сайт завтрашним днем? Дата важна для логов, для множества вещей. Итак, время должно быть точным.
В компьютере время бывает двух видов: аппаратное (BIOS) и программное (операционная система). В Windows при изменении программного времени вы автоматически изменяете и аппаратное, вы даже вряд ли задумывались, что время может быть разное.
Проверить показания системных часов (время в операционной системе) можно командой date:
А так можно посмотреть время на нулевом меридиане с точки зрения вашего сервера:
Проверить показания часов в BIOS можно командой:
Синхронизация времени
Для синхронизации времени используется ntp (network time protocol).
# yum install ntp
В конец файла /etc/sysconfig/ntpd добавим:
которая указывает обновить время в BIOS, а не только в операционной системе.
В файле /etc/ntp.conf есть директивы, указывающие, какой сервер времени использовать. По-умолчанию это:
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
Возможна ситуация, что ответ от серверов сразу не был получен. По-умолчанию, ntpd через определенный интервал опять повторит запрос. Чтобы уменьшить этот интервал и увеличить количество запросов, можно добавить опцию iburst (добавлена по-умолчанию). Это мой перевод найденного значения, суть такая, а вот совсем точно не скажу, что за зверь такой, iburst 🙂
Список серверов оставьте по-умолчанию или добавьте другой сервер, по желанию.
Осталось запустить сервис ntp:
service ntpd start
и добавить его в атозапуск:
chkconfig ntpd on
Командой date можно проверить изменения.
Изменение часового пояса в CentOS
Текущее значение временной зоны аппаратных часов (BIOS) находится в файле /etc/sysconfig/clock:
Для изменения программного (в операционной системе) часового пояса надо сделать следующее.
Сначала сделаем копию файла зоны. Это символьная ссылка.
mv /etc/localtime /etc/localtime.bak
В директории /usr/share/zoneinfo/ находятся файлы доступных к использованию временных зон. В нашем случае это /usr/share/zoneinfo/Europe/Moscow. В вашем случае может быть /usr/share/zoneinfo/Europe/Paris, да что угодно.
Создадим символьную ссылку /etc/localtime на нужную нам зону:
ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
Все. Мы с вами сменили часовой пояс системных часов.
Под конец приведу адрес сайта, где все изложено достаточно ясно: https://moonback.ru/page/centos-time. Спасибо тебе, добрый человек!
Авторизуйтесь для добавления комментариев!
Почтовый сервер Шифрование Squid 3proxy VPN Mikrotik Настройка сервера Виртуальные машины kvm Защита почты Резервное копирование Групповые политики SELinux WDS IPFW OpenVPN firewalld systemd Mobile libvirt Samba WiFi Iptables NAT Lightsquid Remote desktop Postfix Dovecot Удаление данных Софт Безопасность Настройка прокси Winbox User agent Хостинг Передача данных Онлайн сервисы Privacy LetsEncrypt VPN сервер RRDTool sendmail Rsync Linux SSH Система Windows Синхронизация Облако fail2ban FreeBSD
CentOS: Настройка даты и времени, пояса, синхронизация с NTP
10.12.2019
VyacheslavK
CentOS, Linux
Комментариев пока нет
В данной статье я расскажу, как настроить время, дату и изменить часовой пояс(timezone) в Linux CentOS, как выполнять синхронизацию времени с NTP сервером и исправить типичные ошибки.
На серверах существует два вида часов. Аппаратные (real time clock), которые работают даже при выключенном сервере и программные часы операционной системы. Показания этих двух часов, могут отличаться. При этом, после запуска операционной системы, программные часы опираются на показания аппаратных и в дальнейшем могут корректироваться системой.
Абсолютное большинство программ в своей работе используют время программных часов.
Hwclock: настройка аппаратного (системного) времени
Чтобы проверить аппаратное время в Linux используется утилита hwclock:
- hwclock —localtime — проверка аппаратного времени без поправки
- hwclock —utc – проверка времени с условием, что аппаратные часы идут по времени UTC
[root@server etc]# hwclock —localtime
[root@server etc]# hwclock —utc
Чтобы установить аппаратное время равное системному времени, выполните команду:
Чтобы установить конкретное время, выполните:
# hwclock —set —date «27 Nov 2019 17:30»
Ручная настройка времени в CentOS
В Linux за программное время отвечает утилита date или timedatectl. Если вызывать утилиту date без параметров, она покажет текущее время на сервере:
[root@server etc]# date
Если вы хотите выставить время вручную, можно воспользоваться утилитой date с дополнительными ключами:
Где MM – месяц, DD — день, hh – час, mm – минуты.
Для получения расширенной информации о дате, времени, поясе, синхронизации, настройках перехода на сезонное (летнее/зимнее) время (DST), используется утилита timedatectl. Она дает более подробную информацию о настройках времени на сервере.
Timedatectl также позволяет изменить время:
# timedatectl set-time ‘2019-11-27 17:51:00’
Настройка часового пояса в CentOS
Чтобы время на сервере CentOS Linux соответствовало вашему часовому поясу, его можно изменить вручную. Для этого есть две утилиты:
- timedatectl
- tzdata
Чтобы изменить часовой пояс через утилиту timedatectl, выполните команду:
# timedatectl set-timezone Europe/Moscow
Или же можно использовать tzdata. Чтобы воспользоваться данным методом, нужно заменить файл /etc/localtime на нужный вам. Весь список часовых поясов, расположен в директории /usr/share/zoneinfo/. Заменим часовой пояс на Asia/Almaty. Делаем бэкап файла locatime:
# mv /etc/localtime /etc/localtime.bak
Создаем симлинк на нужный часовой пояс:
# ln -s /usr/share/zoneinfo/Asia/Almaty /etc/localtime
Настройка синхронизация времени по NTP в CentOS
Вы можете настроить автоматическую синхронизацию времени на вашем сервере с внешним NTP (Network Time Protocol) сервером. Для этого нужно установить сервис ntp. Например, в CentOS 7 установка выполняется через yum:
# yum install ntp -y
После установки, нужно запустить сервис ntpd и добавить его в автозагрузку:
# systemctl start ntpd.service
# systemctl enable ntpd.service
Проверим, что сервис запущен:
[root@server Asia]# service ntpd status
В файле /etc/ntp.conf нужно указать сервера, с которыми нужно синхронизировать время:
Синхронизация времени выполняется последовательно. Если недоступен первый NTP сервер, идет обращение ко второму и т.д.
Можно вручную синхронизировать время с указанным NTP сервером командой:
По умолчанию, ntpd включает в системе режим “11 minute mode”, то есть время будет синхронизироваться каждые 11 минут. Если вы не можете использовать демон ntpd, вы можете настроить синхронизацию времени по крону, добавьте в крон следующую команду:
Используем chronyd для синхронизация времени в CentOS 8
Для CentOS 8 из официальных репозиториев убрали ntp и ntpdate, поэтому для синхронизации времени нужно использовать chrony.
Основные преимущества chrony:
- высокая скорость и точность синхронизции
- корректная работа при отсутствии доступа к эталонным часам (ntpd требуются регулярные запросы)
- по-умолчанию не меняет сразу время при синхронизации, чтобы не нарушить работу программ
- Меньше использует ресурсов
По умолчанию, утилита chrony уже установлена в системе, но если по какой-то причина у вас ее нет, выполните установку:
# dnf install chrony
Как и любой другой сервис, после установки chrony нужно включить и добавить в автозагрузку:
# systemctl start chronyd
# systemctl enable chronyd
Проверим статус сервиса:
Чтобы проверить, что синхронизация работает, выполнитите команду:
Конфигурационный файл chrony — /etc/chrony.conf. В нем нужно указать список NTP серверов, которые нужно использовать для синхронизации. Как и у ntp, у chrony есть интерфейс командной строки chronyc. Чтобы проверить информацию о текущих параметрах синхронизации времени, используйте:
Чтобы проверить информацию о серверах синхронизации, выполните команду:
Если вы хотите установить конкретное время и дату вручную, вы можете воспользоваться утилитой date, но перед этим нужно отключить демон chronyd.
Распространённые ошибки при настройке времени в CentOS
В данном разделе, я опишу частые ошибки, которые возникают при работе с утилитами timedatectl, ntp.
При ручной синхронизации времени, у вас может возникнуть подобная ошибка:
Она означает, что у вас запущен демон ntpd, который блокирует ручную синхронизация времени. Чтобы выполнить ручную синхронизацию, остановите демон ntpd:
# service ntpd stop
И запустите синхронизацию заново:
Аналогичная ошибка может возникать и при работе с утилитой timedatectl:
Теперь нужно отключить автоматическую синхронизацию в самой утилите timedatectl:
# timedatectl set-ntp 0
И выполнить команду по установке конкретного времени:
При работе с часовыми поясами, они могут быть не установлены у вас на сервере и создать симлинк для localtime не получится. Для того, чтобы в системе были доступны часовые пояса, установите утилиту tzdata:
# yum install tzdata -y
Так при ручной синхронизации, часто бывают ошибки вида:
В этом случае проверьте правила firewalld / iptables, и убедитесь, что у вас на сервере открыт UDP порт 123. Так же некоторые хосты синхронизации могут быть недоступны в момент проверки.
Предыдущая статья Следующая статья
Синхронизация ntp windows centos
ФГУП «ВНИИФТРИ» предоставляет открытый доступ к серверам синхронизации шкалы времени по протоколу NTP . На данный момент работает группа из 4-х серверов stratum 1, подключенных к государственному первичному эталону времени РФ , 4-х серверов stratum 1, подключенных к вторичным эталонам и один сервер stratum 2 синхронизирующийся с основной группировкой серверов. Все сервера предоставляют доступ по протоколу NTPv4 IPv4 в соответствии с международным стандартом RFC-5905 .
Протокол NTPv4 предоставляет точность синхронизации порядка десятков миллисекунд при взаимодействии через Интернет. Поддержка данного протокола реализована для большинства операционных систем:
- демон ntpd для Unix-подобных систем
- встроенные средства настройки даты и времени или W32tm.exe для операционных систем MS Windows
Описание выпускаемых изделий:
Адрес | Порт | Уровень | Устройство | Доступ |
---|---|---|---|---|
ntp1.vniiftri.ru | IPv4 UDP 123 | stratum 1 | Meinberg LANTIME M300/MRS | свободный |
ntp2.vniiftri.ru | IPv4 UDP 123 | stratum 1 | Meinberg LANTIME M300/MRS | свободный |
ntp3.vniiftri.ru | IPv4 UDP 123 | stratum 1 | Meinberg LANTIME M300/MRS | свободный |
ntp4.vniiftri.ru | IPv4 UDP 123 | stratum 1 | Symmetricom SyncServer S250i | свободный |
ntp21.vniiftri.ru | IPv4 UDP 123 | stratum 2 | Linux kernel ntpd 4.2.6 Intel Xeon | свободный |
ntp1.niiftri.irkutsk.ru | IPv4 UDP 123 | stratum 1 | свободный | |
ntp2.niiftri.irkutsk.ru | IPv4 UDP 123 | stratum 1 | свободный | |
vniiftri.khv.ru | IPv4 UDP 123 | stratum 1 | Meinberg LANTIME M300/MRS | свободный |
vniiftri2.khv.ru | IPv4 UDP 123 | stratum 1 | Meinberg LANTIME M300/MRS | свободный |
NTP использует для своей работы протокол UDP. Система NTP чрезвычайно устойчива к изменениям латентности среды передачи.
NTP использует алгоритм Марзулло (предложен Кейтом Марзулло (Keith Marzullo) из Университета Калифорнии, Сан-Диего), включая такую особенность, как учёт времени передачи. В версии 4 способен достигать точности 10 мс (1/100 с) при работе через Интернет, и до 0,2 мс (1/5000 с) и лучше внутри локальных сетей.
Время представляется в системе NTP 64-битным числом (8 байт), состоящим из 32-битного счётчика секунд и 32-битного счётчика долей секунды, позволяя передавать время в диапазоне 2 32 секунд, с теоретической точностью 2 −32 секунды. Поскольку шкала времени в NTP повторяется каждые 2 32 секунды (136 лет), получатель должен хотя бы примерно знать текущее время (с точностью 50 лет).
как синхронизировать время windows с сервером времени ntp в команде
Я работаю над windows 7. Я могу синхронизировать время win7 с сервера ntp linux вручную. Как я могу это сделать в командной строке? Так что я могу запустить его при запуске windows. И windows план задачи не работает для меня. Время должно быть таким:
Кто-нибудь это знает? Спасибо. Я умею читать msdn.
4 ответа
- хорошая точность для синхронизации времени с NTP по JavaScript
Я хочу синхронизировать время с NTP по JavaScript. Клиент может быть обычным ПК или смартфоном или планшетом. Соединение может быть WLAN или 3G и т. д. Я уже нашел эти вопросы и сайты как добраться из времени NTP через javascript JavaScript NTP время http://jehiah.cz/a/ntp-for-javascript.
Мы планируем повторно синхронизировать 2 из наших машин, которые имеют задержку 19 мс от сервера NTP (это включает в себя транзакцию SMS). Эти серверы имеют несоответствие с результатами аналитики, и мы подозреваем, что это одна из причин. Итак, мой вопрос заключается в том, влияет ли служба на.
Я также рекомендую эту программу: http://www.timesynctool.com/
Используйте чистое время net time \timesrv /set /yes
после вашего комментария попробуйте сделать это в приглашении evelated :
Если вам просто нужно resync windows раз, откройте командную строку с повышенными правами и введите:
Хотя w32tm /resync теоретически выполняет эту работу, он делает это только при определенных условиях. Однако, когда «down to the millisecond» имеет значение, я обнаружил, что Windows на самом деле не будет вносить коррективы; как будто «о, я отключился на 2.5 секунды, достаточно близко, братан, здесь нечего видеть или делать».
Для того, чтобы действительно заставить повторную синхронизацию (Windows 7):
- Панель управления -> Дата и время
- «Change date and time. » (требуются права администратора)
- Добавьте или вычтите несколько минут (я использовал -5 минут)
- Запустите «cmd.exe» от имени администратора
- w32tm /resync
- Визуально убедитесь, что секунды на панели управления «Date and Time» тикают одновременно с вашими часами. (Я использовал watch -n 0.1 date на машине Linux в сети, в которую у меня был SSH)
- Запустите «cmd.exe» от имени администратора
- net start w32time (Служба времени должна быть запущена)
- time 8 (где 8 может быть заменено любым значением ‘hour’, предположительно 0-23)
- w32tm /resync
- По мере необходимости переходите к 3.
Похожие вопросы:
Я пытаюсь найти способ синхронизировать время моей машины (win 7/8.1/TH) с сервером NTP каждый x раз. то есть синхронизировать часы каждые 1 час. Я понял, что есть способ сделать это, настроив.
У меня есть NTP-сервер, и я получаю дату, как показано ниже: DateTime NTPDateTime = GetServerTime(); //GetServerTime returns a new DateTime но моя проблема в том, что я получаю только текущее время.
Я хотел бы получать уведомления, когда Windows системная дата/время изменяется в моем приложении C#. Я нашел событие SystemEvents.TimeChanged, о котором говорится в документации MSDN: Происходит.
Я хочу синхронизировать время с NTP по JavaScript. Клиент может быть обычным ПК или смартфоном или планшетом. Соединение может быть WLAN или 3G и т. д. Я уже нашел эти вопросы и сайты как добраться.
Мы планируем повторно синхронизировать 2 из наших машин, которые имеют задержку 19 мс от сервера NTP (это включает в себя транзакцию SMS). Эти серверы имеют несоответствие с результатами аналитики.
Я хотел бы синхронизировать два события между двумя (или более) проводными сетевыми машинами Linux. Могу ли я использовать NTP для этого? NTP, похоже, в основном сосредоточен на синхронизации с.
У меня есть linux PC, действующий как клиент часов, и я хотел бы синхронизировать время этого PC с помощью ntpdate против Windows PC в том же пространстве в той же сети. Мне трудно найти, как это.
Я использую centos7 AMI, там мне нужно синхронизировать время с Amazon (x.amazon.pool.ntp.org) NTP-серверов, как я могу настроить, нужно ли для этого открывать порт 123?
У меня есть настройка raspberrypi для синхронизации времени с сервера NTP, так как на нем нет часов HW, однако это обновление происходит не сразу и занимает некоторое время (
15 минут). Есть ли.
Система Windows в домене синхронизирует свое время с контроллером домена. Можно ли синхронизировать его с внешним сервером через NTP? Спасибо