Skip to content

NTP (Network Time Protocol)

RouterOS includes a full NTP implementation (RFC 5905) available since v6.14. The router can act as an NTP client (syncing its own clock to upstream servers) and as an NTP server (distributing time to LAN devices). Use only one synchronization method at a time — NTP client, SNTP client (v6 legacy), or manual clock.

Sub-menuPurpose
/system/ntp/clientNTP client (v7)
/system/ntp/serverNTP server (v7)
/system/clockTimezone and manual clock settings
/system ntp clientSNTP client (v6 legacy)

Set the timezone before enabling NTP so that wall-clock times are correct as soon as the clock syncs.

PropertyDescription
time-zone-nameIANA timezone name (e.g. America/New_York, Europe/London)
time-zone-autodetectLet RouterOS detect timezone automatically (yes/no)
gmt-offsetManual UTC offset — only active when time-zone-name is not set and autodetect is off
/system/clock/set time-zone-autodetect=no time-zone-name=America/New_York
/system/clock/print

Example output:

time: 14:32:07
date: mar/22/2026
time-zone-name: America/New_York
gmt-offset: -05:00

The v7 NTP client supports DNS hostnames directly — entries are re-resolved automatically. DNS must be working on the router for pool hostnames to resolve.

Ensure the router has working DNS before using hostnames:

/ip/dns/set servers=1.1.1.1,8.8.8.8
/ip/dns/print
PropertyDefaultDescription
enablednoEnable NTP client
modeunicastSync mode: unicast, broadcast, or manycast
serversComma-separated list of NTP server IPs or hostnames
vrfmainVRF instance used for NTP connections
/system/ntp/client/set \
enabled=yes \
mode=unicast \
servers=0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org

Using well-known vendor pools is also common:

/system/ntp/client/set \
enabled=yes \
mode=unicast \
servers=time.google.com,time.cloudflare.com
/system/ntp/client/print

Key fields to check in print output:

FieldMeaning
active-serverIP of the server currently being used
stratumServer’s stratum level (lower = closer to reference clock)
last-adjustmentTime of most recent clock correction
poll-intervalCurrent polling interval
statussynchronized when locked to a server

Example output:

status: synchronized
active-server: 185.225.148.90
stratum: 2
poll-interval: 64s
last-adjustment: 2026-03-22 14:31:43

Once the router’s clock is synchronized, it can serve time to LAN devices. The NTP server is disabled by default.

PropertyDefaultDescription
enablednoEnable NTP server
broadcastnoSend periodic broadcast NTP announcements
broadcast-addressesBroadcast destination addresses (e.g. 192.168.88.255)
manycastnoEnable manycast mode

Enable the server after the client is synchronized. LAN clients point to the router’s IP.

# 1) Ensure router is synced first
/system/ntp/client/set enabled=yes servers=0.pool.ntp.org,1.pool.ntp.org
# 2) Enable NTP server
/system/ntp/server/set enabled=yes

LAN clients then configure 192.168.88.1 (or the router’s LAN IP) as their NTP server.

The router periodically sends time to a broadcast address. Clients on the subnet receive updates without needing to poll.

/system/ntp/server/set \
enabled=yes \
broadcast=yes \
broadcast-addresses=192.168.88.255

Manycast uses a multicast group address. Clients that support manycast auto-discover the server.

/system/ntp/server/set \
enabled=yes \
manycast=yes

The primary-ntp and secondary-ntp properties below are v6 only. They do not exist in RouterOS 7. On v7, use the servers property as shown in the sections above.

RouterOS v6 uses an SNTP-based client under the same /system ntp client path. Key differences from v7:

  • Supports unicast only
  • Requires IP addresses (not hostnames) for primary-ntp and secondary-ntp
  • No resolv-interval — DNS names are not supported directly

Use IP addresses for your NTP servers (Cloudflare’s public NTP as an example):

/system ntp client set \
enabled=yes \
mode=unicast \
primary-ntp=162.159.200.1 \
secondary-ntp=162.159.200.123
/system ntp client print
/system ntp client monitor 0

This example configures a router that syncs to internet NTP pools and serves time to its LAN.

# Step 1: Timezone
/system/clock/set time-zone-autodetect=no time-zone-name=America/Chicago
# Step 2: Ensure DNS is working
/ip/dns/set servers=1.1.1.1,8.8.8.8
# Step 3: NTP client (v7)
/system/ntp/client/set \
enabled=yes \
mode=unicast \
servers=0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org
# Step 4: NTP server for LAN
/system/ntp/server/set enabled=yes
# Step 5: Verify
/system/ntp/client/print
/system/clock/print

Clock not syncing:

  • Confirm DNS resolves pool hostnames: /ip/dns/cache/print
  • Check firewall — UDP port 123 outbound must be permitted
  • Verify status field in /system/ntp/client/print shows synchronized

Large time offset on first sync:

  • RouterOS will step the clock (immediate large correction) on first sync; subsequent corrections are slewed (gradual)

v6 SNTP not syncing:

  • SNTP requires IP addresses, not hostnames — resolve pool hostnames externally and use the IPs
  • Check primary-ntp and secondary-ntp are reachable: /tool/ping 162.159.200.1

Multiple sync methods active:

  • Only one method should be enabled at a time; disable SNTP if using v7 NTP client and vice versa