LOCATION
Amsterdam

  • Platform
  • Services
  • Technical
  • About
Current
5.89 Tb/s
Peak
15.036 Tb/s

How to set up AMS-IX Public NTP

How to set up AMS-IX Public NTP

AMS-IX Public NTP can be configured on most operating systems using either system settings or configuration files. For better accuracy and resilience, we recommend configuring two NTP servers:

  • time1.ams-ix.net
  • time2.ams-ix.net

Apple macOS (OS X)

You can configure AMS-IX Public NTP via the command line, graphical interface, or configuration files. Using the command line:

1. Ensure you have administrator privileges

2. Open the Terminal application

3. Set the AMS-IX Public NTP servers:

sudo systemsetup -setnetworktimeserver "time1.ams-ix.net,time2.ams-ix.net"

4. Enable network time synchronisation:

sudo systemsetup -setusingnetworktime on

Microsoft Windows

1. Ensure you have administrator privileges

2. Open Date & Time settings

3. Go to the Internet Time tab

4. Click Change settings

5. Enable Synchronise with an Internet time server

6. Enter: time1.ams-ix.net

7. Click Update now

8. Confirm and click OK to save

Unix / Linux

Most systems use an NTP daemon such as NTP, NTPsec, Chrony, or OpenNTPD, configured via ntp.conf (or equivalent).

Example configurations

Pool mode (recommended):

pool time1.ams-ix.net iburst prefer

Server mode (explicit servers):

server time1.ams-ix.net iburst 
server time2.ams-ix.net iburst 

With authentication (on request):

server time1.ams-ix.net iburst key 1

Notes:

  • OpenNTPD uses servers instead of pool, and weight instead of prefer
  • Chrony uses chrony.conf with similar syntax (server or pool)

Ubuntu (systemd-timesyncd)

Ubuntu uses timesyncd by default.

Edit:

/etc/systemd/timesyncd.conf

Example:

NTP=time1.ams-ix.net time2.ams-ix.net

Restart the service:

sudo systemctl restart systemd-timesyncd

Network devices (Cisco / Juniper)

When configuring network equipment, include multiple time sources for redundancy.

Cisco IOS / NX-OS config t no ntp server ntp server ntp.time.nl prefer end copy running-config startup-config 
Juniper JunOS system {  ntp {  server time1.ams-ix.net prefer; }} 

Chronyd

How to set AMS-IX Public NTP with Chronyd:

# AMS-IX NTP servers server time1.ams-ix.net iburst minpoll 4 maxpoll 6 server time2.ams-ix.net iburst minpoll 4 maxpoll 6  # SIDN NTP servers server ntp1.sidn.nl iburst minpoll 4 maxpoll 6 server ntp2.sidn.nl iburst minpoll 4 maxpoll 6  # Record the rate (frequency) at which the system clock gains/loses time driftfile /var/lib/chrony/drift  # Only allow stepping in the first update if offset > 1 second # After that, always slew (gradually adjust) makestep 1.0 1  # Limit clock drift rate correction to 500 ppm maxdrift 500  # Lock the clock after it's been synchronised — reject large corrections maxchange 100 1 2  # Enable kernel synchronisation of the real-time clock (RTC) rtcsync  # Specify directory for log files logdir /var/log/chrony

NTPD

How to set AMS-IX Public NTP with NTPD:

# AMS-IX NTP servers server time1.ams-ix.net iburst server time2.ams-ix.net iburst  # SIDN NTP servers server ntp1.sidn.nl iburst server ntp2.sidn.nl iburst  # Drift file driftfile /var/lib/ntp/drift  # Panic threshold — exit if offset exceeds 1000 seconds (0 = never panic) tinker panic 1000  # Step threshold — only step if offset > 0.128s, otherwise slew tinker step 0.128  # Stepout — time in seconds before ntpd will step instead of slew # Set high to prefer slewing over stepping tinker stepout 900  # Frequency tolerance — limit drift correction rate (ppm) tinker allan 1500  # Restrict default access restrict default kod nomodify notrap nopeer noquery limited restrict -6 default kod nomodify notrap nopeer noquery limited  # Allow localhost full access restrict 127.0.0.1 restrict ::1

Additional considerations

  • Use at least two NTP servers for resilience
  • Avoid hardcoding IP addresses (DNS-based configuration is recommended)
  • Ensure firewalls allow NTP traffic (UDP port 123)
  • Monitor configurations if your system resolves hostnames to fixed IPs