Creating and using your own NTP server

Creating and using your own NTP server is very straightforward.  Ensure that you have ntpd installed on your system (I won't say how to do this, as it is distro specific - but if you need help, please email me and I'll let you know how to do it).

After you have done this, there is only one file to configure - /etc/ntp.conf - this file is configured differently for a NTP server, than for a NTP client.

Server Configuration 

This is the configuration for a NTP Server (where all your machines will look to synchronise their clock):

server 127.1.1.0 # local clock
fudge 127.1.1.0 stratum 10

server pool.ntp.org

# the next entry is for the server to accept connections and deny modifications
restrict 10.1.1.10 mask 255.255.255.0 nomodify nopeer notrap

# the next line is required to ensure correct functionality
restrict 127.0.0.1 nomodify

That's really all the additional config you need.  There will be other stuff in the file, just leave this as it is, and just make the amendments I've listed above or verify that they do exist.  Some of the settings in the file (specifically the driftfile) are distro-specific and not always located in the same place - which is why I've not listed any other settings here - just the ones required to enable the server stuff.

Desktop/Laptop Configuration

So, now you've got the server configured.  You want to configure your desktops and laptops to synchronise with this server.  If using Windows, then you just need to go into the clock settings and change it from the "time.windows.com" entry to the hostname or IP address of your new NTP server.

If you're using Linux on your desktops and laptops - like I do, then this is what you do next.  Edit /etc/ntp.conf on these machines, and this is what you need configuration wise:

server 127.1.1.0 # local clock
fudge 127.1.1.0 stratum 10

server 10.1.1.10

and that's it!  Your desktop/laptop will now synchronise with your local NTP server.  You'll have to make sure the service is enabled and running each time you restart the system for this to work - again this is distro-specific.  Let me know if you need help with this.

Alternatively, you can replace the "server 10.1.1.10" with the hostname for the machine, for example "server myhostname" and ensure that /etc/hosts on the desktops/laptops are set to resolve this.