I have a LAN that is not connected to the internet, and I am trying to sychronize all the machines, Windows and Linux, to an NTP server. All I've been able to find is setting up an NTP client with an internet NTP server.
How can I setup my own Linux NTP server, or find good documentation on how?
You're creating an island time zone. In effect you're creating a new Stratum 1 server for your network, and that can get tricky.
The fix for it is to use:
In your ntp.conf file. That tells NTP that your timezone is orphaned. But you need a new enough version (4.2.2) to use it. If you can't use, then use:
Also known as 'Undisciplined Local Clock'. Though I strongly recommend creating time pool, multiple servers who provide time mutually. It'll help slow down clock-drift.
And finally, if at all possible, using a GPS time-source is very well supported and will keep your time island close to true.
Depending on your distro, apt-get or yum install ntp should do the trick, than you just have to edit /etc/ntpd.conf to serve time.
http://www.ubuntugeek.com/network-time-protocol-ntp-server-and-clients-setup-in-ubuntu.html looks pretty in-depth.