LOCATION
Amsterdam

  • Platform
  • Services
  • Technical
  • About
Current
10.549 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.time.nl iburst minpoll 4 maxpoll 6
server ntp2.time.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.time.nl iburst
server ntp2.time.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