Setup Server NTP dengan cepat menggunakan NTPd di Ubuntu 20.04/18.04

Dalam tutorial ini, Anda akan belajar cara menginstal dan mengatur server NTP menggunakan NTPd di Ubuntu 20.04/18.04. Network Time Protocol adalah protokol jaringan yang digunakan untuk menyinkronkan jam sistem pada jaringan. NTP menggunakan skema stratum jam untuk memungkinkan akses ke sumber waktu yang benar. stratums diberi nomor dari 0 sampai 15, di mana perangkat di lapisan 0 sangat akurat perangkat keras waktu-menjaga dan yang terakhir adalah benar. stratums biasanya memiliki NTP client. Client NTP juga dapat dikonfigurasi sebagai server di lingkungan yang disesuaikan.

Panduan ini akan membahas tentang cara menginstal dan mengatur server NTP menggunakan NTPd di ubuntu 20.04/18.04. Daemon NTP ( ntpd ) adalah program client NTP.

Client NTP menggunakan arsitektur server-client di mana client NTP menyinkronkan waktu dari server NTP.

Setup Server NTP menggunakan NTPd di Ubuntu 20.04/18.04

Jalankan Pembaruan Sistem

Sebelum Anda dapat menginstal dan mengatur Server NTP menggunakan NTPd di Ubuntu 20.04/18.04, Anda perlu memperbarui cache paket Anda untuk menginstal versi terbaru ntp.

sudo apt update -y

Instal NTPd di Ubuntu 20.04/18.04

Setelah pembaruan selesai, lanjutkan untuk menginstal daemon NTP di Ubuntu 20.04/18.04. Daemon ntpd disediakan oleh paket ntp.

Untuk memeriksa apakah paket ntp diinstal pada Ubuntu 18.04/20.04 jalankan perintah:

 dpkg -l ntp

Jika paket tidak diinstal, Anda akan mendapatkan output yang mirip dengan:

dpkg-query: no packages found matching ntp

ntp paket tersedia pada default Ubuntu 18.04 dan Ubuntu 20,04 repositori.

Instal ntp di Ubuntu 20.04/18.04 dengan menjalankan perintah:

sudo apt install ntp -y

Verifikasi bahwa paket ntp telah berhasil diinstal dengan memeriksa nomor versi:

sntp --version

Keluaran:

sntp [email protected] (1)

Menjalankan NTPd di Ubuntu 20.04/18.04

Setelah instalasi NTP dimulai dan diaktifkan untuk memulai saat boot:

systemctl status ntp
● ntp.service - Network Time Service Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: e> Active: active (running) since Sun 2020-10-11 20:09:21 EAT; 55min ago Docs: man:ntpd(8) Main PID: 567 (ntpd) Tasks: 2 (limit: 585) Memory: 1.5M CGroup: /system.slice/ntp.service └─567 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 127:133 Onk 11 20:10:28 computers-VirtualBox ntpd[567]: Soliciting pool server 162.159.> Onk 11 20:10:29 computers-VirtualBox ntpd[567]: Soliciting pool server 160.119.> Onk 11 20:10:29 computers-VirtualBox ntpd[567]: Soliciting pool server 162.159.> Onk 11 20:10:29 computers-VirtualBox ntpd[567]: Soliciting pool server 162.159.>...

Setup Server NTP menggunakan NTPd di Ubuntu 20.04/18.04

Konfigurasikan Server NTP di Ubuntu 20.04/18.04

File konfigurasi utama daemon NTP (ntpd) adalah /etc/ntp.conf. File dikonfigurasi untuk mengaktifkan server NTP untuk mengambil waktu yang benar dari server NTP dari strata yang lebih tinggi seperti:pool.ntp.org. Itupool direktif dalam file memungkinkan pengaturan server waktu NTP (pool) untuk digunakan.

sudo vim /etc/ntp.conf

# Specify one or more NTP servers. # Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board # on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for # more information. pool 0.ubuntu.pool.ntp.org iburst pool 1.ubuntu.pool.ntp.org iburst pool 2.ubuntu.pool.ntp.org iburst pool 3.ubuntu.pool.ntp.org iburst # Use Ubuntu's ntp server as a fallback. pool ntp.ubuntu.com

Secara default NTP di Ubuntu 20.04/18.04 menggunakan server waktu kumpulan ubuntu dari server NTPpool.ntp.orgseperti yang terlihat dari output di atas. Daftar server waktu dapat ditemukan di NTP Public Pool Time Server di mana seseorang dapat memilih server waktu mana yang akan digunakan sesuai dengan zona waktunya. Misalnya untuk menggunakan kumpulan ke.pool.ntp.org :

Komentar pertama tentang server waktu kumpulan ubuntu default:

... # more information. #pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst # Use Ubuntu's ntp server as a fallback. #pool ntp.ubuntu.com...

Untuk menambahkan server dari kumpulan ke.pool.ntp.org tambahkan entri berikut pada file konfigurasi:

... #Use kenyan pool pool 0.ke.pool.ntp.org iburst pool 1.ke.pool.ntp.org iburst pool 2.ke.pool.ntp.org iburst pool 3.ke.pool.ntp.org iburst...

TIP: Menyetel kumpulan sebagai pool.ntp.org memungkinkan sistem menentukan server waktu terdekat untuk digunakan.

iburst opsi dalam file konfigurasi mengubah interval awal polling ke server NTP untuk mempercepat sinkronisasi awal.

Konfigurasikan Kontrol Akses untuk Server NTP (Opsional)

Server NTP secara opsional dapat dikonfigurasi untuk hanya mengizinkan koneksi client NTP tertentu untuk menanyakannya menggunakan restrictdirektif dalam /etc/ntp.conffile konfigurasi yang menggunakan sintaks:

restrict address [mask mask] [other options]

Kontrol akses ini dapat digunakan untuk membatasi akses service NTP ke LAN tertentu. Misalnya untuk hanya mengizinkan koneksi dari jaringan 192.168.56.0/24, tentukan alamat jaringan dengan menambahkan baris:

restrict 192.168.56.0 mask 255.255.255.0 nomodify notrap

Di mana:

  • nomodify opsi mencegah perubahan apa pun pada konfigurasi.
  • notrap opsi mencegah jebakan protokol pesan kontrol ntpdc.

Lebih lanjut tentang pembatasan dan opsi perintah lainnya dapat dibaca di man ntp.conf.

Simpan file konfigurasi dan mulai ulang server NTP agar perubahan diterapkan.

 sudo systemctl restart ntp

Periksa status service NTP

 systemctl status ntp

Keluaran:

 ntp.service - Network Time Service Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-10-20 19:05:15 EAT; 1min 0s ago Docs: man:ntpd(8) Process: 8428 ExecStart=/usr/lib/ntp/ntp-systemd-wrapper (code=exited, status=0/SUCCESS) Main PID: 8446 (ntpd) Tasks: 2 (limit: 1111) Memory: 1.0M CGroup: /system.slice/ntp.service └─8446 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 127:133 Onk 20 19:05:20 null1-VirtualBox ntpd[8446]: Soliciting pool server 162.159.200.123 Onk 20 19:05:21 null1-VirtualBox ntpd[8446]: Soliciting pool server 162.159.200.1 Onk 20 19:05:22 null1-VirtualBox ntpd[8446]: Soliciting pool server 160.119.216.206 Onk 20 19:05:23 null1-VirtualBox ntpd[8446]: Soliciting pool server 160.119.216.197 Onk 20 19:05:24 null1-VirtualBox ntpd[8446]: Soliciting pool server 160.119.216.202 Onk 20 19:05:29 null1-VirtualBox ntpd[8446]: Soliciting pool server 160.119.216.197 Onk 20 19:05:29 null1-VirtualBox ntpd[8446]: Soliciting pool server 2606:4700:f1::1 Onk 20 19:05:37 null1-VirtualBox ntpd[8446]: Soliciting pool server 91.189.94.4

Konfirmasikan service NTP diatur untuk memulai saat boot:

sudo systemctl is-enabled ntp
enabled

Jika dinonaktifkan, aktifkan dengan menjalankan perintah di bawah ini;

sudo systemctl enable ntpd

Verifikasi waktu Sistem

Periksa waktu NTP setelah beberapa detik.

ntptime 

Keluaran:

tp_gettime() returns code 0 (OK) time e3398bfb.b241700c Tue, Oct 20 2020 19:16:59.696, (.696311693), maximum error 78688 us, estimated error 5216 us, TAI offset 37 ntp_adjtime() returns code 0 (OK) modes 0x0 (), offset 251.894 us, frequency -11.169 ppm, interval 1 s, maximum error 78688 us, estimated error 5216 us, status 0
x2001 (PLL,NANO), time constant 6, precision 0.001 us, tolerance 500 ppm,

Konfigurasikan Firewall

Jika Ubuntu UFW diaktifkan, izinkan port UDP 123. Client NTP terhubung ke server NTP pada port tertentu.

sudo ufw allow from any to any port 123 proto udp

Anda juga dapat mengizinkan kueri NTP dari Jaringan tertentu;

sudo ufw allow from 192.168.56.0/24 to any port 123 proto udp

Verifikasi Layanan Waktu NTP

Verifikasi server NTP dengan memeriksa koneksi server NTP ke rekan-rekan NTP dengan menjalankan perintah;

ntpq -p
 remote refid st t when poll reach delay offset jitter ============================================================================== 0.ke.pool.ntp.o.POOL. 16 p - 64 0 0.000 0.000 0.000 1.ke.pool.ntp.o.POOL. 16 p - 64 0 0.000 0.000 0.000 2.ke.pool.ntp.o.POOL. 16 p - 64 0 0.000 0.000 0.000 3.ke.pool.ntp.o.POOL. 16 p - 64 0 0.000 0.000 0.000 ntp.ubuntu.com.POOL. 16 p - 64 0 0.000 0.000 0.000 -time.cloudflare 10.45.8.5 3 u 122 256 377 54.091 8.013 63.504 -time.cloudflare 10.45.8.5 3 u 153 256 161 54.158 8.587 40.443 +ntp0.icolo.io 160.119.216.202 3 u 8 128 377 16.850 4.389 0.586 *ntp1.icolo.io 146.64.8.7 2 u 82 128 375 16.379 4.501 1.584 +ntp2.icolo.io 146.64.8.7 2 u 65 128 377 16.524 4.709 0.742

Menyinkronkan Waktu Client dengan Server NTP

Sekarang setelah server NTP dikonfigurasi, sekarang saatnya untuk mengkonfigurasi client untuk menyinkronkan jam mereka dengan server NTP.

Sinkronisasi menggunakan systemd timesyncd NTP

Dalam sistem Ubuntu, Client NTP, systemd-timesyncd.service, berjalan secara default yang dapat digunakan untuk mengatur NTPd sebagai client NTP.

Edit filenya /etc/systemd/timesyncd.conf dan tambahkan alamat untuk server NTP Anda dengan menambahkan entri seperti itu di akhir file:

vim /etc/systemd/timesyncd.conf
NTP=192.168.56.103

Di mana 192.168.56.103alamat IP server NTP yang dikonfigurasi.

Mulai ulang service client NTP systemd-timesyncd :

sudo systemctl status systemd-timesyncd

Konfirmasikan status status yang sekarang disinkronkan dengan server NTP yang dikonfigurasi.

 systemctl status systemd-timesyncd

Keluaran:

 Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-10-20 20:02:49 EAT; 3s ago Docs: man:systemd-timesyncd.service(8) Main PID: 4466 (systemd-timesyn) Status: "Synchronized to time server 192.168.56.103:123 (ntp.kifarunix.com)." Tasks: 2 (limit: 667) CGroup: /system.slice/systemd-timesyncd.service └─4466 /lib/systemd/systemd-timesyncd...

Menggunakan ntpdateuntuk Menyinkronkan Waktu Sistem Client

Opsional ntpdateperintah dapat digunakan untuk menyinkronkan waktu sistem client secara manual dengan server NTP. Panduan ini menggunakan Ubuntu 18.04 sebagai client.

Langkah 1: Instal ntpdate

Instal ntpdatepaket, jika belum diinstal.

sudo apt install ntpdate -y

NOTE:Pastikan bahwa Client dan NTP Server dapat berkomunikasi. Anda dapat menggunakan perintah nc untuk memverifikasi koneksi port server NTP.

Langkah 2: Gunakan Perintah ntpdate untuk Query Time Service

ntpdateperintah dapat menggunakan service permintaan waktu dari server NTP dengan menjalankan perintah:

sudo ntpdate 192.168.56.103

Output menunjukkan waktu offset antara dua sistem.

20 Oct 20:31:54 ntpdate[5053]: adjust time server 192.168.56.103 offset 0.001313 sec

Sinkronisasi waktu Secara Otomatis Menggunakan NTP

Client NTP dapat secara otomatis dikonfigurasi untuk meminta server NTP dengan menggunakan daemon NTPd.

Langkah 1: Instal NTP
sudo apt install ntp -y
Konfigurasikan Client NTPd

Di Ubuntu 18.04 service NTP diatur untuk berjalan secara default setelah instalasi. Pertama periksa apakah client disinkronkan dengan NTP:

timedatectl

Output akan menunjukkan apakah jam sistem disinkronkan atau tidak.

 Local time: Qib 2020-10-20 19:41:59 EAT Universal time: Qib 2020-10-20 16:41:59 UTC RTC time: Qib 2020-10-20 16:35:32 Time zone: Africa/Nairobi (EAT, +0300) System clock synchronized: yes systemd-timesyncd.service active: no RTC in local TZ: no

Jika waktu sistem disinkronkan, nonaktifkan sinkronisasi waktu dengan menjalankan perintah:

sudo timedatectl set-ntp off

TIP: Untuk mengaktifkan kembali sinkronisasi waktu: sudo timedatectl set-ntp on

Untuk mengonfigurasi client NTP untuk menyinkronkan waktu dari server NTP Anda, edit file konfigurasi ntp:

 sudo vim /etc/ntp.conf 

Ganti server kumpulan NTP publik dengan server Anda.

#pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst pool 192.168.56.103 iburst

Idealnya server dapat ditambahkan tanpa mengomentari server NTP default dengan menjadikannya jam referensi pilihan menggunakan prefer pilihan:

pool 192.168.56.103 prefer iburst

Simpan file konfigurasi dan mulai ulang ntp.

 sudo systemctl restart ntp

Client sekarang berhasil dikonfigurasi untuk menyinkronkan waktu sistem dengan server NTP. Ini dapat diverifikasi dengan menjalankan perintah:

ntpq -p
 remote refid st t when poll reach delay offset jitter ============================================================================== 192.168.56.103.POOL. 16 p - 64 0 0.000 0.000 0.000 *192.168.56.103 160.119.216.202 3 u 24 64 1 0.768 16.118 1.355

Dari output kita dapat melihat server NTP (192.168.56.103) sebagai host/sumber sinkronisasi waktu dalam antrian.

Konfirmasikan service NTP diatur untuk memulai saat boot:

systemctl is-enabled ntp

Untuk mengaktifkan service NTP untuk memulai saat boot, untuk berjaga-jaga jika tidak diaktifkan, maka Anda akan menjalankan perintah:

systemctl enable ntp

Bagus, Client NTP Anda sekarang seharusnya dapat menanyakan service waktu dari Server NTP Anda. Ini membawa kita ke akhir panduan tentang cara menginstal dan mengatur Server NTP menggunakan NTPd di Ubuntu 20.04/18.04.

Tutorial Terkait

Cara Mengkonfigurasi Server NTP di pfSense

Siapkan Server NTP menggunakan Chrony di CentOS 8

Setup server NTP Menggunakan NTPd di Debian 10 Buster

Konfigurasi Server NTP menggunakan NTPd di Fedora 30

Cara Install dan Konfigurasi NTP Server Menggunakan Chrony di Fedora 29/Fedora 28