Chrony – альтернативный клиент и сервер NTP для Unix-подобных систем

В этой статье мы обсудим, как установить и настроить Chrony, альтернативный клиент и сервер NTP для Unix-подобных систем. Chrony может быстрее синхронизировать системные часы с лучшей точностью времени, и он может быть особенно полезен для систем, которые не работают в сети все время. Chrony является бесплатным, с открытым исходным кодом и поддерживает варианты GNU/Linux и BSD, такие как FreeBSD, NetBSD, macOS и Solaris.

Читать далее Chrony – альтернативный клиент и сервер NTP для Unix-подобных систем

CentOS / RHEL 7 : Configuring NTP using chrony

  • Chrony provides another implementation of NTP.
  • Chrony is designed for systems that are often powered down or disconnected from the network.
  • The main configuration file is /etc/chrony.conf.
  • Parameters are similar to those in the /etc/ntp.conf file.
  • chronyd is the daemon that runs in user space.
  • chronyc is a command-line program that provides a command prompt and a number of commands. Examples:
    • tracking: Displays system time information
    • sources: Displays information about current sources.

Installing Chrony

Install the chrony package by using the following command:

# yum install chrony

Use the following commands to start chronyd and to ensure chronyd starts at boot time:

# systemctl start chronyd
# systemctl enable chronyd

Configuring Chrony

A sample configuration would look like below :

# cat /etc/chrony.conf
server a.b.c offline
server d.e.f offline
server g.h.i offline
keyfile /etc/chrony.keys generatecommandkey
driftfile /var/lib/chrony/drift makestep 10 3

The parameters are described as follows:

  • server: Identifies the NTP servers you want to use. The offline keyword indicates that the servers are not contacted until chronyd receives notification that the link to the Internet is present.
  • keyfile: File containing administrator password. Password allows chronyc to log in to chronyd and notify chronyd of the presence of the link to the Internet.
  • generatecommandkey: Generates a random password automatically on the first chronyd start.
  • driftfile: Location and name of file containing drift data.
  • makestep: Step (start anew) system clock if a large correction is needed. The parameters 10 and 3 would step the system clock if the adjustment is larger than 10 seconds, but only in the first three clock updates.

Although, all these parameters are not required. For this post purpose I am using only below two lines in the configuration file.

# cat /etc/chrony.conf
server 192.0.2.1
allow 192.0.2/24

Starting chrony

Use the systemctl command to start the chrony daemon, chronyd.

# systemctl start chronyd

Verify

To check if chrony is synchronized, use the tracking, sources, and sourcestats commands. Run the chronyc tracking command to check chrony tracking. Alternatively you could run chronyc to display a chronyc> prompt, and then run the tracking command from the chronyc> prompt.

# chronyc tracking
Reference ID : 192.0.2.1 (192.0.2.1)
Stratum : 12
Ref time (UTC) : Fri Aug 05 19:06:51 2016
System time : 0.000823375 seconds fast of NTP time
Last offset : 0.001989304 seconds
RMS offset : 0.060942811 seconds
Frequency : 1728.043 ppm slow
Residual freq : 1.100 ppm
Skew : 94.293 ppm
Root delay : 0.000207 seconds
Root dispersion : 0.016767 seconds
Update interval : 65.1 seconds
Leap status : Normal

Some of the important fields are :
Reference ID: This is the reference ID and name (or IP address) if available, of the server to which the computer is currently synchronized.
Stratum: The stratum indicates how many hops away from a computer with an attached reference clock you are.
Ref time: This is the time (UT C) at which the last measurement from the reference source was processed.

Run the chronyc sources command to display information about the current time sources that chronyd is accessing.

# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================
^* 192.0.2.1 11 6 377 63 +1827us[+6783us]...

Some of the fields are described:
M: The mode of the source. ^ means a server, = means a peer, and # indicates
a locally connected reference clock.
S: The state of the sources. “*” indicates the source to which chronyd is currently synchronized. “+” indicates acceptable sources that are combined with the selected source. “-” indicates acceptable sources that are excluded by the combining algorithm. “?” indicates sources to which connectivity has been lost or whose packets do not pass all tests. “x” indicates a clock that chronyd thinks is a false ticker, that is, its time is inconsistent with a majority of other sources. “~” indicates a source whose time appears to have too much variability. The “?” condition is also shown at start-up, until at least three samples have been gathered from it.
Name/IP address: This shows the name or the IP address of the source, or reference ID for reference clocks.

Run the chronyc sourcestats command. This command displays information about the drift rate and offset estimation
process for each of the sources currently being examined by chronyd.

# chronyc sourcestats
210 Number of sources = 1
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev ==================================================================================
192.0.2.1 5 4 259 -747.564 1623.869 -2873us 30ms

Stop chrony

Use the systemctl command to stop the chrony daemon, chronyd.

# systemctl stop chronyd

Run the chronyc tracking command and notice chronyc cannot talk to the chronyd daemon.

# chronyc tracking
506 Cannot talk to daemon

See also

RFC 768 — Протокол датаграмм клиента (UDP)

RFC 768

Этот протокол (User Datagram Protocol — UDP) проектировался для создания в объединенной системе компьютерных сетей с коммутацией пакетов режима передачи датаграмм клиента. Протокол UDP предполагает, что нижестоящим протоколом является Internet (IP) [RFC760].

Данный протокол предоставляет прикладной программе процедуру для посылки сообщений другим программам, причем механизм протокола минимален. Протокол UDP ориентирован на транзакции, получение датаграмм и защита от дублирования не гарантированы. Приложения, требующие гарантированного получения потоков данных, должны использовать протокол управления пересылкой (Transmission Control Protocol — TCP) [RFC761].

Читать далее RFC 768 — Протокол датаграмм клиента (UDP)

В последнем /8 блоке RIPE NCC осталось 4 млн свободных IPv4 адресов

Оригинал: https://www.opennet.ru/opennews/art.shtml?num=34748

Региональный интернет-регистратор RIPE NCC, занимающийся распределением IP-адресов на территории Европы, Средней и Центральной Азии, уведомил пользователей о приближении исчерпания доступных для раздачи IP-адресов. В частности, в последнем /8 блоке адресов (маска /8 адресует около 17 млн. хостов) осталось 4 млн незанятых IP, которые будут израсходованы примерно в течение месяца. С учётом остатков и возвращённых подсетей общее число свободных для распределения IPv4-адресов оценивается в 22 млн. (два месяца назад было 33 млн).

В связи со скорым исчерпанием IPv4-адресов RIPE NCC объявил о переходе на первую фазу прекращения выделения IPv4-адресов, подразумевающую изменение регламента обработки заявок (заявки будут обрабатываться дольше) и взаимодействия с потребителями. В зависимости от наличия освобождённых остаточных блоков адресов, запрос теперь может быть удовлетворён не одной подсетью, а несколькими разрозненными префиксами меньшей размерности. Также сокращено время нахождения в карантине возвращённых IPv4-подсетей, что ускорит их повторное выделение. В дальнейшем политика выделения IPv4 адресов будет ужесточена — максимальный размер выделяемой подсети будет сокращён до /22 (1024 IP), при этом адреса будут выделяться LIR-ам которые уже получили блоки IPv6-адресов. Выдача провайдеронезависимых блоков (PI — Provider Independent) будет прекращена.