Установка ntp в Ubuntu. Установка и настройка сервера времени ntp в Linux Ntp сервер по умолчанию

Выпуск WordPress 5.3 улучшает и расширяет представленный в WordPress 5.0 редактор блоков новым блоком, более интуитивным взаимодействием и улучшенной доступностью. Новые функции в редакторе […]

После девяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и […]

  • Новые функции в Linux Mint 19.2 Cinnamon

    Linux Mint 19.2 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]

  • Вышел дистрибутив Linux Mint 19.2

    Представлен релиз дистрибутива Linux Mint 19.2, второго обновления ветки Linux Mint 19.x, формируемой на пакетной базе Ubuntu 18.04 LTS и поддерживаемой до 2023 года. Дистрибутив полностью совместим […]

  • Доступны новые сервисные релизы BIND, которые содержат исправления ошибок и улучшения функций. Новые выпуски могут быть скачано со страницы загрузок на сайте разработчика: […]

    Exim — агент передачи сообщений (MTA), разработанный в Кембриджском университете для использования в системах Unix, подключенных к Интернету. Он находится в свободном доступе в соответствии с […]

    После почти двух лет разработки представлен релиз ZFS on Linux 0.8.0, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Работа модуля проверена с ядрами Linux c 2.6.32 по […]

  • В WordPress 5.1.1 устранена уязвимость, позволяющая получить контроль над сайтом
  • Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола ACME (Automatic Certificate Management Environment) […]

    Некоммерческий удостоверяющий центр Let’s Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, подвёл итоги прошедшего года и рассказал о планах на 2019 год. […]

  • Вышла новая версия Libreoffice — Libreoffice 6.2
  • Добрый день уважаемые читатели и гости блога сайт, как много люди говорят о времени, что оно быстро или медленно бежит, и все понимают, что оно бесценно и важно. Так и в инфраструктуре Active Directory, она является одним из важнейших факторов, правильного функционирования домена. В домене все друг другу доверяют, и один раз авторизовавшись и получив все тикеты от Kerberos , пользователь ходит куда угодно, ограничиваясь лишь своими доступными правами. Так вот если у вас не будет точного времени на ваших рабочих станциях к контроллеру домена, то можете считать, что у вас начинаются серьезные проблемы, о которых мы поговорим ниже и рассмотрим как их устранить с помощью настройки NTP сервера в Windows .

    Синхронизация времени в Active Directory

    Среди компьютеров, участвующих в Active Directory работает следующая схема синхронизация времени.

    • Контроллер корневого домена в лесу AD, которому принадлежит FSMО-роль эмулятора PDC (назовем его корневым PDC), является источником времени для всех остальных контроллеров этого домена.
    • Контроллеры дочерних доменов синхронизируют время с вышестоящих по топологии AD контроллеров домена.
    • Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.

    Корневой PDC может синхронизировать свое время как со внешним источником, так и с самим собой, последнее задано конфигурацией по умолчанию и является абсурдом, о чем периодически намекают ошибки в системном журнале.

    Синхронизация клиентов корневого PDC может осуществятся как с его внутренних часов, так и с внешнего источника. В первом случае сервер времени корневого PDC объявляет себя как «надежный» (reliable).

    Далее я приведу оптимальную с моей точки зрения конфигурацию сервера времени корневого PDC, при которой сам корневой PDC периодически синхронизирует свое время от достоверного источника в интернете, а время обращающихся к нему клиентов синхронизирует со своими внутренними часами.

    Вводим netdom query fsmo. В моем примере, роль PDC и NTP сервера, принадлежит контроллеру dc7

    Конфигурация NTP-сервера на корневом PDC

    Конфигурирование сервера времени в Windows (NTP-сервера) может осуществляться как с помощью утилиты командной строки w32tm , так и через реестр. Где возможно, я приведу оба варианта. Но в начале посмотрите полностью ваши настройки на компьютере, делается это командой:

    w32tm /query /configuration

    EventLogFlags: 2 (Локально)
    AnnounceFlags: 10 (Локально)
    TimeJumpAuditOffset: 28800 (Локально)
    MinPollInterval: 6 (Локально)
    MaxPollInterval: 10 (Локально)
    MaxNegPhaseCorrection: 172800 (Локально)
    MaxPosPhaseCorrection: 172800 (Локально)
    MaxAllowedPhaseOffset: 300 (Локально)

    FrequencyCorrectRate: 4 (Локально)
    PollAdjustFactor: 5 (Локально)
    LargePhaseOffset: 50000000 (Локально)
    SpikeWatchPeriod: 900 (Локально)
    LocalClockDispersion: 10 (Локально)
    HoldPeriod: 5 (Локально)
    PhaseCorrectRate: 7 (Локально)
    UpdateInterval: 100 (Локально)

    NtpClient (Локально)
    Enabled: 1 (Локально)
    InputProvider: 1 (Локально)
    CrossSiteSyncFlags: 2 (Локально)
    ResolvePeerBackoffMinutes: 15 (Локально)
    ResolvePeerBackoffMaxTimes: 7 (Локально)
    CompatibilityFlags: 2147483648 (Локально)
    EventLogFlags: 1 (Локально)
    LargeSampleSkew: 3 (Локально)
    SpecialPollInterval: 3600 (Локально)
    Type: NT5DS (Локально)

    NtpServer (Локально)
    DllName: C:\Windows\system32\w32time.dll (Локально)
    Enabled: 1 (Локально)
    InputProvider: 0 (Локально)
    AllowNonstandardModeCombinations: 1 (Локально)

    VMICTimeProvider (Локально)
    DllName: C:\Windows\System32\vmictimeprovider.dll (Локально)
    Enabled: 1 (Локально)
    InputProvider: 1 (Локально)

    Включение синхронизации внутренних часов с внешним источником


    Включение NTP-сервера

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


    Задание списка внешних источников для синхронизации


    Флаг 0×8 на конце означает, что синхронизация должна происходить в режиме клиента NTP, через предложенные этим сервером интервалы времени. Для того, чтобы задать свой интервал синхронизации, необходимо использовать флаг 0×1.

    Задание интервала синхронизации с внешним источником

    Время в секундах между опросами источника синхронизации, по умолчанию 900с = 15мин. Работает только для источников, помеченных флагом 0×1.


    • "SpecialPollInterval"=dword:00000384

    Установка минимальной положительной и отрицательной коррекции

    Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.


    "MaxPosPhaseCorrection"=dword:FFFFFFFF
    "MaxNegPhaseCorrection"=dword:FFFFFFFF

    Все необходимое одной строкой

    w32tm.exe /config /manualpeerlist:"time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 pool.ntp.org,0x8" /syncfromflags:manual /reliable:yes /update

    Полезные команды

    • Применение внесенных в конфигурацию службы времени изменений
      w32tm /config /update
    • Принудительная синхронизация от источника
      w32tm /resync /rediscover
    • Отображение состояния синхронизации контроллеров домена в домене
      w32tm /monitor
    • Отображение текущих источников синхронизации и их статуса
      w32tm /query /peers

    Настройка NTP сервера и клиента групповой политикой

    Раз уж у нас с вами домен Active Directory, то глупо не использовать групповые политики, для массовой настройки серверов и рабочих станций, я покажу как настроить ваш NTP сервер в windows и клиента. Открываем оснастку "Редактор групповых политик". Перед тем как настроить наш NTP сервер в Windows, нам необходимо создать WMI фильтр, который будет применять политику, только к серверу мастера PDC.

    Вводим имя запроса, пространство имен, будет иметь значение "root\CIMv2" и запрос "Select * from Win32_ComputerSystem where DomainRole = 5". Сохраняем его.

    Затем вы создаете политику на контейнере Domain Controllers.

    В самом низу политики применяете ваш созданный WMI фильтр.

    Переходим в ветку: Конфигурация компьютера > Политики > Административные шаблоны > Система > Служба времени Windows > Поставщики времени.

    Тут открываем политику "Настроить NTP-клиент Windows". Задаем параметры

    • NtpServer: 0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1 3.ru.pool.ntp.org,0x1
    • Type: NTP
    • CrossSiteSyncFlags: 2. Двойка означает, если этот параметр равен 2 (Все), можно использовать любого участника синхронизации. Это значение игнорируется, если не задано значение NT5DS. Значение по умолчанию: 2 (десятичное) (0x02 (шестнадцатеричное))
    • ResolvePeerBackoffMinutes: 15. Это значение, выраженное в минутах, определяет интервал ожидания службы W32time перед попыткой разрешения DNS-имени в случае неудачи. Значение по умолчанию: 15 минут
    • Resolve Peer BAckoffMaxTimes: 7. Это значение определяет число попыток разрешения DNS-имени, предпринимаемых службой W32time перед перезапуском процесса обнаружения. При каждом неудачном разрешении DNS-имени интервал ожидания перед следующей попыткой удваивается. Значение по умолчанию: семь попыток.
    • SpecilalPoolInterval: 3600. Это значение параметра NTP-клиента, выраженное в секундах, определяет частоту опроса настроенного вручную источника времени, который использует особый интервал опроса. Если для параметра NTPServer установлен флаг SpecialInterval, клиент использует значение, заданное как SpecialPollInterval, вместо значений MinPollInterval и MaxPollInterval, чтобы определить частоту опроса источника времени. Значение по умолчанию: 3600 секунд (1 час).
    • EventLogFlags: 0

    Делаем отдельную групповую политику для клиентских рабочих машин, вот с такими параметрами.

    • NtpServer: Адрес вашего контроллера домена с ролью PDC.
    • Type: NT5DS
    • CrossSiteSyncFlags: 2
    • ResolvePeerBackoffMinutes: 15
    • Resolve Peer BAckoffMaxTimes: 7
    • SpecilalPoolInterval: 3600
    • EventLogFlags: 0

    Иногда часы на компьютере Ubuntu сбиваются, начинают отставать или спешить. Хотя эта ситуация и не критическая но весьма неприятная и может иметь плачевные последствия начиная от путаницы в логах из-за неоднозначности времени и заканчивая опозданием на встречу потому что вы доверились не тем часам. Также точное время важно для корректной работы некоторых программ, например таких как анонимизатор Tor.

    К счастью случается это не так уж часто и обычно связанно с такими нестандартными действиями как загрузка операционных систем использующих разные алгоритмы хранения машинного времени или обнуление памяти биос, Но это не означает что не нужно ничего делать, можно настроить синхронизацию локального времени через интернет, это довольно таки удобная вещь если вы часто сбиваете часы и вам лень их каждый раз настраивать. В Ubuntu для этого используется служба NTP и демон ntpd. Именно о них пойдет речь в данной статье.

    Сначала немного о том как посмотреть время из терминала в Ubuntu. Чтобы узнать текущее время выполните команду:

    Чтобы посмотреть данные в формате UTC наберите:

    Узнаем насколько время нашей Ubuntu отстает от эталонного:

    sudo ntpdate -q ntp.ubuntu.com

    Далее намного теории, если вы пришли сюда только за инструкцией по установке смело листайте вниз. UTC расшифровывается как Coordinated Universal Time, то есть всемирное координированное время. Это стандарт времени по Гринвичу одинаковый для всего мира и именно в таком виде храниться системное время в Linux и в том числе Ubuntu, а поправка на часовые пояса уже прибавляется локально для каждого пользователя. Вот здесь и кроется причина сбоев времени при использовании Windows и Unix.

    Как я уже сказал Ubuntu хранит время в формате UTC, тогда как Windows использует для этого локальный формат уже с прибавлением часового пояса. При каждом выключении или перезагрузке компьютера операционная система сохраняет значение своего таймера в таймере BIOS, а при загрузке считывает его от туда.

    И получается что ОС от майкрософт сохраняет локальное время, а Ubuntu думает что это UTC... уже понимаете что происходит? Правильно, чем больше таких перезагрузок, тем сильнее время будет отличатся от реального. Но это я уже отошел от темы. Как настроить алгоритмы синхронизации в обоих системах я здесь рассказывать не буду, моя сегодняшняя цель - синхронизация времени в Ubuntu.

    Установка NTP в Ubuntu

    Утилита ntpdate для синхронизации времени поставляется вместе с ubuntu, и автоматически запускается при старте. Если вы хотите синхронизировать время в сейчас выполните в терминале:

    ntpdate -s ntp.ubuntu.com

    Сервис ntpd в стандартную комплектацию не входит, его задача - постоянно следить за системными часами и корректировать какие - либо отклонения. Для установки ntpd наберите:

    sudo apt-get install ntp

    Для запуска демона наберите:

    sudo service ntp start

    А для добавления в автозагрузку:

    sudo rc-update add ntp defaults

    Настроить сервера с которыми будет сверяться наша Ubuntu можно в файле /etc/ntp.conf. Формат записи - server address, например стандартная конфигурация:

    # Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
    # on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
    # more information.
    server 0.ubuntu.pool.ntp.org
    server 1.ubuntu.pool.ntp.org
    server 2.ubuntu.pool.ntp.org
    server 3.ubuntu.pool.ntp.org

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

    sudo service ntp restart

    Решение проблем

    Служба синхронизации использует порт 123 для соединения с сервером, поэтому если вы используете фаервол доступ к этим портам может блокироваться, необходимо разрешить доступ добавив следующие правила:

    iptables -A output -p udp -s 192.168.1.1 --sport 1024:65535 -d 0/0 --dport 123 -m state --state NEW,ESTABLISHED -j ACCEPT

    iptables -A input -p udp -s 0/0 --sport 123 -d 192.168.1.1 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

    Теперь часы на вашем компьютере всегда будут идти правильно.

    Введение.

    Система Linux, как и большинство других современных операционных систем, фактически имеет двое часов. Первые часы - аппаратные, иногда называемые Real Time Clock, сокращенно (RTC), или часы BIOS, обычно они связаны с колеблющимся кварцевым кристаллом, имеющим точность хода до нескольких секунд в день. Точность зависит от различных колебаний, например, окружающей температуры. Вторые часы - внутренние программные часы, которые идут непрерывно, в том числе и при перерывах в работе системы. Они подвержены отклонениям, связанным с большой системной нагрузкой и задержкой прерываний. Однако система обычно считывает показания аппаратных часов при загрузке и потом использует системные часы. Команда date, устанавливает не аппаратные, а системные часы.

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

    Микросхема часов реального времени (ЧРВ), используемая на материнских платах, не особенно точна и обычно отстает, или забегает вперед на определенное время каждый день.

    Можно синхронизировать аппаратные часы с системными при помощи команды hwclock с опцией -w или —systohc и синхронизировать системные часы с аппаратными при помощи команды hwclock с опцией -s или –hctosys.

    Настройка.

    Для начала в файле /etc/ntp.conf добавляем строчку:

    Время будет синхронизироваться с указанного сервера. Если первый недоступен берутся следующие по списку. Первым прописал локальный сервер NTP.

    Следующий момент, устанавливает локальное или всемирное время будет использоваться.

    #cat /etc//etc/sysconfig/clock

    У нас не то:

    Правим ZONE – на "Europe/Moscow"

    Получаем:

    UTC=true системные часы не используют универсальное представление времени

    ARC=true Используется нормальная эпоха UNIX.

    Временная зона под Linux устанавливается через символическую ссылку, из /etc/localtime на файл из директории /usr/lib/zoneinfo(или /usr/share/zoneinfo), чем указывается в какой временной зоне вы находитесь.

    Рисунок. Содержимое /usr/share/zoneinfo

    Выполняем команды.

    rm -rf /etc/localtime

    ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

    Все работает!

    Если демон ntpd запущен то выдается следующее сообщение, при попытки выполнить синхронизацию с ntp сервером.

    Данная команда показывает, к каким серверам производиться подключение.

    Дополнение:

    Установка аппаратных часов

    Для установки аппаратных часов, установите сначало системное время а потом уже аппаратное используя программу «/sbin/clock -w» (или«/sbin/clock -wu» в случае использования всемирного времени).Чтобы узнать аппаратное время запустите clock без параметров. Если аппаратные часы установлены в локальное время а вы хотите увидеть всемирное наберите «/sbin/clock –u»

    Установка системных часов

    Для установки системных часов в Линуксе, используется программа date. Для примера установка текущего времени (системного!) и даты на 31 июля, 23:16,наберите «date 07312316» (обратите внимание что время дано в 24-часовой записи) Если вы хотите изменить год то набиретие «date 073123161998». Для установки секунд набирите «date 07312316.30» или «date 073123161998.30». Чтобы узнать системное время запустите date без аргументов.

    Сетевой протокол задания времени NTP (network time protocol; Network Time Protocol Version 3 Specification, Implementation and Analysis, David L. Mills, RFC-1305, March 1992) служит для осуществления синхронизации работы различных процессов в серверах и программах клиента. Он определяет архитектуру, алгоритмы, объекты и протоколы, используемые для указанных целей. NTP был впервые определен в документе RFC-958 , но с тех пор несколько раз переделан и усовершенствован (RFC-1119 ). Протокол использует для транспортных целей UDP . Целью протокола является обеспечение максимально возможной точности и надежности, несмотря на значительный разброс задержек при прохождении через большое число промежуточных маршрутизаторов.

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

    Точность, достижимая с помощью NTP, сильно зависит от точности локальных часов и характерных скрытых задержек. Алгоритм коррекции временной шкалы включает внесение задержек, коррекцию частоты часов и ряд механизмов, позволяющих достичь точности порядка нескольких миллисекунд, даже после длительных периодов, когда потеряна связь с синхронизирующими источниками.

    Для наглядности предоставляю архитектуру NTP

    • Установим сервер времени:
    CentOS: yum install ntp
    Arch Linux: pacman -S ntp
    Ubuntu, Debian: apt-get install ntp
    • Отредактируем файл конфигурации:
    #vim /etc/ntp.conf
    • У меня листинг следующий:

    logfile /var/log/ntp.log
    driftfile /var/lib/ntp/drift


    disable monitor

    server 31.28.161.68 iburst
    server 193.67.79.202 iburst
    server 62.149.0.30 iburst
    server 198.123.30.132 iburst


    server 127.127.1.0
    fudge 127.127.1.0 stratum 10


    restrict default ignore

    restrict 127.0.0.1

    • теперь немного подробнее по каждому пункту:

    logfile /var/log/ntp.log

    Путь куда ntp будет писать свой лог

    driftfile /var/lib/ntp/drift

    Путь к дрифт файлу

    ___________________________________________

    disable monitor

    Устранение уязвимости, позволяющей использовать сервер синхронизации времени для проведения DDoS-атак, путем многократного увеличения трафика

    ___________________________________________
    server 31.28.161.68 iburst

    Добавляем сервера с которых будет производится синхронизация

    Опция "iburst" рекомендуется, с ее помощью посылается шквал пакетов, если не удается установить соединение с сервером с первого раза. Напротив, опцию "burst" не используйте никогда без особого разрешения, так как Вы можете попасть в "черный список".

    ___________________________________________

    server 127.127.1.0
    fudge 127.127.1.0 stratum 10

    Эти два пункты предназначены для работы сервера времени в случае потери связи с эталонными серверами. Параметром fudge мы назначаем стратум для локального сервера.

    ___________________________________________

    restrict default ignore

    Запрещаем всем использовать наш сервер времени

    ___________________________________________

    restrict 127.0.0.1

    Разрешаем использовать наш сервер для локалхоста.

    ___________________________________________

    restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap

    Разрешаем использовать наш сервер для сети 10.*.

    nomodify notrap - не позволять хосту/подсети менять любые настройки NTPD нашего сервера.

    ___________________________________________

    • Сохраняемся, выходим, наш сервер настроен, осталось перезапустить демон.
    CentOS: service ntpd restart

    Arch Linux: systemctl restart ntpd
    Ubuntu, Debian: service ntp restart

    OpenSUSE: service ntp restart

    • Ждем минут 5-10, в зависимости от вашей железки и смотрим
    #ntpq -pn


    remote refid st t when poll reach delay offset jitter

    ==============================================================================

    10.18.1.13 10.44.0.15 3 u 2 128 377 7.306 13.106 11.948

    *10.18.0.53 198.123.30.132 2 u 62 128 377 7.156 10.279 4.308

    10.18.0.52 79.53.154.33 3 u 61 128 377 7.469 1.791 4.898

    127.127.1.0 .LOCL. 10 l 56 64 377 0.000 0.000 0.001

    • А означает наша таблица следующее:

    remote - имена удаленных ntp серверов;

    refid - сервер, с которым производит синхронизацию удаленный сервер ntp (то есть ntp-сервер для remote);

    st - стратум (вес) удаленного сервера. Чем меньше значение - тем точнее время на этом сервере;

    t - тип пира (u = unicast, m = multicast);

    when - указывает на то, как давно была произведена синхронизация с сервером;

    poll - частота в секундах, с которой NTP демон синхронизируется с пиром;

    reach - состояние доступности сервера. Это значение стабилизируется на уровне 377 если последних 8 попыток синхронизации с удаленным сервером были успешны;

    delay - задержка ответа от сервера;

    offset - разница в миллисекундах между системным временем и временем удаленного сервера; значение с минусом - отставание, с плюсом - наши часики спешат;

    jitter - смещение времени на удаленном сервере.

    Просьба также обратить внимание на спецсимволы в поле перед remote:

    "*" - указывает на сервер, с которым последний раз была произведена синхронизация;

    "+" - сервер возможно использовать в качестве сервера точного времени

    "-" - не рекомендуется для использования.
    • Посмотреть статус нашего сервера можно с помощью:
    root@oto:(~)ntpstat
    synchronised to NTP server (10.44.0.16) at stratum 3
    time correct to within 1170 ms
    polling server every 64 s


    • Иногда при синхронизации Windows клиента на стороне сервера можем наблюдать вот такое сообщение:
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
    18:09:16.326827 IP (tos 0x0, ttl 125, id 26677, offset 0, flags , proto UDP (17), length 76)
    10.5.104.11.ntp > oto.ua.mti.ntp: NTPv3, length 48
    symmetric active, Leap indicator: clock unsynchronized (192), Stratum 0 (unspecified), poll 10s, precision -6
    Root Delay: 0.000000, Root dispersion: 1.015625, Reference-ID: (unspec)
    Reference Timestamp: 0.000000000
    Originator Timestamp: 0.000000000
    Receive Timestamp: 0.000000000
    Transmit Timestamp: 3961667129.750000000 (2025/07/16 18:05:29)
    Originator - Receive Timestamp: 0.000000000

    Originator - Transmit Timestamp: 3961667129.750000000 (2025/07/16 18:05:29)

    Это нам говорит о том что виндовс не верит нашему времени, слишком большое розхождение во времени клиента и сервера.

    Максимальная положительная и отрицательная коррекция времени (разница между внутренними часами и источником синхронизации) в секундах, при превышении которой синхронизация не происходит. Рекомендую значение 0xFFFFFFFF, при котором коррекция сможет производиться всегда.