{{lowercase title}} {{Short description|Network Time Protocol implementation}} {{Infobox software | name = chrony | logo = | screenshot = Chrony 4.6 screenshot.webp | caption = Screenshot of chronyc | author = Richard Curnow<ref name="cii-audit-identifies-secure-ntp-implementation">{{Cite web|title=CII Audit Identifies Most Secure NTP Implementation|url=https://www.linuxfoundation.org/blog/cii-audit-identifies-secure-ntp-implementation/|publisher=Linux Foundation|author=Linux Foundation|date=2017-09-28|accessdate=2019-10-08|archiveurl=https://web.archive.org/web/20180203195701/https://www.linuxfoundation.org/blog/cii-audit-identifies-secure-ntp-implementation/|archivedate=2018-02-03}}</ref> | developer = Miroslav Lichvar, Red Hat<ref name="cii-audit-identifies-secure-ntp-implementation" /> | released = | latest release version = {{wikidata|property|preferred|references|edit|P348|P548=Q2804309}} | latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|P348|P548=Q2804309|P577}}|df=yes}} | latest_preview_version = | latest_preview_date = | programming_language = C | operating_system = Unix-like | engine = | platform = | size = | language = | genre = Time synchronization | license = GNU GPL v2 | website = {{URL|https://chrony-project.org/}} }} '''chrony''' is an implementation of the Network Time Protocol (NTP). It is an alternative to ntpd, a reference implementation of NTP. It runs on Unix-like operating systems (including Linux and macOS) and is released under the GNU GPL v2.<ref name="comparison">{{Cite web|title=Comparison of NTP implementations|url=https://chrony-project.org/comparison.html|publisher=Chrony project|accessdate=2019-10-08}}</ref> It is the default NTP client and server in Red Hat Enterprise Linux 8 and SUSE Linux Enterprise Server 15,<ref>{{Cite web|title=Migrating to chrony|url=https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/using-chrony-to-configure-ntp#migrating-to-chrony_using-chrony-to-configure-ntp|publisher=Red Hat, Inc.|accessdate=2019-10-08|archive-date=2019-07-16|archive-url=https://web.archive.org/web/20190716221322/https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/using-chrony-to-configure-ntp#migrating-to-chrony_using-chrony-to-configure-ntp|url-status=dead}}</ref><ref>{{Cite web|title=Time Synchronization with NTP|url=https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-ntp.html|publisher=SUSE|accessdate=2019-10-08}}</ref> and available in many Linux distributions.<ref>{{Cite web|title=chrony|url=https://packages.debian.org/stable/chrony|publisher=Debian|accessdate=2019-10-08}}</ref><ref>{{Cite web|title=chrony|url=https://apps.fedoraproject.org/packages/chrony|publisher=Fedora Packages|accessdate=2019-10-08|archive-date=2019-10-08|archive-url=https://web.archive.org/web/20191008070642/https://apps.fedoraproject.org/packages/chrony|url-status=dead}}</ref><ref>{{Cite web|title=net-misc/chrony|url=https://packages.gentoo.org/packages/net-misc/chrony|publisher=Gentoo Packages|accessdate=2019-10-08}}</ref>

Support for Network Time Security (NTS) was added in version 4.0.<ref>{{Cite web|title=chrony/chrony.git - Official Git repository for the Chrony project.|url=https://git.tuxfamily.org/chrony/chrony.git/tree/NEWS?id=4.0#n6|access-date=2021-07-31|website=git.tuxfamily.org}}</ref>

== Comparison with the reference implementation ==

In contrast to NTPsec, which is a security-focused fork of {{mono|ntpd}}, chrony was implemented from scratch.<ref name="cii-audit-identifies-secure-ntp-implementation" /> It was designed to synchronize time even in difficult conditions such as intermittent network connections (such as laptops) and congested networks.<ref name="cii-audit-identifies-secure-ntp-implementation" /> Some improvements in this regard (compared to reference ntpd) include that it never steps (abruptly adjusts) time outside of startup, can correct for asymmetric network jitters, and can use larger clock rate adjustments on Linux to deal with a broken clock. It typically synchronizes faster and more accurately.<ref name=rhel7/>

Unlike {{mono|ntpd}}, it supports synchronizing the system clock via hardware timestamping (i.e. packet times on the network adapter), improving accuracy of time synchronization between machines on a LAN<ref name="comparison" /> &ndash; to the order of 70 nanoseconds (from asymmetry),<ref>{{cite web |title=chrony – Configuration examples and accuracy |url=https://chrony-project.org/examples.html#_client_using_local_server_and_hardware_timestamping |website=chrony-project.org}}</ref> comparable to Precision Time Protocol. It also supports synchronization by manual input, so as to perform time correction within an isolated network.<ref name="comparison" />

{{proper noun|chrony}} does not implement broadcast, multicast, and anycast modes of operation. It also does not implement the insecure "autokey" authentication.<ref name="comparison" /> It uses external programs to drive hardware time sources (e.g. {{mono|gpsd}} for GNSS), unlike {{mono|ntpd}}, which has many built-in drivers.<ref name=rhel7>{{cite web |title=Chapter 18. Configuring NTP Using the chrony Suite Red Hat Enterprise Linux 7 |url=https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite |website=Red Hat Customer Portal |language=en}}</ref>

== See also == {{Portal|FLOSS}}

* OpenNTPD * timesyncd

== References == {{Reflist}}

== External links == * {{Official website}}

Category:Network time-related software Category:Free software programmed in C Category:Software using the GNU General Public License