Welcome to the Linux Foundation Forum!

ntp server configuration (LAB 11.3)



There are some things I don't understand concerning ntp, if someone could clarify I would be very grateful.

First, since the same file /etc/ntp.conf is used for client AND server configuration, how does the daemon know if it's a server or a client ? Or it is always both server and client at the same time (since I guess it has to get the correct time from somewhere unless it's stratum 1) ?

In Lab 11.3 solution it's suggested to add following lines to /etc/ntp.conf:

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org

On my system (ubuntu server 20.04) that doesn't do anything (visible at least). I had to change server for pool as in
pool 0.pool.ntp.org
for the solution to work.

In the course (LFS 211) it says:

It may be desirable to declare the local machine as a time source:
fudge stratum 10

So, I guess the server is used to start a local ntp server ?

Bottom line question, what's the difference between server and pool keywords ?

Second thing a bit confusing for me is the syntax for allowing client connections:

# Default policy prevents queries
restrict default nopeer nomodify notrap noquery
# Allow queries from a particular subnet
restrict 123.123.x.0 mask nopeer nomodify notrap
# Allow queries from a particular host
restrict nopeer nomodify notrap noquery
# Unrestrict localhost 

First it says default policy prevents queries and I see a logical restrict ... no something something but then
to unrestrict localhost we add restrict and to allow queries for a particular host we add noquery... ? :/

Is it just me or this is a bit counter intuitive ? What's the logic behind this ?

Thanks in advance for your time !


In the course LFS211 > Advanced Networking > NTP Applications
I think the expand title /etc/ntp.confntp should be /etc/ntp.conf (?) and also the NTP link once we expand the tab is broken


  • RonaldBarnes

    You have some good questions, @k0dard. I don't have any "ntp" packages installed anywhere to dig into, but I do have a recommendation.

    The most-recent way to use NTP is via timedatectl command.

    Also, systemd-timesyncd.service and /etc/systemd/timesyncd.conf come into play for finding out which NTP server may have been assigned, and for assigning an NTP server respectively.

    On Ubuntu 20.04, timedatectl timesync-status will show which NTP server is in use, but without any command args passed to it, it will simply state the date, time, TZ, if sync'd, if NTP active, and Real Time Clock info.

    Seems the NTP packages are a bit deprecated.

  • coop
    coop Posts: 915

    The NTP packages are no longer available on RHEL/CentOS 8. timedatectl and chrony are installed by default.

  • k0dard
    k0dard Posts: 115

    Thanks for your answers.

    I know about timedatectl, the question was on doing the course lab and also understanding ntp.conf.

    Even if it is deprecated as you suggest, aren't there still servers out there that use it ?

  • coop
    coop Posts: 915

    it is not just deprecated in RHEL 8/ CentOS 8, it is gone. I'm not an expert but i'm sure any distro is still ntp servers. For example on RHEL8, in /etc/chrony.conf at the top thee are the lines:

    # Use public servers from the pool.ntp.org project.
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    pool 2.rhel.pool.ntp.org iburst

    I don't personally know chrony, but you obviously can put the servers you want there.


Upcoming Training