Synchronizing time in Ubuntu

By default Ubuntu contains only ntpdate for time synchronization and updates the system clock from ntp.ubuntu.com only when the network interface is raised up (check the file /etc/network/if-up.d/ntpdate). In a LAN you should set up a local NTP server and use that for syncing workstations.

To set up an NTP server, you just have to execute apt-get install ntp (of course with root privileges), edit /etc/ntp.conf and include some NTP servers (instead of the server ntp.ubuntu.com line) from your vicinity. Look for nearby NTP servers at www.pool.ntp.org.

Using NTP servers (notice the plural!) that are close to you is vital both for load distribution (if all Ubuntu users would use ntp.ubuntu.com all the time, then it'd come down pretty fast) and efficiency (the closer your master NTP server is, the more precise your clock will be).

To sync the local Ubuntu workstations to your server, you can:
  1. either just set the NTPSERVERS variable in /etc/default/ntpdate to point to your local NTP server and set NTPDATE_USE_NTP_CONF to "no"), and set up a daily cron job (eg. in /etc/cron.daily) to run it daily
  2. or install the ntp daemon on the workstation too and set only one server in it's /etc/ntp.conf, your local NTP server
For setting up time synchronization on Windows clients, check out this page.