I'm trying to get NTP multicast set up between a few computers. Right now I'm getting NTP multicast packets from a computer that I have neither access to nor information on (let's call that A) that is serving as a stratum 4 NTP multicast server and I'm trying to get a few computers' time to synchronize to that.
The computers that I'm trying to sync (let's call them B) are running CentOS6.4 and use ntpd version 4.2.4p8. B can receive the multicast packet from A but can't access A otherwise (can't ping). From B, A is the only NTP server available.
ntpd is set to start when computer boots up and is called with the "-g" flag. From the NTP multicast packets I gathered that A is sending to multicast address "18.104.22.168" from IP address "192.168.1.103"
Below is ntp.conf from B:
tinker panic 0 restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6 ::1 driftfile /var/lib/ntp/drift keys /etc/ntp/keys restrict 192.168.1.103 kod nomodify noquery notrap multicastclient 22.214.171.124 disable auth
Right now computer B receives NTP packets from A, and given enough time,
ntpstat on B will show that it is synced to A. If time on B is essentially (within seconds) the same as that on A when I started ntpd on B, then if I change time on B after
ntpstat shows "synchronized" on B, time gets changed back within about ~30minutes. If I change the time on B to be minutes different from A or greater and start ntpd on B, ntpstat will eventually say "synchronized" but the time will still be wrong and will not change at all (so far waited for up to 3 days). Using
ntpq -pn shows the offset as something in the tens (10~40) while the time on B off by something that's well into minutes or hours.
I'm hoping to get B set up so that even if the time on B is different from A by some arbitrarily large amount when it syncs to A it will adjust back. I'm wondering if there's a way to either configure ntpd on B to be able to do that or to have something that parses the multicast packets from A and either gives me a correct timestamp or the time difference between A and B.
So far I've tried
sntp, neither worked. I've also tried getting the timestamps using
ntpq, but that turned out to be not helpful (either 0 or simply local time).