Синхронизация времени через Интернет в Ubuntu
Синхронизация времени через Интернет в Ubuntu
В нашем мире все относительно. И время не исключение. Если точное время наручных часов зависит от их стоимости и производителя, то время на компьютере зависит, в первую очередь, от частоты синхронизации с серверами точного времени.
Автоматическая синхронизация точного времени с сервером расположенным в Интернете — это хороший способ держать электронные часы ОС всегда «подведенными». Благодаря этому на вашем компьютере часы будут показывать всегда актуальное время.
Первое, что надо сделать, — настроить IP-адреса для SwitchA и SwitchB. Начнем со SwitchA:
Теперь настраиваем IP-адрес для SwitchB:
На этой стадии все, переходим к этапу номер два. Теперь понадобится настроить SwitchA в качестве главного сервера синхронизации и включить NTP-аутентификацию. Также следует установить уровень синхронизации 1.
Прежде чем идти далее, сделаем небольшое отступление и скажем, что значение полосы уровня синхронизации находится в пределах от 1 до 15. При этом часы в подсети синхронизируются по возрастанию уровней, а уровень синхронизации можно установить. В нашем примере уровень синхронизации равен 1.
К слову, в реальных условиях сервер NTP, который синхронизирован с авторитетными часами, задают как stratum 1 и используют в качестве источника синхронизации. Прочие сетевые устройства синхронизируют свои часы с часами сервера NTP, а это значит, что локальные часы сервера NTP настроены в качестве основных часов NTP.
Вообще, методы аутентификации включают как MD5, так и HMAC-SHA256. HMAC-SHA256 характеризуется более высокой безопасностью, а MD5 — более высокой скоростью. В нашем примере мы применяем HMAC-SHA256 (третья строка вышеуказанного кода). Из первой же строки можно заметить, что ширина часов устанавливается на 1.
Теперь включаем функцию NTP-сервера для SwitchA:
Следующий шаг — настройка SwitchB в целях синхронизации времени со SwitchA с последующим включением NTP-аутентификации. IP-адрес NTP-сервера — 10.10.1.1. Режим синхронизации часов устанавливается на одноадресный клиент/сервер.
Важно понимать, что идентификатор ключа SwitchB-аутентификации должен быть таким же, как и в случае со SwitchA. Иначе аутентификация завершится с ошибкой.
Настройка Firewall
Для того чтобы протокол времени (NTP) успешно работал, нужно создать разрешающее правило по порту 123.
/ip firewall filter
add action=accept chain=input comment=NTP-Allow dst-port=123 protocol=udp
Если посмотреть на счётчик, то видим, что пакеты долетают от клиентов. Как это? Спросите вы.
Проверка правильности работы ntp
Чтобы проверить — все ли работает правильно, можно запустить синхронизацию вручную:
Если все прошло успешно, получите сообщение:
Sending resync command to local computer
The command completed successfully.
Если есть проблемы — сообщение:
The computer did not resync because no time data was available.
Во втором случае необходимо проверить все сначала: файрвол, правильность заданных серверов (не ошиблись ли в имени). Если что — информацию о сбросе настроек мы уже приводили.
Интернет-магазин AliExpress — на русском языке. Товары от розничных и оптовых продавцов из Китая с возможностью бесплатной доставки.
ePN cashback — Возвращать себе от 7% от стоимости каждой покупки ещё легче!
Kopikot — Возвращайте деньги с интернет-покупок! Покупайте в любимых магазинах с кэшбэком от Kopikot и экономьте!
LetySHOPS — Покупайте в более чем 955 интернет-магазинах по всему миру и возвращайте часть денег за покупки.
Если вы желаете уменьшить время, на которое задерживается синхронизация, откройте файл конфигурации SyncThing и исправьте параметр fsWatcherDelayS=»10″ до нужного вам значения, например, до 1 секунды. Выполните эту операцию на каждом узле и перезапустите сервис SyncThing:
Настройка SyncThing завершена, теперь необходимо обеспечить большую защиту и лучшую работу приложения.
Перенос GUI за Nginx
Теперь вы можете поместить пользовательский интерфейс SyncThing за обратный прокси-сервер Nginx с сертификатом Let’s Encrypt:
- по настройке для Debian 9, Ubuntu 16.04, 18.04; по настройке для CentOS 7.
Для того, чтобы пользователи не могли соединяться непосредственно с GUI мимо Nginx, отредактируйте файл /etc/systemd/system/syncthing.service и замените 0.0.0.0:8384 на 127.0.0.1:8384. После этого выполните перезагрузку сервиса:
Настройка лимита Inotify
По умолчанию, пользовательский процесс может подписаться на ограниченное количество каталогов, изменения в которых он отслеживает. В случае больших файловых деревьев вам необходимо увеличить лимит inotify: