Carnegie Mellon University School of Computer Science

How to check NTP settings

When possible, computers should be configured to use NTP servers advertised by DHCP. When this is not possible, on-campus systems may be manually configured to use the SCS NTP servers listed in the table below. Off-campus systems should use servers from the NTP Pool Project and/or the public servers CLOCK-1.CS.CMU.EDU and CLOCK-2.CS.CMU.EDU.Systems receiving SCS Computing Facilities software support will receive the required configuration automatically and should not be adjusted. 

SCS NTP Servers (on-campus use only):

NTP Server Name IP Address
NEW-PARSLEY.SRV.CS.CMU.EDU 128.2.172.182
NEW-SAGE.SRV.CS.CMU.EDU 128.2.172.184
NEW-ROSEMARY.SRV.CS.CMU.EDU 128.2.201.32
CORIANDER.SRV.CS.CMU.EDU 128.2.201.33
FENNEL.SRV.CS.CMU.EDU 128.2.172.185
PAPRIKA.SRV.CS.CMU.EDU 128.2.201.17


Please follow the instructions for the appropriate operating system below. You can also submit a ticket for assistance. 

Windows 7 systems benefit from using the full set of NTP servers, but cannot be configured to obtain NTP server information from DHCP. Because the control panel does not allow setting multiple servers, settings on these systems must be verified and changed from a command prompt. Systems which are members of the SCS domain will receive NTP configuration via domain group policy and should not be reconfigured.

To verify the NTP server list:

  1. Click on the Windows button
  2. In the "Search programs and files" box, type cmd and press Enter.
  3. If necessary, select cmd from the list of search results.
  4. In the command prompt window, enter w32tm /query /peers
  5. Check that an entry is shown for each of the servers listed above.

To manually configure the list of NTP servers:

  1. Click on the Windows button
  2. In the "Search programs and files" box, type cmd
  3. Right-click on cmd in the list of search results.
  4. Select Run as administrator
  5. Select Yes in the UAC dialog.
  6. In the command prompt window, enter w32tm /config /update /manualpeerlist:"NEW-PARSLEY.SRV.CS.CMU.EDU NEW-SAGE.SRV.CS.CMU.EDU NEW-ROSEMARY.SRV.CS.CMU.EDU CORIANDER.SRV.CS.CMU.EDU FENNEL.SRV.CS.CMU.EDU PAPRIKA.SRV.CS.CMU.EDU"
  7. Enter w32tm /query /peers
  8. Check that an entry is shown for each of the servers listed above.

Windows 8 systems benefit from using the full set of NTP servers, but cannot be configured to obtain NTP server information from DHCP. Because the control panel does not allow setting multiple servers, settings on these systems must be verified and changed from a command prompt. Systems which are members of the SCS domain will receive NTP configuration via domain group policy and should not be reconfigured.

To verify the NTP server list:

  1. Hold the windows key and press X to bring up the Power User menu.
  2. Select Command Prompt
  3. In the command prompt window, enter w32tm /query /peers
  4. Check that an entry is shown for each of the servers listed above.

To manually configure the list of NTP servers:

  1. Hold the windows key and press X to bring up the Power User menu.
  2. Select Command Prompt (Admin)
  3. Select Yes in the UAC dialog.
  4. In the command prompt window, enter w32tm /config /update /manualpeerlist:"NEW-PARSLEY.SRV.CS.CMU.EDU NEW-SAGE.SRV.CS.CMU.EDU NEW-ROSEMARY.SRV.CS.CMU.EDU CORIANDER.SRV.CS.CMU.EDU FENNEL.SRV.CS.CMU.EDU PAPRIKA.SRV.CS.CMU.EDU"
  5. Enter w32tm /query /peers
  6. Check that an entry is shown for each of the servers listed above.

MacOS X systems currently cannot be configured to obtain NTP server information from DHCP. Systems which are enrolled in the SCS Facilities JSS service receive correct NTP configuration via that service and should not be reconfigured. Other systems must be configured manually. To verify the NTP server list setting:

  1. Open System Preferences
  2. Click Date & Time
  3. Click on the Date & Time tab.
  4. Verify that Set Date & Time automatically is checked.
  5. In the server name field, enter NEW-PARSLEY.SRV.CS.CMU.EDU NEW-SAGE.SRV.CS.CMU.EDU NEW-ROSEMARY.SRV.CS.CMU.EDU CORIANDER.SRV.CS.CMU.EDU FENNEL.SRV.CS.CMU.EDU PAPRIKA.SRV.CS.CMU.EDU

Debian, Ubuntu

Debian and Debian-derived systems, including Ubuntu, will use NTP servers from DHCP by default when DHCP is used without NetworkManager. If NTP servers from DHCP are being used, they will be listed in the file /var/lib/ntp/ntp.conf.dhcp. If that file does not exist, then NTP servers are not being obtained from DHCP.

Unfortunately, Ubuntu systems use use NetworkManager by default, and there is a bug which prevents NTP configuration from being updated in this case. Systems running the Facilities-supported Dragon Ubuntu 12.04 or 14.04 contain a fix for this problem. On systems which are not Facilities-supported, one of two workarounds is required. Either the list of servers may be configured manually, or a simple script may be installed to enable automatic operation.

To manually configure the list of NTP servers, edit the file /etc/ntp.conf. Remove or comment out any lines beginning with the keywords "server" or "peer", and replace them with the lines shown below. Then run service ntp restart.

  server new-parsley.srv.cs.cmu.edu  iburst
  server new-sage.srv.cs.cmu.edu     iburst
  server new-rosemary.srv.cs.cmu.edu iburst
  server coriander.srv.cs.cmu.edu    iburst
  server fennel.srv.cs.cmu.edu       iburst
  server paprika.srv.cs.cmu.edu      iburst

To enable automatic NTP configuration when using NetworkManager, you can apply a workaround similar to that used on Facilities-supported Ubuntu platforms. This is done by installing a NetworkManager dispatcher script which triggers automatic update of NTP configuration whenever a DHCP lease is obtained. Note this method will not work on older versions of Ubuntu, including Ubuntu 10.04, because they lack the required script to correctly update the NTP server configuration. To apply this workaround, install the following shell script as /etc/NetworkManager/dispatcher.d/05ntp:

#!/bin/sh

if [ "$2" = "up" -a -n "${DHCP4_NTP_SERVERS}" ] ; then
  export reason=BOUND
  export new_ntp_servers="${DHCP4_NTP_SERVERS}"
  sh /etc/dhcp/dhclient-exit-hooks.d/ntp

elif [ "$2" = "dhcp4-change" -a -n "${DHCP4_NTP_SERVERS}" ] ; then
  export reason=RENEW
  export new_ntp_servers="${DHCP4_NTP_SERVERS}"
  sh /etc/dhcp/dhclient-exit-hooks.d/ntp

elif [ "$2" = "down" ] ; then
  export reason=STOP
  sh /etc/dhcp/dhclient-exit-hooks.d/ntp
fi

exit 0

After installing the NetworkManager dispatcher script, you will need to perform one of the following actions to update NTP settings. Warning: Taking any of these actions will also result in a disruption of network access.

  • Disable and then re-enable the network interface, using either nmcli or the NetworkManager applet menu. Note that the menu location and appearance will vary depending on the Ubuntu version and desktop environment in use.
  • Restart NetworkManager by entering the command service network-manager restart
  • Reboot the system.

Fedora and its derivatives, including RHEL, will use NTP servers from DHCP by default when DHCP is used.

For this to work, the setting PEERNTP=NO must not be present in /etc/sysconfig/network, or in the interface-specific file /etc/sysconfig/network-scripts/ifcfg-DEV, where DEV is the interface name.