#
# legacy NTP configuration
#
pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
pool 3.pool.ntp.org iburst

#
# NTS configuration
#
# Notes:
#  - uncomment the following lines to enable NTS support (but
#    make sure the initial clock is up-to-date (otherwise the
#    NTS certificate validation will fail with 'NTSc: certificate invalid:
#    9=>certificate is not yet valid' as on boards without RTC support)
#    and/or keep at least one line from the legacy NTP lines
#  - enable BR2_PACKAGE_CA_CERTIFICATES to gain access to the certificate
#    files
#
# server time.cloudflare.com nts  # Global, anycast
# server nts.ntp.se:4443 nts      # Sweden
# server ntpmon.dcs1.biz nts      # Singapore
# server ntp1.glypnod.com nts     # San Francisco
# server ntp2.glypnod.com nts     # London
#
# ca /usr/share/ca-certificates/mozilla

# Allow only time queries, at a limited rate, sending KoD when in excess.
# Allow all local queries (IPv4, IPv6)
restrict default nomodify nopeer noquery limited kod
restrict 127.0.0.1
restrict [::1]
