
Я хочу сделать локальные часы на сервере Stratum 1 источником сетевого времени для моей сети (я не хочу сервер Stratum 0 с антенной). Как мне настроить это в сети? Есть ли руководство, в котором объясняется, как использовать сетевой протокол времени и настроить это? Я пока ничего не нашел в Google о том, как этого добиться. Я был бы очень признателен за вашу помощь.
решение1
Часы в компьютерах общего назначения — мусор, относительно точности, ожидаемой от современных устройств. Они не откалиброваны точно, а изменения температуры сервера могут привести к изменению дрейфа. Поэтому требуется какой-то метод обновления, или в конечном итоге они станут неточными, в крайних случаях на минуты. Иногда достаточно просто совпадения часов, но люди склонны ожидать лучшего.
Вперед к практическим конфигурациям. Например, в Linux популярен chrony, который имеет функции для ручной настройки часов и решения проблем с отключением. Начните с таких примеров, какДокументация RHEL по учету времении ссылайтесь на руководство по эксплуатации в качестве справочного материала.
Большинство серверов времени имеют по крайней мере один из следующих вариантов: доступ в Интернет, антенну спутниковой навигации или точное часовое оборудование. По умолчанию chrony будет обслуживать время, если оно в конечном итоге поступает от эталонных часов через NTP. Установите директиву allow для вашей сети и используйте ваш сервер NTP. Однако, если у вас нет ни одного из них, вы можете заставить chrony обслуживать время в любом случае с помощью локальной директивы.
Если это действительно изолированная сеть без аппаратного обеспечения времени, также включите директиву manual, чтобы вы могли вручную указывать время с помощью chronyc settime
.
chrony.conf с этими параметрами, некоторые комментарии о том, что можно использовать для NTP-сервера, и некоторые вещи, которые мне нравятся из конфигурации EL по умолчанию:
# chrony.conf that still serves time if not syncronized
# Options for time sources
# NTP appliance
# For example, sat nav modules are inexpensive
# Assuming it is available over IP, it is an NTP server
#server time.zone.example.net iburst
# Isolated computers need software updates too!
# If there is an update server on the local net via IP,
# it can serve NTP as well as patches
#server updateproxy.example.net iburst
# Public internet NTP
# Use if you actually have internet
# But no local time source somehow
#pool 2.pool.ntp.org iburst
# Pretend local clock is syncronized
# Enabling serving time
# Use a high stratum, as a lower priority over better clocks
local stratum 10
# Allow "chronyc settime"
# Run this with input time based on e.g. a watch or other clock
# Regularly and when the time is wrong
manual
# Allow clients to query this server
# Replace with your local net prefix
allow 2001:db8:2ea1::/48
### End source customization
### Begin other configuration
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
logdir /var/log/chrony
log measurements statistics tracking