Перейти к публикации
  • Коррекция времени на сервере

    Коррекция времени на сервере

    Выбор способа зависит от того, насколько сильно отстают часы. Если разница небольшая, то можно использовать первый способ. Если часы сильно отстали или убежали вперед, то не стоит переводить их в одну итерацию — безопаснее будет сделать это плавно.

    Настройка в Ubuntu/Debian

    Быстрое исправление

    Для быстрого изменения времени на сервере подходит утилита ntpdate. Для ее установки потребуются права sudo:

    apt-get install ntpdate

    Чтобы поправить часы однократно, выполните: 

    /usr/sbin/ntpdate 1.ru.pool.ntp.org

    Здесь ntp pool — это адрес доверенного сервера, с которым система сверяет время. 

    Вы можете также настроить автоматическую проверку часов с нужной периодичностью с помощью планировщика cron.

    crontab -e
    00 1 * * * /usr/sbin/ntpdate 1.ru.pool.ntp.org

    Так вы задаете синхронизацию раз в сутки.

    Вместо периодичности можно указать условие — например, синхронизировать часы при каждой загрузке. Это делается с помощью cron reboot.

    crontab -e
    @reboot /usr/sbin/ntpdate 1.ru.pool.ntp.org

    Плавная коррекция

    Для плавного изменения времени установите утилиту ntp Ubuntu и Debian. Работает она следующим образом:

    1. Утилита проверяет данные через серверы синхронизации времени, указанные в конфигурации.
    2. Высчитывается разница между текущим значением в системе и образцовыми показателями.
    3. NTP начинает постепенно переводить часы. Плавность нужна для того, чтобы у других сервисов не появились проблемы из-за резкого скачка.

    Добавьте Linux ntp:

    apt-get install ntp 

    Сервис добавится в список автозагрузки. Чтобы утилита работала корректно, необходимо настроить конфигурацию. Она хранится в файле /еtc/ntp.conf. Укажите в нем серверы ntp. Значения могут быть такими:

    server 0.ru.pool.ntp.org iburst
    server 1.ru.pool.ntp.org iburst
    server 2.ru.pool.ntp.org iburst
    server 3.ru.pool.ntp.org iburst

    Опция iburst делает синхронизацию более точной, заставляя пересылать не один, а сразу ряд пакетов. Можно также установить предпочтительный источник данных с помощью опции prefer:

    server 0.ubuntu.pool.ntp.org iburst prefer

    После каждого изменения конфигурации необходимо перезапускать утилиту:

    /etc/init.d/ntp restart

    Настройка в CentOS

    Правила выбора способа такие же. Если нужно устранить разницу в несколько секунд, подойдет первый способ. Для исправления минут и часов лучше применять второй способ.

    Быстрое исправление

    Чтобы быстро поправить время, используйте ntpdate. Установите утилиту:

    yum install ntpdate

    Для однократной синхронизации выполните:

    /usr/sbin/ntpdate 1.ru.pool.ntp.org

    1.ru.pool.ntp.org — источник, с которым вы синхронизируетесь.

    Чтобы сверка проходила автоматически и с установленной периодичностью, используйте Crontab CentOS. Например, так выглядит настройка ежесуточной проверки:

    crontab -e
    00 1 * * * /usr/sbin/ntpdate 1.ru.pool.ntp.org

    Вместо указания временных промежутков можно указать условие — например, загрузку:

    crontab -e
    @reboot /usr/sbin/ntpdate 1.ru.pool.ntp.org

    Плавная коррекция

    Для постепенного изменения времени применяйте ntp CentOS. Добавьте его:

    yum install ntp

    Включите автозагрузку сервиса:

    chkconfig ntpd on

    Укажите в файле /etc/ntp.conf источники точного времени. Например:

    server 0.ru.pool.ntp.org iburst
    server 1.ru.pool.ntp.org iburst
    server 2.ru.pool.ntp.org iburst
    server 3.ru.pool.ntp.org iburst

    Параметр iburst делает то же, что и в конфигурации на Ubuntu/Debian — заставляет отправлять ряд пакетов, что увеличивает точность синхронизации.

    Перезапустите сервис после изменения конфигурации:

    /etc/init.d/ntp restart

    А затем заново запустить демона:

    /etc/init.d/ntpd start

    Дополнительные параметры

    Синхронизация выполняется с тем источником, который физически находится ближе к вашему серверу. Однако в конфигурации можно прямо указать желаемый регион в поддомене. Например, так:

    asia.pool.ntp.org europe.pool.ntp org

    Даже если NTP-сервер окажется отключенным от сети, он все еще сможет передать системное время. Для этого достаточно добавить строку:

    server 127.127.1.0

    Можно ограничить доступ внешних клиентов. Дефолтно выставлены такие параметры:

    • restrict − 4 default kod notrap nomodify nopeer noquery
    • restrict − 6 default kod notrap nomodify nopeer noquery

    Notrap, nomodify, nopeer, noquery устанавливают запрет на изменение параметров сервера. KOD (kiss of death) предоставляет еще один уровень защиты. Если запросы от клиента приходят слишком часто, то он получает сначала пакет с предупреждением, а затем отключается.

    Если нужен неограниченный доступ для локального хоста, установите его командой:

    restrict 127.127.1.0

    А синхронизировать устройства из локальной сети с сервером поможет следующая строка:

    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

    После внесения любых изменений сервис нужно перезагружать:

    service restart ntp

    Проверить работу можно командой:

    ntpq -p

    Она выдает таблицу, в которой указан адрес источника точного времени, уровень сервера, время последней сверки и другие полезные данные.

    Было ли это полезно?

    Sipsb

    Отзывы пользователей

    Рекомендованные комментарии

    Нет комментариев для отображения



    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти сейчас
×
×
  • Создать...
Вверх
Вверх