The objective is to configure private NTP server on Debian 9 Stretch Linux

Operating System and Software Versions

  • Operating System: - Debian 9 Stretch
  • Software: - ntpd 4.2.8


Privileged access to your Debian server installation will be required.




  • # - requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ - requires given linux commands to be executed as a regular non-privileged user


If you are running a single system or small local area network with few hosts, setting up a dedicated NTP server could be considered as an overkill. However, for a large network, setting up a private NTP server, privately serving LAN clients only is recommended.

NTP Server Installation

The installation of NTP server is easy as one command execution:
# apt install ntp
After installation, confirm that your NTP server is up and running:
# systemctl status ntp
● ntp.service - LSB: Start NTP daemon
   Loaded: loaded (/etc/init.d/ntp; generated; vendor preset: enabled)
   Active: active (running) since Fri 2017-06-16 10:19:45 AEST; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1259 ExecStop=/etc/init.d/ntp stop (code=exited, status=0/SUCCESS)
  Process: 1308 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/ntp.service
           └─1318 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 108:112

Subscribe to our NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.

NTP Server Configuration

The NTP sever comes pre-configured out of the box. The configuration of your NTP server can be managed via /etc/ntp.conf configuration file. The default NTP server configuration relies on debian.pool.ntp.org server group:
pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst
pool 2.debian.pool.ntp.org iburst
pool 3.debian.pool.ntp.org iburst
Depending on your location you may edit the above NTP server group to any know NTP server closer to your location. Alternatively, use country specific pool.ntp.org sub-groups. For example to limit NTP server sub-group to United States edit your /etc/ntp.conf with:
pool 0.us.pool.ntp.org iburst
pool 1.us.pool.ntp.org iburst
pool 2.us.pool.ntp.org iburst
pool 3.us.pool.ntp.org iburst
This works for most countries. For example if you are within Australia the 0.debian.pool.ntp.org will become 0.au.pool.ntp.org, for India 0.in.pool.ntp.org and so on.

Additionally, you may want to restrict access to your NTP server only to a specific LAN clients. For example by adding the bellow line within your /etc/ntp.conf NTP config file the server will restrict NTP use only to network with mask
restrict mask nomodify notrap
After you have made changes to /etc/ntp.conf NTP configuration file issue server restart:
# systemctl restart ntp
To enable your server to start after reboot run:
# systemctl enable ntp
ntp.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable ntp

Client Configuration

To configure client to use NTP server, first you need to install ntpdate package:
# apt install ntpdate
Once installed, attempt to query your new NTP server. Given that the NTP server can be resolved via host name linuxconfig.ntp execute:
# ntpdate linuxconfig.ntp
6 Jun 10:59:05 ntpdate[11190]: adjust time server offset -0.005883 sec
What remains, is to edit /etc/default/ntpdate file to force your client to use your new NTP server permanently.
FIND LATEST LINUX JOBS on LinuxCareers.com
Submit your RESUME, create a JOB ALERT.
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
Get extra help by visiting our LINUX FORUM or simply use comments below.

Comments and Discussions
Linux Forum