Fact-checked by Grok 2 weeks ago

ntpd

ntpd is an operating system daemon that implements the Network Time Protocol (NTP) to synchronize a computer's system clock with remote time servers or local reference clocks over networks, achieving high accuracy in timekeeping for applications ranging from to . Developed as the reference implementation of NTP by David L. Mills at the , ntpd originated from early efforts documented in 778 (1981), with the first formal NTP version (Version 0) specified in 958 (1985), enabling accuracies of tens of milliseconds. Subsequent versions advanced the protocol: NTP Version 1 ( 1059, 1988) introduced client-server and symmetric active modes; Version 2 ( 1119, 1989) added control messages and authentication using ; Version 3 ( 1305, 1992) incorporated broadcast modes and detailed error analysis; and Version 4 ( 5905, 2010) brought nanosecond timestamping, the Autokey protocol for public-key authentication, and manycast modes for efficient multicast . These evolutions improved precision from hundreds of milliseconds in the 1980s to sub-microsecond levels today, while supporting diverse reference sources like GPS, radio clocks (e.g., WWVB), and peer networks. ntpd operates continuously in the background, polling configured NTP servers at intervals that adapt based on clock and conditions, applying algorithms for correction, drift compensation, and rejection to minimize errors. It can function as both a client and server, disseminating time to other systems, and includes features for handling, discipline to adjust the system clock, and via the ntp.conf file for specifying peers, keys, and controls. Widely deployed on operating systems including , , and , as well as Windows via ports, ntpd underpins time synchronization in enterprise s, financial systems, and the global infrastructure. In response to historical security vulnerabilities in the original NTP codebase—such as buffer overflows and denial-of-service risks—NTPsec emerged in 2015 as a community-driven, security-focused of ntpd, removing deprecated code, enhancing authentication (e.g., support for NTS per RFC 8915), and undergoing rigorous auditing to promote safer deployments. While the classic NTP Project's ntpd remains available (last major release 4.2.8p18 in 2024), NTPsec is recommended for new installations, reflecting ongoing efforts to secure time protocols amid rising threats like spoofing attacks.

Introduction

Overview

ntpd is the of the Network Time Protocol (NTP) daemon, designed to maintain accurate synchronization of a host's system clock with remote NTP servers over the network using port 123. It operates continuously in the background, querying multiple time sources to compute the best estimate of the current time and adjusting the local clock accordingly to minimize discrepancies caused by network delays and hardware variations. The daemon implements NTP version 4 as specified in RFC 5905, while providing backward compatibility with earlier versions including NTPv3 (RFC 1305), NTPv2 (RFC 1119), and NTPv1 (RFC 1059). Key features include the use of 64-bit timestamps, consisting of 32 bits for seconds and 32 bits for fractional seconds since the NTP epoch (January 1, 1900), enabling a resolution of approximately 233 picoseconds. Additionally, ntpd supports compensation by tracking the frequency offset of the local oscillator and storing this value in a drift file, typically located at /etc/ntp.drift on systems, to improve synchronization efficiency over time. As a background process, ntpd runs as a daemon on operating systems and can be configured on Windows through available ports. It integrates directly with the system's clock to correct for time , , and , ensuring reliable timekeeping essential for distributed systems, , and security protocols. ntpd supports several operational modes, including client mode for synchronizing with upstream servers, server mode for distributing time to downstream clients, and symmetric active or passive modes for associations.

History

The Network Time Protocol (NTP) project originated in 1981, when David L. Mills at the began developing synchronization technology to maintain consistent clocks across the , building on earlier experiments with timekeeping in packet-switched networks. This work addressed the growing need for coordinated timing in distributed systems, with initial specifications appearing in IEN-173 and 778. The first NTP daemon arrived in 1985 as NTP Version 0, deployed on the NSFNET and achieving accuracies in the tens of milliseconds, as detailed in 958. Key milestones marked NTP's evolution through successive versions. NTPv1 was formalized in 1988 via RFC 1059, introducing client-server and symmetric active modes for broader interoperability. NTPv2 followed in 1989 with RFC 1119, adding control message formats and initial support for cryptographic authentication to enhance reliability over expanding networks. By 1992, NTPv3 in RFC 1305 brought refinements like broadcast modes and detailed error analysis, with the reference daemon initially named xntpd to reflect its X/Open compatibility. The transition to NTPv4 in the culminated in RFC 5905 (finalized in 2010), which renamed the daemon to ntpd for simplicity and full protocol support, enabling sub-millisecond precision through improved algorithms like interleaved mode. Primary development has been led by the NTP Project (ntp.org), with contributions from Mills and a volunteer community including Harlan Stenn for long-term maintenance. In 2015, security concerns prompted the NTPsec , which stripped legacy code to mitigate vulnerabilities while preserving functionality. As of 2025, ongoing efforts emphasize integration of Network Time Security (NTS) per RFC 8915, with IETF working group activities continuing to refine authentication against modern threats. Additionally, as of 2025, the IETF is developing NTP Version 5 (draft stage) to address modern requirements such as improved processing and integration with other time protocols. NTP's development has been driven by the internet's explosive growth, from ARPANET-scale experiments to billions of devices requiring precise for applications like financial transactions and . Enhancements targeted sub-millisecond accuracy to meet demands in high-speed networks, while security features evolved in response to threats such as DDoS amplification attacks exploiting NTP servers, which emerged prominently in the early .

Functionality

Time Synchronization Process

Upon startup, ntpd reads its configuration file to identify potential time servers and peers, then mobilizes associations by selecting sources based on the stratum hierarchy, where stratum 1 servers connect directly to high-precision references like GPS or atomic clocks, and higher strata (up to 15) synchronize to lower ones to form a distributed tree. It initializes system variables, setting the local stratum to 16 (indicating unsynchronized) and the leap indicator to 3 (unknown), before sending initial client queries in mode 3 to gather time offsets. These queries establish baseline synchronization, with ntpd operating as both a client to upstream sources and a server to downstream clients. The core of synchronization involves exchanging packets between client and server, each containing 64-bit timestamps for precision down to nanoseconds: t_1 (client origin time), t_2 (server receive time), t_3 (server transmit time), and t_4 (client destination time). From these, ntpd computes the \delta and clock offset \theta as follows: \delta = (t_4 - t_1) - (t_3 - t_2) \theta = \frac{(t_2 - t_1) + (t_4 - t_3)}{2} These values quantify network asymmetry and local clock discrepancy, respectively, allowing ntpd to estimate the true time despite variable . In peer mode, symmetric exchanges (modes 1 and 2) enable mutual synchronization between equal-stratum hosts. Once offsets are determined, ntpd adjusts the local clock: for offsets exceeding 128 ms, it applies a step adjustment using like settimeofday() to instantly correct the time, potentially resetting associations to avoid compounding errors. For smaller offsets, it slews the clock gradually via the adjtime() , which incrementally alters the frequency to converge without disrupting running processes. The polling interval begins at 64 seconds and dynamically adjusts—shortening for high or lengthening up to 36 hours for stability—to balance accuracy and network load. ntpd supports client-server (pull) and peer (symmetric) modes within the stratum hierarchy, selecting the best server through an intersection that identifies overlapping time intervals from multiple sources to exclude false tickers and ensure consensus. This process clusters survivors and picks the lowest root distance candidate, where root distance combines delay, , and for reliability assessment. Leap seconds, announced in IERS Bulletin C approximately six months in advance, are handled by setting the leap indicator in NTP packets to signal insertion (adding a second) or deletion (skipping one) at the UTC transition, typically June 30 or December 31 at 23:59:59. ntpd propagates this warning and adjusts the clock accordingly, maintaining synchronization to UTC without smearing unless configured otherwise. To manage errors, ntpd filters samples with high dispersion— an estimate of maximum that accumulates at 15 parts per million when stale—discarding those exceeding thresholds to prevent outliers from skewing adjustments. fitness is evaluated using the root distance metric, which thresholds unfit sources (e.g., beyond 1 second) and favors those minimizing overall .

Key Algorithms

The clock algorithm in ntpd employs a (PLL) to synchronize the local system clock with remote time servers by adjusting both phase and . It operates as an adaptive hybrid feedback loop, combining PLL behavior for short poll intervals (typically under 2048 seconds) and a frequency-locked loop (FLL) for longer intervals, ensuring stability across varying network conditions. The algorithm maintains estimates of the system \theta and \phi, where \phi is approximated as \phi = (\theta_k - \theta_{k-1}) / T, with \theta_k and \theta_{k-1} as successive s and T as the poll interval; this estimation minimizes clock wander by updating the hardware clock rate incrementally via adjustments like adjtime(). Variance computations, including root-mean-square \psi, guide the loop's (typically a factor of 2 for 6% overshoot), with the defaulting to 2048 seconds to balance responsiveness and rejection. Server selection relies on a variant of to identify a consistent set of time sources from multiple peers, mitigating Byzantine faults by intersecting confidence . Each server's reported time forms an [\theta - \lambda, \theta + \lambda], where \theta is the and \lambda is the root distance; the algorithm sorts interval endpoints and scans for the largest (majority ) assuming at most f falsetickers, with f incremented until a solution exceeds half the server count. The root distance \lambda is computed as \lambda = \frac{\delta}{2} + \epsilon + |\phi| \cdot \frac{t - t_0}{2}, incorporating \delta, \epsilon, frequency error \phi, and time since last update t - t_0; this metric prioritizes low-, low-delay sources while discarding outliers. Clock selection and combining further refine the candidate set using a to separate falsetickers (inconsistent outliers) from survivors (truechimers). Servers are grouped into based on similarity, with falsetickers identified if their offsets deviate beyond a (e.g., 15 times the ); the iteratively merges by and until a single survivor set remains, typically requiring at least three candidates for redundancy. The final system \theta is then a weighted of survivor offsets, \theta = \sum (w_i \cdot \theta_i) / \sum w_i, where weights w_i = 1 / \lambda_i favor lower servers, ensuring robust aggregation against individual errors. To manage network variability, ntpd applies estimation and techniques, including a low-pass that selects the lowest-delay sample from an 8-stage and computes dispersion as \epsilon = \sum_{i=0}^{7} \epsilon_i / 2^{i+1}, exponentially weighting recent samples to smooth while discarding spikes exceeding a (e.g., 3 times the \psi = \sqrt{\frac{1}{n} \sum (\theta_j - \bar{\theta})^2}). For asymmetric delays common in polled modes, the huff-n'-puff corrects by huffing (advancing) or puffing (retarding) based on the sign of the and minimum observed over a ( 1200 seconds), effectively halving the perceived asymmetry without altering poll rates. NTPv4 introduces enhancements for algorithmic efficiency, including control messages for and diagnostics, which allow querying internal states like offsets and jitters via extension fields without disrupting synchronization. Additionally, Kiss-o'-Death () packets, encoded with rate-control codes (e.g., "" for headway violations), enable servers to excessive client queries by setting a kiss code in the reference identifier, prompting clients to back off polling intervals up to 24 hours and reducing denial-of-service risks.

Configuration

Configuration File

The ntpd , typically located at /etc/ntp.conf on systems, defines the daemon's behavior through a series of directives and options, one per line, with comments denoted by the # symbol. The file supports modularization via the includefile directive, which allows embedding content from additional files up to five levels deep, facilitating shared configurations across hosts. Changes to the configuration generally require restarting ntpd or applying them dynamically using the ntpq utility's config-from-file command, avoiding a full service interruption. Key directives for establishing time sources include server for client mode associations and peer for symmetric active mode. The server directive mobilizes a persistent client association to a remote , such as server pool.ntp.org iburst, where iburst enables an initial burst of packets when the server is unreachable to accelerate synchronization. Similarly, peer stratum2.example.com sets up symmetric mode with a peer, allowing bidirectional synchronization. Access control is managed via the restrict directive, which applies rules to IP addresses or networks to limit interactions. A common default setup is restrict default kod nomodify notrap nopeer noquery, which denies modification, monitoring traps, peer associations, and queries from unspecified sources while allowing kiss-of-death (KOD) responses for overload protection. For targeted restrictions, restrict 192.168.1.0 mask 255.255.255.0 nomodify permits time service but blocks modifications from a specific subnet. Drift compensation and logging are configured with dedicated directives to maintain accuracy and diagnostics. The driftfile /var/lib/ntp/ntp.drift directive specifies a file to store the estimated frequency offset of the local clock, enabling ntpd to adjust for drift on subsequent startups. Logging options include logfile /var/log/ntpd.log for general peer and system event logs, and statsdir /var/log/ntpstats/ to direct peer statistics, clock statistics, and other metric files to a designated directory. Additional options fine-tune operations, such as tos maxclock 6 to cap the number of servers retained during automatic discovery at six (default 10), and enable monitor to activate the monitoring facility for tracking via mrulist queries. A basic client configuration snippet might appear as follows:
# Basic NTP client setup
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntpd.log
statsdir /var/log/ntpstats/

restrict default kod nomodify notrap nopeer noquery

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

tos maxclock 6
enable [monitor](/page/Monitor)
This setup synchronizes with four public servers while enforcing secure defaults.

Command-Line Options

The ntpd daemon is typically invoked from the command line with options that control its startup, behavior, and interaction with the system. A basic invocation uses the -c flag to specify the , such as ntpd -c /etc/ntp.conf, which overrides the default path. The -g option allows the daemon to set the system clock even if the initial offset exceeds 1000 seconds, permitting large corrections during the first adjustment, though this is limited to once per invocation. Combining -g with -q enables a one-shot mode, where ntpd exits immediately after setting the clock once, mimicking the deprecated ntpdate utility for initial time setting. For and , the -d flag runs ntpd in the foreground with debug output, including packet traces, and can be repeated for increased verbosity; alternatively, -D level sets a specific debug level numerically. The -l /path/to/log option directs output to a custom log file instead of the system log, while -p /path/to/pid specifies the path for the file, aiding process management. These options facilitate without altering the core synchronization logic. Network and options include -i /var/db/ntp to the daemon to a specified jail directory, enhancing by restricting filesystem access and dropping privileges where supported (e.g., on ). The -I interface flag binds ntpd to a specific or , repeatable for multiple bindings, to control listening behavior. For faster startup, -n disables DNS name , treating all addresses as literals and avoiding delays in peer . In testing scenarios, the -q -p pool.ntp.org combination performs a single query to a specified peer like the before exiting, useful for scripts or verification without running as a persistent daemon. Historically, ntpd integrated with ntpdate for coarse initial synchronization, but ntpdate is now deprecated in favor of ntpd's -q mode. On systems, ntpd is commonly managed as a service, started with systemctl start ntpd and enabled for boot with systemctl enable ntpd. Runtime controls include signals: triggers log reopening, leap second file checks, certificate reloads (if using NTS), and retries of DNS or NTS lookups, providing a partial reload without full restart; SIGINT, SIGQUIT, or SIGTERM cause orderly cleanup and exit.

Security Considerations

Known Vulnerabilities

One significant vulnerability in ntpd involves amplification attacks exploiting the monlist command in NTP , which responds to queries with client session data that can amplify traffic up to approximately 556 times the request size, enabling distributed denial-of-service (DDoS) reflection attacks. This issue, identified as CVE-2013-5211, has been exploited since at least 2013 and continued into 2025, with over 45,000 NTP-related DDoS alerts recorded in the first part of the year alone. While NTPsec mitigates this by disabling the monlist feature by default in its , legacy versions of ntpd remain vulnerable unless patched to at least 4.2.7p26 or later. Authentication mechanisms in ntpd using symmetric keys have also been prone to bypasses, particularly with -based predating the Network Time Security (NTS) extension. For instance, CVE-2014-9294 affects the ntp-keygen utility, which uses a weak and seed for generating symmetric keys, allowing attackers to predict and forge data in symmetric . Similarly, CVE-2015-3405 causes flawed on big-endian systems, further weakening symmetric and enabling impersonation attacks against pre-NTS configurations. Additionally, CVE-2015-7974 allows clients in symmetric to accept packets encrypted with any , bypassing checks entirely in ntpd versions before 4.2.8p6. Denial-of-service vulnerabilities in ntpd include exploits of the Kiss-o'-Death (KoD) rate-limiting mechanism, where off-path attackers can spoof KoD packets to manipulate polling intervals and disable synchronization on victim clients. This was demonstrated in CVE-2015-7704, affecting ntpd before 4.2.8p5 by allowing attackers to "prime" the rate limiter and prevent time updates. Buffer overflow issues in packet parsing have also enabled DoS, as seen in CVE-2014-9295, where crafted NTP packets trigger stack-based overflows in ntpd before version 4.2.8, potentially crashing the daemon or leading to remote code execution. Man-in-the-middle (MITM) attacks pose risks due to the lack of in base NTP, permitting attackers to intercept and inject false time offsets into unencrypted packets, disrupting synchronization. This vulnerability is exacerbated in legacy ntpd implementations, where adoption of NTS—which provides cryptographic protection against such tampering—remains low, leaving many systems exposed to offset manipulation. Version-specific issues in NTPv4, implemented in ntpd, leverage the protocol's high precision (down to sub-millisecond resolution via 32-bit fractional seconds) to enable targeted attacks, such as fine-grained time shifts that evade coarse detection. Unpatched versions of ntpd before 4.2.8 are particularly susceptible to severe exploits, such as the in CVE-2014-9295 that allows remote code execution through crafted packets.

Best Practices

When deploying ntpd, selecting reliable time servers is essential for accuracy and resilience. Administrators should configure at least four diverse stratum-1 or stratum-2 servers to mitigate single points of failure and network issues, such as those provided by the Project's pool.ntp.org, which distributes load across volunteer-operated servers. For enhanced security in 2025 deployments, prioritize servers supporting Network Time Security (NTS) as defined in RFC 8915, such as Cloudflare's time.cloudflare.com, by including directives like "server time.cloudflare.com iburst nts" in the configuration file to enable authenticated and encrypted synchronization. Access controls are critical to prevent unauthorized queries and potential abuse. Firewalls should restrict inbound traffic on port 123 exclusively to trusted addresses or networks, allowing only necessary exchanges while blocking external . In the ntpd configuration, apply default restrictions with "restrict default noquery nomodify notrap" to deny control queries, modifications, and from untrusted sources, supplemented by source-specific lists (ACLs) using "restrict source ..." directives for granular permissions. Additionally, disable the vulnerable monlist query—historically exploited for amplification attacks—by adding "disable " to the configuration, which prevents the ntpdc -c monlist command without affecting core time services. Authentication mechanisms ensure the integrity of time data against spoofing. While Autokey provides public-key-based authentication in NTPv4, it has known cryptographic weaknesses and is being phased out in favor of NTS, which offers robust protection through TLS-handshaked keys and cookie-based authentication without the overhead of per-packet public-key operations. For legacy setups, symmetric key authentication can be enabled using ntp-keygen to generate keys, but and similar algorithms have been deprecated since 2019 per 8573, and post-2020 best practices recommend avoiding them entirely in favor of AES-128-CMAC or NTS to comply with modern security standards. Ongoing monitoring and timely updates maintain system reliability and security. Enable statistics logging in ntpd with "statsdir /var/log/ntpstats" and related file options to track peer offsets, jitter, and drift, facilitating proactive issue detection. Regularly apply patches to ntpd, preferring the hardened NTPsec distribution over classic ntpd for its removal of insecure features like Autokey and reduced , as recommended for high-security environments. Use tools such as ntptime to periodically check local clock offsets against peers, ensuring synchronization within acceptable bounds like 128 ms for initial associations. Where feasible, limit ntpd exposure by confining it to internal networks, using internal stratum-2 servers synchronized to external sources to avoid direct internet-facing risks. For robust deployment, isolate ntpd using operating system features like jails to contain potential exploits, configuring the daemon with the "-g" flag and a dedicated jail directory containing necessary files such as /etc/ntp.conf and /var/lib/ntp. Integrate with for automatic restarts and dependency management by enabling the ntp. unit, which handles graceful shutdowns and ensures ntpd starts after network availability. In high-security scenarios, supplement network synchronization with hardware reference clocks like GPS receivers providing Pulse-Per-Second () signals, which achieve accuracy as stratum-1 sources when integrated via drivers in ntpd.conf, reducing reliance on potentially compromised remote servers.

Implementations and Alternatives

Reference Implementation

The reference implementation of ntpd, developed by the NTP Project under the Network Time Foundation, is an open-source C-language daemon originating from the initial NTP software released in 1985. It serves as the canonical implementation of the Network Time Protocol, supporting the full NTPv4 specification, including the Autokey public-key authentication mechanism for secure time synchronization. Distributed primarily through the official repository at ntp.org and nwtime.org, it has been the foundational software for time synchronization across networked systems. The most recent stable release, version 4.2.8p18, was issued on May 25, 2024, incorporating fixes for 40 bugs and security issues, though development activity has notably slowed by late 2025 with no subsequent major updates. In response to accumulating security concerns in the original codebase, NTPsec emerged as a secure of the NTP Project's ntpd in 2015, initiated by a team focused on auditing and remediation. This fork systematically removed over 70 identified vulnerabilities and deprecated features, resulting in a significantly lighter codebase approximately one-third the size of its predecessor, thereby reducing the while preserving core NTP functionality. NTPsec integrates Network Time Security (NTS) natively for authenticated and encrypted time transfers, aligning with modern standards like RFC 8915, and is widely recommended for new deployments as of 2025 due to its enhanced security posture and active maintenance. It is readily available in major distributions, including 24.04 and , where it has replaced the original ntpd in some cases. NTPsec and the original ntpd support a broad range of platforms, including Unix-like systems such as via package managers like apt or yum, and where ntpd is included in the base system for native time synchronization. On Windows, integration occurs through the w32tm service or by compiling ntpd from source, enabling cross-platform consistency in enterprise environments. Building from source is facilitated by standard tools, with options like ./configure --enable-ntp-signd to enable NTS signing support for secure operations. Distinctive features of these implementations include bundled utilities for and diagnostics: ntpq provides interactive querying of ntpd's status, peers, and variables, while ntptrace traces the hierarchy from the local server back to reference sources. For handling, both support a "smear" mode that gradually distributes the extra second over an extended period—typically 2 to 36 hours—to avoid abrupt clock adjustments and ensure smooth transitions in time-sensitive applications.

Other NTP Daemons

Chrony is an NTP daemon originally developed by Richard Curnow and adopted by , with significant integration into their distributions beginning in the mid-2000s. It excels in environments with intermittent network connectivity through its use of prediction algorithms that model clock behavior and adjust for varying conditions without requiring constant polling. Chrony supports Network Time Security (NTS) for authenticated time synchronization and can hybridize with (PTP) sources for enhanced accuracy in local networks. Compared to ntpd, chrony achieves faster convergence, typically within 1-2 minutes rather than 15-20 minutes, making it suitable for virtual machines and dynamic setups. As of 2025, chrony serves as the default NTP daemon in and (RHEL) distributions, reflecting its robustness and active maintenance. OpenNTPD, developed as part of the project since 2004, prioritizes simplicity and security by implementing a lightweight version of the NTP protocol. It functions as both a client and server compatible with Simple Network Time Protocol (SNTP) queries, deliberately avoiding the full complexity of NTPv4 features like advanced authentication to reduce potential attack surfaces and bloat. This design makes OpenNTPD ideal for resource-constrained environments, such as embedded systems, where minimal overhead is critical. It is integrated into firewalls, enabling straightforward NTP services without the overhead of more comprehensive implementations. ntpd-rs represents a modern reimplementation of NTP in the Rust programming language, initiated in the early 2020s under the Prossimo project with contributions aligned to security-focused organizations like Let's Encrypt. Its memory-safe architecture, inherent to Rust, prevents common exploits such as buffer overflows that have affected traditional C-based daemons. ntpd-rs incorporates NTS natively from its core design and offers a modular structure for customizable deployments. It achieved production readiness in 2024, with Let's Encrypt deploying it for certificate authority operations to ensure secure, high-precision timekeeping. The daemon delivers sub-millisecond accuracy in synchronized environments, highlighting the growing adoption of Rust for foundational infrastructure in 2025 due to its emphasis on safety and reliability. Other notable alternatives include , a lightweight SNTP-only client integrated into for desktop and low-resource servers, providing basic without full server capabilities. In comparisons, chrony outperforms in virtualized or intermittent scenarios, ntpd-rs suits security-critical applications by eliminating memory vulnerabilities, and OpenNTPD fits use cases with its pared-down footprint. from ntpd to chrony is straightforward, often involving stopping the ntpd and running chronyd -q for an initial quick against configured servers. By 2025, there is a marked preference for these alternatives over the classic ntpd due to ongoing maintenance challenges in the original implementation and the need for modern features like NTS.

References

  1. [1]
    ntpd - Network Time Protocol (NTP) Daemon - NTPsec documentation
    The ntpd utility is an operating system daemon which sets and maintains the system time of day in synchronism with Internet standard time servers.DESCRIPTION · OPTIONS · USAGE · FILES
  2. [2]
    [PDF] A Brief History of NTP Time: Confessions of an Internet Timekeeper
    This paper traces the origins and evolution of the Network Time Protocol (NTP) over two decades of con- tinuous operation. The technology has been continuously ...
  3. [3]
    ntpd: Network Time Protocol (NTP) daemon - Linux Manuals (8)
    The ntpd program is an operating system daemon that synchronises the system clock with remote NTP time servers or local reference clocks.Setting The Time And... · Leap Second Processing · Command Line Options
  4. [4]
    The Secure Network Time Protocol (NTPsec) Distribution
    NTP is widely used to synchronize a computer to Internet time servers or other sources, such as a radio or satellite receiver or telephone modem service.
  5. [5]
    4.2.8-series Changelog - NTP.org
    Nov 3, 2025 · NTPD transfers the current TAI (instead of an announcement) now. This might still needed improvement. Add an assert to the ntpq ifstats code.
  6. [6]
    RFC 5905 - Network Time Protocol Version 4 - IETF Datatracker
    This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of ...
  7. [7]
    ntpd - Network Time Protocol (NTP) daemon
    Mar 10, 2014 · The ntpd program is an operating system daemon that synchronizes the system clock to remote NTP time servers or local reference clocks.
  8. [8]
    22.4. Understanding the Drift File - Red Hat Documentation
    The drift file is used to store the frequency offset between the system clock running at its nominal frequency and the frequency required to remain in ...
  9. [9]
    Timekeeping best practices for Windows, including NTP
    Mar 30, 2025 · NTP (the Network Time Protocol daemon) is available for Windows through a variety of third-party ports to Windows. Configuring w32time. When ...
  10. [10]
    Network Time Protocol (NTP) - Meinberg
    The NTP package contains a background program (daemon or service) which synchronizes the computer's system time to one or more external reference time sources ...Overview · The Time Synchronization... · Built-In Redundancy · Configuration
  11. [11]
    How NTPsec came to be
    Following the collapse of negotiations, Amar Takhar made the decision to initiate a project fork, and invited the rescue team members to help it happen.
  12. [12]
    agenda-interim-2025-ntp-06-ntp-01 - IETF Datatracker
    Sep 10, 2025 · Draft Agenda: Network Time Protocols (ntp) working group September 2025 Virtual Interim 1500 UTC - 17 September 2025 Draft Agenda 1.
  13. [13]
  14. [14]
  15. [15]
  16. [16]
    How NTP Works
    Nov 23, 2022 · This page provides a technical description of the Network Time Protocol (NTP) architecture and operation.
  17. [17]
  18. [18]
  19. [19]
  20. [20]
  21. [21]
  22. [22]
  23. [23]
    Leap Second Processing - NTP.org
    Nov 23, 2022 · About every eighteen months the International Earth Rotation Service (IERS) issues a bulletin announcing the insertion of a leap second in ...
  24. [24]
  25. [25]
  26. [26]
    Clock Filter Algorithm - NTP.org
    Nov 23, 2022 · The clock filter algorithm processes the offset and delay samples produced by the on-wire protocol for each peer process separately.Missing: pass | Show results with:pass
  27. [27]
    Clock Discipline Algorithm
    Mar 10, 2014 · The discipline response in PLL mode is determined by the time constant, which results in a "stiffness" depending on the jitter of the available ...
  28. [28]
  29. [29]
    [PDF] Improved Algorithms for Synchronizing Computer Network Clocks
    A phase-lock loop. (PLL) clock discipline provides the best performance in such cases. As the PLL time constant increases and with it τ, the. PLL low-pass ...Missing: ntpd | Show results with:ntpd
  30. [30]
    Clock Filter Algorithm
    Mar 10, 2014 · The clock filter algorithm processes the offset and delay samples produced by the on-wire protocol for each peer process separately. It uses a ...Missing: pass | Show results with:pass
  31. [31]
    Miscellaneous Commands and Options - NTP.org
    Aug 24, 2023 · The lower limit is 900 s (15 min), but a more reasonable value is 7200 (2 hours). See the Huff-n'-Puff Filter page for further information.Missing: pass | Show results with:pass
  32. [32]
  33. [33]
    Server Commands and Options - NTP.org
    Mar 23, 2023 · There are two classes of commands, configuration commands that configure an association with a remote server, peer or reference clock, and auxiliary commands.
  34. [34]
  35. [35]
  36. [36]
    Access Control Commands and Options
    ### Summary of Restrict Directive Examples
  37. [37]
    Quick Start - NTP.org
    Mar 28, 2023 · This page provides a quick start for creating a minimum ntpd configuration that allows a system to synchronize to an external NTP server.
  38. [38]
    ntpdate - set the date and time via NTP
    Mar 23, 2023 · ntpdate sets the local date and time by polling the Network Time Protocol (NTP) server(s) given as the server arguments to determine the correct time.
  39. [39]
    Chapter 19. Configuring NTP Using ntpd - Red Hat Documentation
    In Linux systems, NTP is implemented by a daemon running in user space. The default NTP user space daemon in Red Hat Enterprise Linux 7 is chronyd . It must be ...
  40. [40]
  41. [41]
    NTP Amplification Attacks Using CVE-2013-5211 - CISA
    Oct 6, 2016 · The solution is to disable “monlist” within the NTP server or to upgrade to the latest version of NTP (4.2.7) which disables the “monlist” ...
  42. [42]
    ntp-keygen uses weak random number generator and seed when...
    Bug 1176035 (CVE-2014-9294) - CVE-2014-9294 ntp: ntp-keygen uses weak random number generator and seed when generating MD5 keys. Summary: CVE-2014-9294 ntp ...
  43. [43]
    K17254: NTP-keygen vulnerability CVE-2015-3405 - MyF5
    Sep 10, 2015 · Security Advisory Description flaw was found in the way the ntp-keygen utility generated MD5 symmetric keys on big-endian systems.Missing: pre- | Show results with:pre-
  44. [44]
    ntp: multiple vulnerabilities - LWN.net
    Jan 29, 2016 · CVE-2015-7974: In ntpd before 4.2.8p6, when used with symmetric key encryption, the client would accept packets encrypted with keys for any ...<|separator|>
  45. [45]
    [PDF] Attacking the Network Time Protocol
    We show how an off-path attacker can disable NTP at a victim client by exploiting NTP's rate-limiting mechanism, the Kiss-o'-Death (KoD) packet. 1. DoS by ...<|separator|>
  46. [46]
  47. [47]
    [PDF] A Devil of a Time: How Vulnerable is NTP to Malicious Timeservers?
    Such attacks can be launched, e.g., by a man-in-the-middle attacker capable of intercepting and tampering with NTP messages between the client and (a ...
  48. [48]
    Security for Network Time Protocol standardised in RFC 8915 - SIDN
    Dec 9, 2020 · NTS adds cryptographic security to NTP, assuring message authenticity and integrity using TLS, cookies, and keys, and a MAC for protection.Missing: pre- | Show results with:pre-
  49. [49]
    How do I use pool.ntp.org?
    Right click the data time in system area and select Adjust Date/time or open up settings with Win+I and click Time & Language -> Date & Time.Missing: documentation | Show results with:documentation
  50. [50]
    Seven best practices to keep your NTP resilient - BlueCat Networks
    Oct 7, 2020 · 1. Have at least four NTP servers. Each network system should have at least four NTP servers, and preferably more. How many, exactly, depends on your ...
  51. [51]
    RFC 8915 - Network Time Security for the Network Time Protocol
    This memo specifies Network Time Security (NTS), a cryptographic security mechanism for network time synchronization.
  52. [52]
    Network Time Security · Cloudflare Time Services docs
    Aug 13, 2024 · NTS provides cryptographic security for the client-server mode of the Network Time Protocol (NTP). This allows users to obtain time in an authenticated manner.Missing: implementation | Show results with:implementation
  53. [53]
    Firewall configuration UDP in or out? - NTP Pool Project
    Sep 4, 2020 · For your NTP client(s) you have to enable only outgoing UDP packets to port 123 to any IP addresses. I assume your firewall has statefull connection tracking.
  54. [54]
    DRDoS/Amplification Attack using ntpdc monlist command - NTP.org
    Jan 15, 2024 · Use noquery in your default restrictions to block all status queries. Use disable monitor to disable the ntpdc -c monlist command while still ...
  55. [55]
    Network Time Security -- NTS replacing Autokey
    Aug 27, 2015 · In 2007 work began on the Network Time Security (NTS) proposal, a freshly-designed protocol security model for NTP that will replace Autokey.
  56. [56]
    Network Time Security (NTS): Updated security for NTP
    Jul 14, 2021 · NTPv4 has a built-in security mechanism, called NTP autokey (Yay!). Unfortunately, autokey has known weaknesses and can now be broken by a brute force attack.Missing: ongoing maintenance
  57. [57]
    NTP symmetric key file format - NTPsec documentation
    Note that MD5 was deprecated by RFC 8573 in June of 2019. AES-128 is currently preferred. Most modern CPUs have hardware support. Our code still supports MD5 ...
  58. [58]
    Monitoring Commands and Options
    The ntpd daemon includes a comprehensive monitoring facility which collects statistical data of various types and writes the data to files associated with each ...
  59. [59]
    Welcome to NTPsec
    NTPsec, as its name implies, is a more secure NTP. Our goal is to deliver code that can be used with confidence in deployments with the most stringent security ...Building and Installing the... · Press and Media Resources · Client Quick Start Guide
  60. [60]
    Best Practices for NTP Services - Software Engineering Institute
    Apr 3, 2017 · Best practices include using public NTP for external hosts, standardizing to UTC, securing internal servers, and using at least three primary ...
  61. [61]
    Network Time Protocol daemon - ArchWiki
    Sep 27, 2024 · The NTP Project provides a reference implementation of the protocol called simply NTP. This article further describes how to set up and run the ...
  62. [62]
    GPSD Time Service HOWTO - GitLab
    GPSD, NTP and a GPS receiver supplying 1PPS (one pulse-per-second) output can be used to set up a high-quality NTP time server.Missing: chroot | Show results with:chroot
  63. [63]
    ntp-project/ntp: The full and complete NTP Reference ... - GitHub
    A complete explanation of the configure, compile and install process, as well as setting up an NTP subnet, is in the HTML pages in the ./html/ directory.
  64. [64]
    NTP 4.2.8p18 Released - Network Time Foundation
    May 25, 2024 · NTP 4.2.8p18, a Point Release of the Reference Implementation of the Network Time Protocol (NTP) software. It is available at https://downloads.nwtime.org/ntp/Missing: details | Show results with:details
  65. [65]
    Feature removals - NTPsec
    The aim of the NTPsec project is high security, availability, and assurance. The more code we can throw away, the fewer potential vulnerabilities and complexity ...
  66. [66]
    What we've accomplished - NTPsec
    We implemented NTS as of draft 17, and tracked changes to each draft to remain conformat. We successfully interoperate with several test implementations. We ...
  67. [67]
    Changes/NtpReplacement - Fedora Project Wiki
    Jan 6, 2021 · The ntp software has significant security issues and slow development. It has now been replaced with the ntpsec package, an actively maintained fork of the ntp ...
  68. [68]
    ntpd - FreeBSD Manual Pages
    The ntpd utility is an operating system daemon which sets and maintains the system time of day in synchronism with Internet standard time servers.
  69. [69]
    Installing NTP on Windows - SatSignal
    Sep 13, 2025 · This Web page provides a quick guide to installing NTP on Windows XP, Vista, or Windows-7/8/10, using the standard out-of-the-box settings to ...
  70. [70]
    Leap Second Smearing with NTP
    To insert a leap second an NTP server adds a certain increasing "smear" offset to the real UTC time sent to its clients, so that after some predefined interval ...Missing: utilities mode