How to Check if an NTP Server Works
Test reachability, stratum, offset, and accuracy from the command line
Method 1: ntpdate -q (Quickest Test)
The ntpdate -q command queries an NTP server without modifying your clock. It's the fastest way to test if a server responds.
What to look for
| Field | Good Value | Problem |
|---|---|---|
| stratum | 1–4 | 16 = server unsynchronized |
| offset | < 0.1 (100ms) | > 1.0 = significant drift |
| delay | < 0.2 (200ms) | > 0.5 = high latency |
Method 2: chronyc (If Using Chrony)
If chrony is your NTP client, use chronyc to check your configured sources:
Check all sources
Test a specific server
Key indicators
^*= Currently selected source (best)^+= Acceptable alternative source^?= Source not responding or unusable- Reach: 377 = All last 8 polls successful (octal)
- Reach: 0 = No successful polls (server unreachable)
Method 3: ntpq (If Using ntpd)
Symbol meanings
| Symbol | Meaning |
|---|---|
* | Current sync source (system peer) |
+ | Candidate for selection |
- | Outlier, not selected |
x | Designated falseticker (bad) |
| (space) | Rejected or unreachable |
Query a remote server
Method 4: sntp (Cross-Platform)
The sntp command performs a simple NTP query and works on most Unix systems:
The +0.000234 is the offset in seconds. s1 confirms Stratum 1.
Method 5: netcat / nmap (Port Check)
If NTP-specific tools are not available, test basic UDP port 123 connectivity:
Using netcat
Using nmap
Using tcpdump (packet-level)
How to Interpret Results
| Metric | Excellent | Acceptable | Problem |
|---|---|---|---|
| Stratum | 1 | 2–3 | 16 (unsynchronized) |
| Offset | < 1ms | < 100ms | > 500ms |
| Delay | < 10ms | < 100ms | > 500ms |
| Jitter | < 1ms | < 10ms | > 50ms |
| Reach (chrony/ntpd) | 377 (all OK) | > 177 | 0 (no response) |
Common Errors & Fixes
Timeout / "no server suitable for synchronization found"
Causes:
- Server is down or doesn't exist
- Firewall blocking UDP 123 (fix firewall)
- Server returned stratum 16 (unsynchronized)
- Server is refusing your IP (access control)
Stratum 16 response
The server is running but has no valid time source. This is usually a temporary condition — the server may be starting up or lost connectivity to its upstream sources. Wait and retry, or use a different server.
REFUSED status
Some servers filter by IP range or geographic origin. A REFUSED response doesn't mean the server is broken — it means you're not allowed to use it. Try a public server like ntp-pool.rdem-systems.com or pool.ntp.org.
High delay / offset
If delay is over 200ms, the server is likely geographically far or your network path has congestion. Choose a closer server. If offset is high but delay is low, the server itself may have sync issues.
Field report: see how a 4.2-second drift across 12 servers was brought under 50 ms after audit and migration to NTP/NTS (fr).
Frequently Asked Questions
How do I test if an NTP server is responding?
Run ntpdate -q <server>. It queries without changing your clock and shows stratum, offset, and delay. If it times out, the server is unreachable.
What does "stratum 16" mean?
The server is running NTP but is not synchronized to any time source. Don't use it as a reference. This is usually temporary.
What is a normal NTP offset and delay?
For internet servers: offset < 100ms, delay < 200ms. On LAN: offset < 1ms, delay < 5ms. If offset exceeds 500ms, something is wrong.
Why does ntpdate show "no server suitable for synchronization found"?
The server responded but was rejected — usually stratum 16, IP filtering, or excessive jitter. Try another server or check firewall rules.
Test Servers Online
Don't have CLI access? Use our online tools to test NTP servers instantly:
All tools powered by RDEM Systems Stratum 1 infrastructure