Настраиваем синхронизацию времени в centos
Настраиваем синхронизацию времени в 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 сервером.
Настройка времени.
Здравствуйте. Проблема с настройкой времени на archlinux. Установил часовой пояс +03, и локальное время получается суммированием аппаратного и часового пояса. В итоге получается,что локальное время спешит на 3 часа. Пробовал менять вручную,но изменяется также и аппаратное и тоже самое с синхронизацией с сервером. Помогите настроить так, чтобы локальное время было одинаковым с аппаратным, а то устал путешествовать во времени. Заранее спасибо.
Если бы всё было понятно я бы не спрашивал здесь.
больше того, я думаю, если бы ты просто прочитал текст по ссылке – ты бы здесь не спрашивал. так что конкретно тебе не понятно?
Переведи аппаратное время на UTC. Если у тебя дуалбут с виндой — в ней тоже сделай эту настройку.
Вообще, Linux можно настроить так, чтобы аппаратное время и localtime совпадали, но это не лучший путь.
Дед,ты,что шизу словил,зачем ты мне дал ссылку на настройку часового пояса,если мне нужно локальное время изменить? Или мне нужно изменить на +00, чтобы всё исправить?
Время в BIOS должно быть в UTC. localtime будет по часовому поясу вычисляться.
Чтобы синхронизировать время, используй NTP.
тебе не нужно менять локальное время, прочитай ты блин страницу, она не такая уж большая. там написано всё, что тебе нужно знать о настройках времени
Время в биосе и так настроено в utc. Да,мне нужно, чтобы аппаратное и локальное времена совпадали. При синхронизации ntp меняются и лок-ое и апп-ое время. Я так понял,что нужно или пояс поменять на +00 или перевести на 3 часа назад время в биосе.
Ты сейчас серьезно? Будто я не читал Вики до написания поста.
Это дуалбут или арч один на компе?
У тебя что-то некорректно настроено. Обычно на Linux аппаратное время в UTC, синхронизируется по NTP, а localtime считается от аппаратного в зависимости от часового пояса — это эталонная конфигурация.
Нужно понять, где ты накосячил в настройках.
Только арч,настроил как в Вики написано. При синхронизации апп-ое время переводиться на 3 часа назад из-за ЧП +03.
Да,мне нужно, чтобы аппаратное и локальное времена совпадали
для этого достаточно жить на долготе Лондона. ещё раз, алло, прочитай статью, а не скопируй из неё команды в терминал
Значит, что-то напутал при настройке, когда я ставил арч, всё было нормально.
Ок, только это будет возможно только днём,уже нет физического доступа к компу.
А зачем тему на форуме создавал? Ты думал, что мы тебе поможем по описанию, без диагностики с целью понять где именно ошибка?
Ладно, буду ждать.
Вообще, Linux можно настроить так, чтобы аппаратное время и localtime совпадали, но это не лучший путь
Что плохого в этом, кроме «эстетики»?
Про обратную страшилку о UTC на Win7+ тоже хотелось бы послушать.
Для этого достаточно жить на долготе Лондона
Там есть еще переход на летнее время, которое у нас отменили. UTC ≠ Лондон.
Почему бы тебе нормальную аватарку не повесить, кстати. С каким-нибудь пацаном или тёлкой (не в буквальном смысле, а то вдруг вывесишь корову).
То, что этот режим не до конца поддерживается timedatectl.
В чем это проявляется? Я постоянно слышу подобные страшилки, но с проблемами не сталкивался.
ln -sf /ush/share/zoneinfo/Europe/Moscow /etc/localtime
отредактировать rc.conf , или что там у вас за дистрибутив.
Да плюнь ты на местное время. Я в отделе всех приучил. На ПК стоит ГМТ. И мне никаких проблем и узерам тоже.
Шучу. В технической подсети все сервера под ГМТ. Пару ПК есть. Узеры предупреждены-шаг в сторону: растрел. 🙂
Так и должно быть
Переведи аппаратное время на UTC.
Я, кстати, правильно понимаю, что в этом случае во временные метки всех файлов тоже пишутся в UTC? И придя на машину, где сделано не так (в том числе с виндами всякими), я время файлов со своей флешки буду лицезреть по Гринвичу?
Я смутно припоминаю, что на старых линуксах в настройках времени была галочка, указывавшая, как трактовать время биоса: как UTC или как локальное. А сейчас, например, в пятых кедах, я такого не нахожу…
Синхронизация BIOC и ОС по времени. Есть такое. Невсегда. Vsevolod-linuxoi бот . Остальные данные в его профиле.
А зачем чтобы совпадали? делай так, timedatectl set-ntp true && ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime && hwclock –systohc –utc
Europe и Moscow при необходимости замени на где-ты-так-находишься
Даже если и так, разница в три часа… А если передаешь файл по сети, например?
И зачем тогда нужно локальное время, достаточно часики добавить.
настроить так, чтобы локальное время было одинаковым с аппаратны
Вообще, суть проблемы ТСа именно в этом:
устал путешествовать во времени
настроить так, чтобы локальное время было одинаковым с аппаратным
Это уже следствие. Если можно исключить «артефакты путешествия по времени», не приводя аппаратное время к локальному — то так, наверное, и надо делать.
Установка и настройка NTP-сервера на Linux CentOS 8
Опубликовано: 17.12.2020
Сервер синхронизации времени NTP помогает актуализировать время на всех узлах сети. В инструкции рассказано о его установке и настройке на Linux CentOS 8.
Установка сервера
В CentOS 8 пакетом для синхронизации времени является chrony — он пришел на смену ntpd.
Устанавливаем его командой:
dnf install chrony
Разрешаем автозапуск и стартуем сервис:
systemctl enable chronyd —now
Настройка NTP
Открываем файл с настройками:
Настраиваем серверы, с которых наш NTP будет брать эталонное время. Например:
#pool 2.centos.pool.ntp.org iburst
server 192.168.0.100 iburst prefer
server 192.168.0.110 iburst
server 127.127.1.0
- pool — указывает на выполнение синхронизации с пулом серверов.
- server — указывает на выполнение синхронизации с сервером.
- iburst — отправлять несколько пакетов (повышает точность).
- prefer — указывает на предпочитаемый сервер.
- server 127.127.1.0 — позволит в случае отказа сети Интернет брать время из своих системных часов.
* в данном примере мы закомментировали указанный пул по умолчанию и добавили свои серверы 192.168.0.100 и 192.168.0.110.
* в данном примере мы разрешаем синхронизацию времени с нашим сервером для узлов сети 192.168.0.0/255.255.255.0.
systemctl restart chronyd
Добавляем правило в брандмауэр:
firewall-cmd —permanent —add-service=ntp
Тестирование
Проверить состояние получения эталонного времени можно командой:
Мы должны увидеть, примерно, следующее:
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 127.127.1.0 0 6 0 — +0ns[ +0ns] +/- 0ns
^* server-01.dmosk.local 2 6 17 55 +629us[+1184us] +/- 152ms
Отобразить текущее время можно командой:
Для настройки часового пояса применяем команду:
timedatectl set-timezone Europe/Moscow
* московское время (GMT+3).
Проверить отдачу времени сервером можно введя команду на другом Linux:
* где 192.168.0.15 — адрес нашего NTP-сервера.
Правильный ответ имеет следующий вид:
ntpdate[3576]: adjust time server 192.168.0.15 offset 0.017657 sec
* время было рассинхронизировано на 0.017657 секунд.
Настройка клиента Linux
Для клиентов можно выбрать несколько стратегий настройки — мы рассмотрим 3:
Настройка времени 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