Меню Рубрики

Установка времени на сервере freebsd

Media UniX

freebsd команды, настройка, установка сервера и не только

Делаем свой сервер времени на FreeBSD

Иметь точное время на сервере надо всегда, а если сервер ещё обслуживает другие пк в сети, то в пору задуматься о своём сервере времени — NTP. Ставить и настраивать будем на FreeBSD. Приступим.
Устанавливаем из портов:
cd /usr/ports/net/ntp/
make install clean
rehash

Создаём и редактируем файл конфигурации демона:
touch /etc/ntp.conf
ee /etc/ntp.conf

Содержимое этого файла должно быть примерно следующим:

#сервера с которыми будем сверяться:
# prefer — приоритетный сервер
server 193.125.143.173 iburst burst prefer
server 213.79.103.146 iburst burst
server 195.200.216.138 iburst burst
server 85.21.78.6 iburst burst
#файл смещения и логов
driftfile /var/db/ntpd.drift
logfile /var/log/ntpd.log
#те, кому можно будет с нами взаимодействовать
restrict default ignore
#разрешим следующим серверам времени:
restrict 193.125.143.173
restrict 213.79.103.146
restrict 195.200.216.138
restrict 85.21.78.6
#и localhost’у
restrict 127.0.0.1
#разрешим пользоваться нашей службой компьютерам в сети
restrict 10.36.1.0 mask 255.255.255.0 nomodify notrap

Теперь создадим те самые файлы для логов и смещения:
touch /var/log/ntpd.log
touch /var/db/ntpd.drift

В /etc/rc.conf пропишем:
ntpd_enable=»YES»
ntpd_program=»/usr/local/bin/ntpd»

Запускаем демона:
/etc/rc.d/ntpd start

После запуска сервера нужно подождать немного, минут 15.
Проверим, работает ли наш сервер времени:
ntpdate -q localhost

Должны увидеть, что то вроде:
server 127.0.0.1, stratum 4, offset -0.000011, delay 0.02568
2 Nov 21:10:06 ntpdate[2130]: adjust time server 127.0.0.1 offset -0.000011 sec

если видите:
server ip_адрес, stratum 0, offset 0.000000, delay 0.00000
1 Nov 23:19:03 ntpdate[40529]: no server suitable for synchronization found
значит не работает.

Узнать эти же параметры, но на другом сервере в интернете можно командой:
ntpdate -q 0.ru.pool.ntp.org

Так же проверить синхронизацию можно выполнив:
ntpq -p

Должны увидеть нечто похожее на:

Здесь
символы перед remote серверами
* — значит, что с него мы синхронизировались последний раз
+ — подходящий для обновления сервер
— — не подходящий для обновления сервер
x — сервер не доступен
столбец delay — задержка в миллисекундах
столбец when показывает, когда последний раз обновлялись мы с этого сервера.

Найти ближний к вам сервер, с которым вам лучше синхронизироваться можно здесь. Там вы найдёте нужные вам сервера в зависимости от расположения вашего сервера, будь то Европа, Азия, Северная Америка и другие точки на планете. Но обратите внимание на то, что в конфигурационном файле я указывал их IP адреса, т.к. при обращении по имени, синхронизация не работает. Объяснить я это могу тем, что одно доменное имя сервера имеет несколько IP адресов. Я пропинговал несколько раз один из серверов, посмотрел до какого ИП адреса сигнал доходит быстрее и вписывал эти адреса.
Узнать нынешнее время на вашем сервере можно, выполнив:
touch /tmp/time && ls -lT /tmp/time | awk ‘‘ && rm /tmp/time

Для настройки FrssBSD в качестве клиента синхронизации в /etc/rc.conf надо вписать:
ntpdate_enable=»YES»
ntpdate_program=»/usr/sbin/ntpdate»
ntpdate_flags=»-u имя_серве_ntp»

Для настройки Windows XP в качестве клиента синхронизации, жмём по часикам в трее, на вкладке «internet time» вписываете ваш сервер в отведённое поле, нажимаете «update now»

И кстати, не забудьте открыть на фаерволе порт udp 123, иначе все телодвижения были бесполезны.

Добавить комментарий Отменить ответ

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

источник

Настройка локального времени во FreeBSD ­ Дневник ­ Максим Боголепов

Настройка локального времени во FreeBSD

Вроде бы простая задача… Однако в свете недавно принятых законов, из-за которых наша страна больше не переходит на “зимнее время”, возникли определенные трудности.
Итак, имеем сервер под управлением FreeBSD 8.2- RELEASE архитектуры amd64, что в принципе не имеет никакой разницы. Операционная система была установлена в феврале этого 2011 года “с нуля”, и обновление мира больше не происходило.

Установка локального часового пояса происходит либо во время настройки операционной системы при помощи команды sysinstall, либо позже – вручную.

В первом случае после установки FreeBSD необходимо зайти в меню sysinstall:

Configure -> Time Zone -> если часы BIOS установлены в UTC выбрать Yes, если они установлены в соответствии с вашим локальным временем выбрать No -> Выбрать регион вашего местоположения (в моем случае – Europe) -> Выбрать страну вашего нахождения (в моем случае 39 Russian Federation) -> Выбрать часовой пояс (в моем случае это 2 Moscow+00 – west Russia) -> Подтвердить свой выбор нажав OK -> осуществить выход из sysinstall.

Читайте также:  Установка датчиков температуры процессора

Для установки локального времени вручную вам просто необходимо скопировать необходимый файл из /usr/share/zoneinfo . В моем случае это будет осуществлено так:

Однако, как я уже писал выше, мир FreeBSD и, соответственно, zoneinfo не обновлялись с февраля 2011 года, т.е. с даты ДО принятия закона об отмене перехода на “зимнее время”. Из-за этого 30 октября на моем сервере время вопреки всему благополучно “перешло” на час назад. Все бы ничего, ели бы это был отдельно стоящий сервер, но в моем случае на нем установлен NTP -сервер для синхронизации времени рабочих станций в домене…

Для того, чтобы обновить zoneinfo во FreeBSD и держать их в актуальном состоянии, необходимо установить порт misc/zoneinfo. Делается это так:

После чего вам необходимо заново скопировать нужный вам файл (соответствующий вашей временной зоне) из /usr/share/zoneinfo . В моем примере копируется зона для Москвы:

Или же воспользуйтесь командой tzsetup, которая предоставляет вам выбор часового пояса с помощью графического меню в стиле sysinstall.

Проверьте время командой date.

Почти наверняка оно будет показывать время “на час вперед”. Для синхронизации часов с каким-нибудь публичным сервером точного времени выполните команду ntpdate:

Где ru.pool.ntp.org пул публичных ntp-серверов в Российской Федерации.

Или же установите время вручную, с помощью команды date. Формат команды следующий: date ccyymmddHHMM.ss , где:
cc – задает текущий век
yy – год
mm – месяц года
dd – день месяца
HH – часы
MM – минуты
.ss – секунды.

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

Rating: 4.8/5(13 votes cast)

источник

Как установить, изменить время и часовой пояс (timezone) в Debian

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

Данная статья является частью единого цикла статьей про сервер Debian.

Цели статьи

  1. Показать, как смотреть и настраивать системное время в Debian.
  2. Рассказать, как управлять часовыми поясами.
  3. Настроить автоматическую синхронизацию времени через интернет.
  4. Показать настройку своего ntp сервера в информационной системе.

Введение

Во время установки Debian, сервер автоматически настраивает системное время на основе информации из bios. Инсталлятор предлагает вам выбрать только часовой пояс. При этом, если вы не правильно указали часовой пояс (timezone), его без проблем можно изменить после установки.

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

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

  • Точное время на сервере необходимо для корректного логирования всех событий и последующего расследования инцидентов. Более того, одинаковое время должно быть на всех серверах, которые участвуют в работе информационной системы. Если это не так, то расследование инцидентов становится затруднительным.
  • В доменной середе Windows для корректной работы протокола аутентификации Kerberos требуется примерно одинаковое время на всех участниках домена. Если ваш сервер Debian является членом домена, важно, чтобы его время не сильно отличалось от времени контроллера домена. Его нужно обязательно синхронизировать с ним.
  • На сервере может располагаться какой-то сервис, который взаимодействует с пользователями. Например, новостной сайт, где в статьях указано точное время публикации. Если неправильно настроить часы или timezone, может возникнуть ситуация, когда для некоторых пользователей опубликованные материалы будут отображаться со временем из будущего.
  • Планировщик cron в своей работе использует системные часы. Если вы хотите предсказуемое поведение запланированных задач, время и часовой пояс должны быть настроены правильно.
Читайте также:  Установка колпаков на диски без ушек

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

Как посмотреть и узнать системное время

Начнем с самого простого — подключимся к серверу по ssh и посмотрим в консоли на текущее время. Сделать это можно с помощью простой команды date.

Wed день недели, в данном случае среда
21 Aug число и месяц, 21-е августа
2019 год
03:38:12 время в формате часы:минуты:секунды
PM обозначение времени суток, am или pm, до или после полудня
MSK часовой пояс, он же timezone

Как вы видите, у нас установлен часовой пояс MSK, текущая дата и время в 12-ти часовом формате. Это не очень удобно. Если вам нужно посмотреть время в 24-х часовом формате, добавьте отображение +%R к date.

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

Также есть еще один способ получить полную информацию о времени сервера Debian — воспользоваться командой timedatectl.

Установка и настройка времени в Debian

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

Здесь 08 — месяц, 21 — число, 15 — час, 55 — минуты. Таким образом, формат команды получился вот такой — date MMDDhhmm .

То же самое, только через timedatectl.

Если вы получили ошибку — Failed to set time: Automatic time synchronization is enabled, значит у вас уже настроено автоматическое обновление времени. Об этом подробнее мы поговорим ниже. В таком случае timedatectl, в отличие от date, время менять не будет.

С помощью команды date так же можно посмотреть текущее время системы без учета часового пояса, то есть время по UTC.

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

Установка, настройка и изменение часового пояса

Выше я рассказал, как узнать, в каком часовом поясе находятся системные часы сервера debian. В моем случае timezone установлена как MSK, то есть московский часовой пояс. Если у вас указан другой часовой пояс, а вы, к примеру, хотите установить московский, то делается это просто. Смена часового пояса выполняется через timedatectl:

Посмотреть список всех timezоne, доступных для установки на сервере, можно командой:

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

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

Timedatectl для настройки времени в Debian

В большинстве современных дистрибутивов с systemd служба синхронизации времени уже присутствует в дефолтной установке и реализуется через systemd-timesyncd. Эта служба призвана заменить ntpd. Со слов разработчиков, она легче и быстрее, чем ntpd, плюс интегрирована в systemd, поэтому для автоматической синхронизации времени рекомендуется использовать именно ее.

Тут важно понимать, что systemd-timesyncd не может работать в качестве сервера времени, который мы настроим ниже. Так что, если у вас одиночный сервер, вам вполне подойдет timesyncd. Если же вы хотите использовать свой сервер времени, то надо настраивать ntp.

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

Синхронизация времени уже включена и работает через timesyncd. Посмотрим ее статус.

В принципе, больше ничего делать не нужно. Синхронизация времени через интернет уже настроена и работает. Время обновляется с сервера 2.debian.pool.ntp.org. Для надежности, можно убедиться, что служба работает, плюс, добавим ее сразу в автозагрузку, если ее там нет.

Читайте также:  Установка распредвалов 2 5 tdi

Синхронизация времени с помощью ntp и ntpdate

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

Покажу теперь простую утилиту ntpdate, с помощью которой можно разово синхронизировать время, не автоматически. Для начала ее нужно установить в систему.

Дальше запускаем для разовой синхронизации.

В данном случае pool.ntp.org — адрес сервера времени. Можно использовать любой. Все, время синхронизировано и никаких автоматических служб не запущено.

Если у вас ntpdate выдает ошибку — the NTP socket is in use, exiting, значит у вас уже установлена и запущена служба ntp, которая заняла udp порт 123, необходимый для работы ntpdate. Установкой и настройкой этой службы мы и займемся далее. Также, если ntpdate не работает, посмотрите материал, может это ваш случай.

Для обновления времени сервера можно воспользоваться службой ntp. Ее так же надо установить отдельно.

Это старая проверенная служба времени, которую использовали еще задолго до появления systemd и его юнитов. Запустим ее и добавим в автозагрузку.

После запуска она сразу же автоматически синхронизирует время. Проверим статус службы ntp в Debian.

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

При этом, для проверки статуса службы времени ntp можно использовать утилиту ntpq. Посмотрим статус синхронизации.

Поясню значения каждого столбца.

remote Адрес удаленного эталона времени, с которого была синхронизация
refid Указывает, откуда каждый эталон получает точное время. Это могут быть другие сервера времени, система GPS и другое
st Stratum (уровень) это число от 1 до 16, которое указывает на точность эталона. 1- максимальная точность, 16 — сервер недоступен. Уровень вашего сервера будет равен уровню наименее точного удаленного эталона плюс 1.
poll Интервал в секундах между опросами
reach Восьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с эталоном. Бит выставлен, если удаленный сервер ответил.
delay Время задержки ответа на запрос о точном времени
offset Разница между вашим и удаленным сервером
jitter Дисперсия (Jitter) — это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Чем меньше значение дисперсии, тем лучше, поскольку позволяет точнее синхронизировать время.

Настройка сервера ntp в Debian

Теперь настроим свой сервер времени, с которого другие наши сервера смогут синхронизировать свои часы. Сервер времени ntp использует отдельный одноименный протокол — Network Time Protocol, который для работы использует UDP порт 123. Перед установкой и настройкой службы времени убедитесь, что на фаерволе открыт этот порт.

Файл конфигурации ntp — /etc/ntp.conf. Привожу минимальную достаточную конфигурацию для своего сервера времени.

Так же я обычно отключаю ipv6 протокол, если он не используется. Для этого в файле /etc/default/ntp заменяем параметр на

После изменения конфигурации, перезапустим ntp и проверим статус службы.

Теперь убедимся, что она запущена.

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

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

Если в логе /var/log/ntp.log увидите сообщение — kernel reports TIME_ERROR: 0x2041: Clock Unsynchronized, не обращайте внимание. Это не ошибка, а информационное сообщение, говорящее о том, что в момент запуска ntp ядро еще не синхронизировало свое время.

Заключение

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

Я показал как устанавливать время, изменять часовой пояс, разово синхронизировать время с помощью ntpdate и настраивать сервер времени ntpd в локальной сети.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.

источник

Добавить комментарий

Adblock
detector