Clock and Time zone configuration
RouterOS uses data from the tz database, Most of the time zones from this database are included, and have the same names. Because local time on the router is used mostly for timestamping and time-dependant configuration, and not for historical date calculations, time zone information about past years is not included. Currently only information starting from 2005 is included.
Following settings are available in the /system clock console path, and in the "Time" tab of the "System > Clock" WinBox window:
- time (HH:MM:SS, where HH - hour 00..24, MM - minutes 00..59, SS - seconds 00..59)
- date (mmm/DD/YYYY, where mmm - month, one of jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec, DD - date, 00..31, YYYY - year, 1970..2037) : date and time show current local time on the router. These values can be adjusted using the set command. Local time cannot, however, be exported, and is not stored with the rest of the configuration.
- time-zone-name (manual, or name of time zone; default value: manual) : Name of time zone. Like most of the text values in RouterOS, this value is case sensitive. Special value manual applies manually configured GMT offset, which by default is 00:00 with no daylight saving time.
- time-zone-autodetect (disabled or enabled, default value: no): This is new feature, starting from 6.27. If enabled, time zone will be set automaticaly.
Startup date and time is jan/02/1970 00:00:00 [+|-]gmt-offset. If router has a battery (for example RB230), then BIOS stored time is used as a startup time.
Active time zone information
- dst-active (yes or no>; read-only property) : This property has value yes while daylight saving time of the current time zone is active.
- gmt-offset ([+|-]HH:MM - offset in hours and minutes; read-only property) : This is the current value of GMT offset used by the system, after applying base time zone offset and active daylight saving time offset.
Manual time zone configuration
These settings are available in /system clock manual console path, and in the "Manual Time Zone" tab of the "System > Clock" WinBox window. These settings have effect only when time-zone-name=manual. It is only possible to manually configure single daylight saving time period.
- time-zone, dst-delta ([+|-]HH:MM - time offset in hours and minutes, leading plus sign is optional; default value: +00:00) : While DST is not active use GMT offset time-zone. While DST is active use GMT offset time-zone + dst-delta.
- dst-start, dst-end (mmm/DD/YYYY HH:MM:SS - date and time, either date or time can be ommited in the set command; default value: jan/01/1970 00:00:00) : Local time when DST starts and ends.
Time update from cloud service
Starting from 6.27, there is a new feature to set time automatically from the MikroTik cloud service, called Cloud time update. See IP/Cloud manual
SNTP client is included in the system package. RouterOS implements SNTP protocol defined in RFC4330. Manycast mode is not supported. NTP server and a NTP client is included in the separate ntp package, that is not installed by default.
Client configuration is located in the /system ntp client console path, and the "System > NTP Client" WinBox window. This configuration is shared by the SNTP client implementation in the system package and the NTP client implementation in the ntp package. When ntp package is installed and enabled, the SNTP client is disabled automatically.
|enabled (yes, no default: no)||enable SNTP client for time sychronisation|
|mode (broadcast,unciast , filed is read-only)||Mode that SNTP client will operate in. If no NTP servers are configured broadcast' mode will be used. If there is dynamic or static NTP server ip address or FQDN used it will automatically switch to unciast mode"|
|primary-ntp (IP address default: 0.0.0.0)||IP address of NTP server that has to be used for time synchronisation. If both values are non-zero, then SNTP client will alternate between the two server addresses, switching to the other when request to the current server times out or when the "KoD" packet is received, indicating that server is not willing to respond to requests from this client.|
|secondary-ntp (IP address default: 0.0.0.0)||see primary-ntp|
|server-dns-names (Comma separated domain name list default: )||To set NTP server using its domain name. Domain name will be resolved each time NTP request is sent. Router has to have /ip dns configured.|
- active-server (IP address; read-only property) : Currently selected NTP server address. This value is equal to primary-ntp or secondary-ntp.
- poll-interval (Time interval; read-only property) : Current iterval between requests sent to the active server. Initial value is 16 seconds, and it is increased by doubling to 15 minutes.
Last received packet information
Values of the following properties are reset when the SNTP client is stopped or restarted, either because of a configuration change, or because of a network error.
- last-update-from (IP address; read-only property) : Source IP address of the last received NTP server packed that was successfully processed.
- last-update-before (Time interval; read-only property) : Time since the last successfully received server message.
- last-adjustment (Time interval; read-only property) : Amount of clock adjustment that was calculated from the last successfully received NTP server message.
- last-bad-packet-from (IP address; read-only property) : Source IP address of last received SNTP packed that was not successfully processed. Reason of the failure and time since this packet was received is available in the next two properties.
- last-bad-packet-before (Time interval; read-only property) : Time since the last receive failure.
- last-bad-packet-reason (Text; read-only property) : Text that describes reason of the last receive failure. Possible values are:
- bad-packet-length - Packet length is not in the acceptable range.
- server-not-synchronized - Leap Indicator field is set to "alarm condition" value, which means that clock on the server has not been synchronized yet.
- zero-transmit-timestamp - Transmit Timestamp field value is 0.
- bad-mode - Value of the Mode field is neither 'server' nor 'broadcast'.
- kod-ABCD - Received "KoD" (Kiss-o'-Death) response. ABCD is the short "kiss code" text from the Reference Identifier field.
- broadcast - Received proadcast message, but mode=unicast.
- non-broadcast - Received packed was server reply, but mode=broadcast.
- server-ip-mismatch - Received response from address that is not active-server.
- originate-timestamp-mismatch - Originate Timestamp field in the server response message is not the same as the one included in the last request.
- roundtrip-too-long - request/response roundtrip exceeded 1 second.
SNTP client can produce the following log messages. See article "log" on how to set up logging and how to inspect logs.
- ntp,debug gradually adjust by OFFS
- ntp,debug instantly adjust by OFFS
- ntp,debug Wait for N seconds before sending next message
- ntp,debug Wait for N seconds before restarting
- ntp,debug,packet packet receive error, restarting
- ntp,debug,packet received PKT
- ntp,debug,packet ignoring received PKT
- ntp,debug,packet error sending to IP, restarting
- ntp,debug,packet sending to IP PKT
Explanation of log message fields
- OFFS - difference of two NTP timestamp values, in hexadecimal.
- PKT - dump of NTP packet. If packet is shorter than the minimum 48 bytes, it is dumped as a hexadecimal string. Otherwise, packet is dumped as a list of field names and values, one per log line. Names of fields follow RFC4330.
- IP - remote IP address.
NOTE: the above logging rules work only with the built-in SNTP client, the separate NTP package doesn't have any logging facilities.
NTP client and server
To use NTP client and server, ntp package must be installed and enabled.
Client configuration is located in /system ntp client.
- enabled (yes or no; default value: no)
- mode (One of broadcast, unicast, multicast or manycast.)
- primary-ntp, secondary-ntp (IP address)
Server configuration is located in /system ntp server.
- enabled (yes or no; default value: no) - enable NTP server
- broadcast (yes or no; default value: no) - enable certain NTP server mode, for this mode to work you have to set up broadcast-addresses field
- multicast (yes or no; default value: no) - enable certain NTP server mode
- manycast (yes or no; default value: no) - enable certain NTP server mode
- broadcast-addresses (IP address; default value: ) - set broadcast address to use for NTP server broadcast mode
Set up NTP server for local network that is 192.168.88.0/24
/system ntp server set broadcast=yes broadcast-addresses=192.168.88.255 enabled=yes manycast=no