1

I am investigatiing a typical NTP problem. The setup is as follows :-

FreeBSD is being compiled and run on Opensolaris. The config file on OpenSolaris has entry of linux and another opensolaris machine as server and these server machines are syncing time with themselves (local clock) only. The server machines in this case have NTP running on them as well. Within a few minutes of starting the ntp daemon ,client starts syncing time with itself only and remains in that situation after that.All servers are discarded and no time syncing is done with them.

My question is , is there any fundamental problem with this setup. Will the NTP work in such isloated network that has no direct or indirect connection with reliable internet time source ?

1
  • found this question in a related search - i know it is old..Not necessarily an answer to your question, but an alternate method of achieving reliable time source: use a hypervisor and set the host to sync with a reliable source, then set the guest to sync its time with the host through the hypervisor's integration services.
    – goofology
    Feb 4, 2016 at 20:23

3 Answers 3

5

I don't know anything about Linux/Unix but I can tell you that the servers should not be syncing between themselves as in serverA uses serverB as it's time server and serverB uses serverA as it's time server, as that's likely to cause problems. Pick one server to be the authoritative time server and configure the other server to sync with it.

Time is relative. The servers and clients don't know and don't care whether or not they are using the correct time as determined by some external time clock. In a closed loop system, the time is whatever you configure it to be. The servers and clients will consider that to be the correct time.

6
  • 1
    I have to agree with Joe - the "correct" time is less important than all servers having the same time. Pick one server to be authoritative for your network and ensure all others sync with that.
    – Rob Moir
    Dec 30, 2010 at 11:22
  • I apologise for being unclear at first place itself.All the servers sync time with their own local clock respectively. They are not syncing with any other source.This means they can't sync with any other machine except themselves.Only the client has the option to sync from those multiple servers but it is not doing so and syncing with its own clock.
    – Anand
    Dec 30, 2010 at 12:05
  • Joe, I think you're wrong when you write "The servers and clients don't know and don't care whether or not they are using the correct time as determined by some external time clock"; in the NTP world, they do. See my answer for more suggestions.
    – MadHatter
    Dec 30, 2010 at 12:37
  • @MadHatter: I see. I would agree with you that the clients and servers need to communicate with an authoritative time server, but I would add that in the context of my answer, access to an external time server is irrelevant. If the "real" time is 00:00:00 but the closed loop system thinks the time is 12:00:00, then the "real" time is irrelevant to the closed loop system.
    – joeqwerty
    Dec 30, 2010 at 12:57
  • Joe, I think I totally take your point: that all that is important to the OP is that the clocks agree with each other, rather than that they be in any sense "right", and that's fine, and a good observation. My counterpoint is that NTP definitely DOES care about them being right, and unless you manually configure it to do so, it will not merely arrange for all the clocks to be the same.
    – MadHatter
    Dec 30, 2010 at 13:33
2

Yes, but you have to lie to NTP. Essentially, you pick one server to be the time server, and then configure NTP on that host to be authoritative even though it has no grounds to be so (ie, no direct-access to a stratum zero server, or network access to a lower-stratum server). Then and only then you configure the others to look to the "authoritative" server, and they'll sync to it. Otherwise no host will consider itself authoritative, and will not allow anyone else to sync to it, which is what you're seeing.

If memory serves, the "authoritative" server should have something along the lines of

# use local clock
server 127.127.1.0
fudge 127.127.1.0 stratum 10

though this is from memory and you may have to play with it somewhat.

0

If you want a precise time source without any internet connexion, you can use a serial GPS, plugged into a machine that will act as NTP server.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .