In this guide we’ll be focussing on setting up an NTP client on Mikrotik RouterOSv7 for global time and date sync, and ensuring that the system clock is keeping time correctly.
NTP functions by allowing a device to sync its UTC time and date from a global time server. In our use case, it enables a Mikrotik router running an NTP client to get accurate UTC time and dates from an external NTP server. Once the MikroTik router syncs its UTC time and date via NTP, the system clock applies the configured local time zone to display the correct time.
Using an external NTP server requires your Mikrotik to have an internet connection and DNS setup.
Once logged into your Mikrotik router, ensure that you are using RouterOS version 7, preferably on the latest stable release. To check what version you using, and update if needed, you can run the following commands in your terminal:
system/package/update/check-for-updates
If an update is found, you can run:
/system/package/update install ignore-missing=yes
NTP Client Setup:
To begin lets start with the NTP client server setup. To find a local NTP server, visit https://www.ntppool.org/zone/ and browse the available regions. Clicking on a region will display a list of NTP servers specific to that location. For example, in South Africa, we can use za.pool.ntp.org, which is listed under the Africa region.
In Winbox navigate to System > NTP Client.

Once in the NTP client window, click on “Enable” and Apply to enable the NTP client. The status should then change to “waiting” – After enabling the NTP client, click on “Servers” to open the servers setup window.

Inside the NTP client Servers window, click on “New” to add a new server.

Another window will open up prompting you to add NTP server details. Make sure that the “Enabled” check box is ticked, and that your NTP server of choice is typed in the “address” field. After that hit “OK”.

After hitting “OK” the server will be added, and your enabled NTP client should start using it immediately to sync. Once the server is synced you should see the NTP client status as “synchronized” – You should also see that your NTP server has resolved to an IP address. If this is not happening check your DNS settings, make sure you can resolve IP’s, and also make sure your internet connection is working.

System Clock Setup:
With NTP syncing properly, the routers UTC time and date is now correct. However, the system clock must now be configured to add the local time zone on top of the UTC time. It is this mechanism that allows the router to keep accurate local time while syncing with NTP servers.
In Winbox, navigate to System > Clock.

Ensure that “Time Zone Autodetect” is enabled on your clock. The router figures out the local time zone based off your geoIP location. If you are behind a VPN, or a Proxy, the detected time zone may be incorrect. If this is the case, you can set the time zone manually.
As long as your RouterOS version is up to date, the local time zone database should be accurate and include any daylight saving time (DST) adjustments.
Once the Time Zone is set, either automatically or manually the router will append the GMT offset to the synced UTC time. The result will be accurate time based on your current time zone.

Issues/Bugs/Notes:
I ran into an issue where the system clock was not updating correctly, even though the NTP client was synchronized with an external time server.
The only way I was able to get the system clock to show the correct time and date was to reboot the router after setting up the NTP client. If you’re experiencing this issue, and your NTP client shows “synchronized” but the system clock is still wrong, try the following: System > Reboot.

Once the router boots back up, your time should be properly synced and the system clock should be accurate.