Nara-auto.ru

Автосервис NARA
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синхронизация времени по протоколу NTP на устройствах Cisco

Синхронизация времени по протоколу NTP на устройствах Cisco

Сегодня вкратце пробежимся по вопросу синхронизации времени, по протоколу NTP (Network Time Protocol)

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

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

Протокол NTP работает на основе протокола UDP, через 123 порт.

У данного протокола есть некоторая иерархия для синхронизирующих систем, иными словами уровни.

Уровень 1 присваивается системе, которая синхронизируется с высокоточными часами, например через GPS.

Система, которая будет синхронизировать с Уровня 1, будет иметь Уровень 2, и так далее.

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

В нашей ситуации у нас в сети есть машина с точным временем, у меня она настроена на основе FreeBSD, с этой машины, главное сетевое устройство будет брать время (синхронизировать), и тем самым будет становиться главным для других сетевых устройств (в идеологии cisco будет ntp мастером).

Хочу отметить тот факт, что по NTP передается время только в формате UTC (Гринвич), каждая тайм зона настраивается не посредственно на железке.

Давайте рассмотрим пример простой настройки NTP.

Для начала синхронизируем время на нашем главном роутере (который будет раздавать другим сетевым устройствам ).

Для этого заходим в режиме глобальной конфигурации:

где, 10.0.100.254 в нашем случае это машина с FreeBSD, имеющая точное время.

Этого достаточно для минимальной настройки.

Теперь проверим, смогли ли мы подключиться к серверу времени и получить с него время, для этого используем команду:

show ntp associations

должны увидеть нечто подобное:

ntpass

Звездочка напротив ip нашего ntp сервера, говорит нам, что все хорошо, связь по крайней мере установлена.

Теперь посмотрим, синхронизировалось ли время?

Если все синхронизировалось, то мы должны увидеть следующее:

ntpstatus

Время получено, теперь необходимо установить нужную там тайм зону.

Так же в режиме глобальной конфигурации делаем:

clock timezone MSK/MSD 3

Теперь давайте проверим время:

shclock

Перейдем к настройке нашего роутера в режим мастера.

Для этой настройки, нам необходимо что данный роутер мастер и указать уровень (в cisco он зовется как stratum number), тот самый, о котором я говорил в начале, я укажу уровень пятый.

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

ntp server 10.0.100.1 prefer

где, 10.0.100.1 это наш головной роутер.

prefer это ключевое слово, которое указывает что данный ntp сервер является приоритетным (тоесть можно прописать, что синхронизировать можно не с одного сервера, а с нескольких, делается это для того, что если один недоступен, или время слишком отличается от других, что говорит о каких-то проблемах, устройство может переключиться на другой сервер времени, а prefer делает этот сервер более предпочтительным, нежели другие.)

Читайте так же:
Как настроить синхронизацию времени в домене 2012

так же мы указываем нужную нам таймзону.

clock timezone MSK/MSD 3

shclockASW

Все замечательно, все работает.

Теперь рассмотрим вопрос безопасности.

Для начала, разберем вопрос по ограничению с помощью ACL, кто может синхронизировать, а кто нет.

Все достаточно стандартно и прозрачно.

На сервере времени создаем соответствующий ACL:

access-list 20 remark ACCESS to NTP Sync

access-list 20 permit 10.0.100.3

теперь привяжем этот список доступа к ntp.

ntp access-group serve-only 20

Если все настроено верно, то связь с ntp севером установится и синхронизация пройдет успешно.

Так же дополнительно можно прописать на клиентах список доступа. К каким серверам времени можно обращаться. Делается это похожим способом:

access-list 20 remark ACCESS SYNC to NTP Serv

access-list 20 permit 10.0.100.1

Привяжем список доступа к NTP

ntp access-group peer 20

Теперь рассмотрим безопасность на основе аутентификации.

Все также достаточно прозрачно.

В конфигурацию ntp достаточно добавить следующее:

ntp authentication-key 1 md5 15060E1F10243F34 7

ntp authenticate

ntp trusted-key 1

первой командой мы задаем ключ аутентификации, второй включаем аутентификацию, а третей указываем что аутентификацию проводить по первому ключу.

Настраиваем это на каждой из сторон (сервер — клиент).

Вот собственно и все. Получилась небольшой вводный курс по настройке NTP на Cisco устройствах.

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

ASW-M#debug ntp ?

adjust NTP clock adjustments

authentication NTP authentication

events NTP events

loopfilter NTP loop filter

packets NTP packets

params NTP clock parameters

refclock NTP reference clocks

select NTP clock selection

sync NTP clock synchronization

validity NTP peer clock validity


ASW-M#debug ntp

Включаем все что нам интересно, например events, sync, auth и смотрим что происходит.

Правильная синхронизация времени в Windows 10 — проблема и её решение

Не работает синхронизация времени в операционной системе Windows 10? Давайте поищем проблему и попробуем её устранить.

Уже не один раз, на протяжении почти всего периода использования новой версии операционной системы, я замечаю, что часы на Панели задач периодически начинают глючить. То автоматически переводятся на несколько часов назад, то на несколько вперед.

Быстро решить проблему удавалось отключением и включением переключателя автоматической установки времени в Параметрах ОС. Но это, как оказалось, было временным решением. Проблема появлялась снова и снова.

Также бывали нередки случаи, когда работа службы завершалась неудачей. Системное время никак не удавалось синхронизировать через Интернет.

И вот, по состоянию на сегодняшний день, на моем компьютере эта проблема решена полностью. Виновата оказалась неправильная настройка работы службы «W32Time» по умолчанию. Дальше я расскажу о её правильной настройке. Готовы? Поехали!

Читайте так же:
После регулировки клапанов греется двигатель

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

Откройте системную утилиту «Выполнить» (нажмите сочетание клавиш клавиатуры Win + X ) и введите:

после чего нажмите клавишу Enter и дождитесь появления окна программы под названием «Службы».

Выполнить

Выполнить

Найдите в списке «Служба времени Windows» и откройте окно её настроек, дважды кликнув курсором мышки.

Служба времени Windows

Служба времени Windows

Теперь о том, что необходимо сделать. Нажмите кнопку «Запустить» и убедитесь, что в состоянии службы отображается надпись «Выполняется», а также установите Тип запуска на «Автоматически». После чего кликните по кнопкам «Применить» и «ОК».

Запустить

Запустить

Больше ничего вам не потребуется! Если же, после проделанных изменений, часы продолжат глючить, попробуйте найти решение в следующем :

  • запустите системную утилиту «System File Checker» в Командной строке с правами администратора. После окончания её работы перезагрузите компьютер;
  • выключите и обратно включите в автоматический режим установку часового пояса и времени в Параметрах ОС;
  • измените интернет-сервер для синхронизации;
  • принудительно заставьте операционную систему синхронизировать время при помощи Командной строки (последовательность команд можете найти в Интернете).

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

Другие полезные компьютерные советы сможете просмотреть в Карте блога. Наши странички в Google+ и Facebook ждут вас. Кнопка и виджет расположены справа вверху.

Получение даты и времени от NTP сервера с помощью ESP8266 NodeMCU

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

Первое, что приходит в голову, – это использовать микросхему RTC (часы реального времени). Но эти микросхемы не совсем точны, поэтому вам нужно снова и снова выполнять ручную подстройку, чтобы синхронизировать их с реальным временем.

Решение в этом случае – использовать протокол сетевого времени (NTP). Если у вашего проекта на ESP8266 есть доступ к Интернету, вы можете бесплатно получить дату и время (с точностью до нескольких миллисекунд от UTC). Дополнительное оборудование не требуется.

Получение даты и времени от NTP сервера с помощью ESP8266 NodeMCU Получение даты и времени от NTP сервера с помощью ESP8266 NodeMCU

Что такое NTP?

NTP означает Network Time Protocol (протокол сетевого времени). Это стандартный интернет-протокол для синхронизации часов компьютера с неким эталоном в сети.

Данный протокол может использоваться для синхронизации всех сетевых устройств с всемирным координированным временем (UTC) с точностью до нескольких миллисекунд (50 миллисекунд в общедоступном Интернете и менее 5 миллисекунд в среде LAN).

Всемирное координированное время (UTC) – это всемирный стандарт времени, тесно связанный с GMT (средним временем по Гринвичу). UTC не меняется, оно одинаково во всем мире.

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

Читайте так же:
Как правильно отрегулировать зажигание на зил 131

Архитектура NTP

NTP использует иерархическую архитектуру. Каждый уровень иерархии известен как слой (англ. stratum).

На самом верху находятся высокоточные устройства для измерения времени, известные как аппаратные часы уровня 0; это, например, атомные часы, GPS или радиочасы.

Серверы слоя 1 имеют прямое соединение с аппаратными часами слоя 0 и поэтому имеют наиболее точное время.

Рисунок 1 Иерархическая архитектура NTP со слоями Рисунок 1 – Иерархическая архитектура NTP со слоями

Каждый слой в иерархии синхронизируется с уровнем выше и действует как серверы для компьютеров нижнего слоя.

Как работает NTP?

NTP может работать разными способами. Наиболее распространенная конфигурация – работа в режиме клиент-сервер. Основной принцип работы следующий:

  1. клиентское устройство, такое как ESP8266, подключается к серверу с помощью протокола пользовательских датаграмм (UDP) через порт 123;
  2. затем клиент передает пакет запроса на сервер NTP;
  3. в ответ на этот запрос сервер NTP отправляет пакет с меткой времени;
  4. пакет с меткой времени содержит множество информации, такой как метка времени UNIX, точность, задержка или часовой пояс;
  5. затем клиент может проанализировать текущие значения даты и времени.

Подготовка IDE Arduino

Хватит теории, приступим к практике!

Но прежде чем углубляться в данное руководство, вы должны установить в вашу Arduino IDE дополнение для ESP8266. Чтобы подготовить Arduino IDE к работе с ESP8266 (если вы еще этого не сделали) следуйте инструкциям из статьи по ссылке ниже:

Установка библиотеки NTP-клиента

Самый простой способ получить дату и время с сервера NTP – это использовать клиент NTP из библиотек Arduino. Выполните следующие шаги, чтобы установить эту библиотеку в свою Arduino IDE.

Перейдите в раздел Скетч → Подключить библиотеку → Управлять библиотеками…. Подождите, пока менеджер библиотек загрузит индекс библиотек и обновит список установленных библиотек.

Отфильтруйте результаты поиска, набрав «ntpclient». Должна остаться пара записей. Ищите NTPClient by Fabrice Weinberg. Щелкните на эту запись и выберите «Установить».

Рисунок 3 Установка библиотеки NTP-клиента в Arduino IDE Рисунок 3 – Установка библиотеки NTP-клиента в Arduino IDE

Получение текущих дня недели и времени от NTP-сервера

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

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

  • Чтобы ESP8266 мог установить соединение с существующей сетью WiFi, вам необходимо изменить следующие две переменные в соответствии с учетными данными вашей сети.
  • Вам необходимо настроить смещение UTC для вашего часового пояса в секундах. Смотрите список часовых поясов относительно UTC. Вот несколько примеров для разных часовых поясов:
    • для UTC -5.00: -5 * 60 * 60: -18000
    • для UTC +1.00: 1 * 60 * 60: 3600
    • для UTC +0.00: 0 * 60 * 60: 0

    Как только вы закончите, загрузите скетч в ESP8266.

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

    Рисунок 4 ESP8266 считывает день недели и время из ответа NTP-сервера и выводит их монитор последовательного порта Рисунок 4 – ESP8266 считывает день недели и время из ответа NTP-сервера и выводит их монитор последовательного порта

    Объяснение кода

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

    • NTPClient.h – это библиотека работы со временем, которая выполняет синхронизацию с NTP-сервером;
    • библиотека ESP8266WiFi.h предоставляет специальные методы для работы ESP8266 с WiFi, которые мы вызываем для подключения к сети;
    • библиотека WiFiUdp.h обрабатывает протокол UDP, например открытие порта UDP, отправку и получение пакетов UDP и т.д.

    Затем мы настраиваем несколько констант, таких как SSID, пароль WiFi и смещение UTC, о которых вы уже знаете. Мы также определяем двумерный массив daysOfTheWeek .

    Теперь, прежде чем инициализировать объект NTP-клиента, нам нужно указать адрес NTP-сервера, который мы хотим использовать. pool.ntp.org – это открытый проект NTP, отлично подходящий для подобных вещей.

    pool.ntp.org автоматически выбирает серверы времени, которые географически близки к вам. Но если вы хотите сделать выбор явно, используйте одну из подзон pool.ntp.org.

    ЗонаАдрес сервера
    Весь мирpool.ntp.org
    Азияasia.pool.ntp.org
    Европаeurope.pool.ntp.org
    Северная Америкаnorth-america.pool.ntp.org
    Океанияoceania.pool.ntp.org
    Южная Америкаsouth-america.pool.ntp.org

    В функции setup() мы сначала инициализируем последовательную связь с ПК и подключаемся к сети WiFi с помощью функции WiFi.begin() .

    Когда ESP8266 подключится к сети, мы инициализируем NTP-клиент с помощью функции begin() .

    Теперь мы можем просто вызывать функцию update() всякий раз, когда нам нужны текущие день недели и время. Эта функция передает пакет с запросом на NTP-сервер, используя протокол UDP, и преобразует полученный пакет с меткой времени в читаемый формат.

    Вы можете получить доступ к информации о дне и времени, воспользовавшись функциями библиотеки NTP-клиента.

    Как синхронизировать время в Linux

    Часы в компьютере далеко не идеальны. Через несколько дней, недель или месяцев они перестают отображать правильное время. Они могут показывать «10:30», тогда как на самом деле «10:33». На старых компьютерах было обычной практикой периодически переустанавливать часы компьютера вручную. Но после того, как интернет-соединения стали повсеместными, современные операционные системы начали автоматически настраивать часы с помощью NTP-серверов.

    В статье я покажу, как синхронизировать время в Linux в дистрибутивах Ubuntu, Debian, Fedora, Arch Linux, openSUSE, Manjaro, CentOS, Elementary ОС, Zorin OS и т.д.

    How NTPs Work

    NTPs rely on a hierarchical structure of time sources divided into levels, called strata. Stratum 0 is the reference (an atomic clock or GPS clock); NTP servers don’t operate here.

    NTP servers on stratum 1 synchronize to the atomic clock and act as references for stratum 2 servers. Stratum 2 servers synchronize to stratum 1, but can also synchronize with themselves. Servers from stratum 3 all the way down to stratum 256 synchronize the same way.

    The NTP hierarchy is both redundant and fault-tolerant. If a connection to a higher-stratum server fails, backup servers perform the synchronization themselves. Redundancy is provided by the constant availability of NTP servers; by drawing data from multiple sources (servers), the NTP can calculate a more accurate time.

    Для чего нужно корректировать часы

    • Чтобы избежать вчерашних новостей и публикаций завтрашнего дня. К примеру часы вашего сервера идут по времени Хабаровска, а основные посетители из Европы (разница UTC+11). В такой ситуации вечерний посетитель увидит «завтрашние» даты на сайте. Так как когда в Европе вечер, то в Хабаровске утро следующего дня.
    • Чтобы было удобно настраивать задания Cron.
    • Чтобы время создания файлов совпадало с фактическим и не вводило Вас в заблуждение.

    Эти статьи будут Вам интересны

    LAMP-Stack сервер: ещё одна инструкция по настройке Linux + Apache + MySQL + PHP + phpMyAdmin на Ubuntu 18. Установка с помощью Tasksel.

    22 октября 2018 ВК Tw Fb

    Ещё одна — потому что в Интернете существует уже 100500 таких инструкций. А чем мы хуже? Настраиваем легендарную связку Linux + Apache + MySQL + PHP + phpMyAdmin на чистой Ubuntu 18 старым дедовским способом. А потом посмотрим, что нам даёт инструмент Tasksel. Если Вы любите хардкор, то у нас есть инструкция по созданию WEB-сервера на основе FreeBSD. Эта настройка подойдёт скорее для выполнения университетских лабораторных работ, нежели для продакшна. Но это тот минимум, который позволит использовать все перечисленные в заголовке компоненты.

    Получение доступа к операционной системе навигатора (Windows CE 6.0)

    Эмуляторы для тестирования и отладки приложений Windows CE 6.0 — это, конечно, хорошо, но нет ничего лучше реального железа. Покупать каждый раз целевые устройства более чем за 1000 долларов нерентабельно (да и просто мы жадные), поэтому отладку ПО можно производить на дешёвых устройствах. Для этих целей мы приобрели GPS навигатор за 1500 рублей. В навигатор зашито программное обеспечение вендора, из-за которого ни операционной системы, ни файловой системы не видно. При подключении к ПК устройство определяется как флеш-накопитель, что не очень нам подходит. Решаем эту проблему в несколько кликов!

    Запуск Google Chrome в полноэкранном режиме

    14 октября 2016 ВК Tw Fb

    Одному из наших клиентов (сеть пиццерий) было необходимо, чтобы на мониторах в залах при запуске Windows на весь экран открывалась определённая страница в Интернете. Проще простого.

    База знаний «Try 2 Fix» Beta

    Все материалы свободны
    к распространению с обязательным
    указанием источника

    голоса
    Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector