Cara Mengatur Sinkronisasi Waktu Otomatis di Ubuntu dengan ntpd: Panduan Lengkap untuk Server dan Desktop

目次

1. Pendahuluan: Mengapa Sinkronisasi Waktu Penting?

Masalah yang Ditimbulkan oleh Ketidaksesuaian Waktu Sistem

Pada sistem Linux seperti Ubuntu, menjaga waktu yang akurat sangatlah penting. Sekilas, perbedaan waktu mungkin tampak sepele, namun dalam pengelolaan server maupun lingkungan eksekusi aplikasi, pergeseran waktu bisa menjadi sumber masalah yang fatal.

Contoh masalah yang dapat terjadi:

  • Ketidakcocokan pada log
    Jika waktu yang tercatat pada sistem atau aplikasi tidak akurat, akan sulit untuk mengidentifikasi penyebab masalah saat terjadi gangguan.
  • Kegagalan cron job
    Proses terjadwal (backup atau batch) mungkin tidak berjalan pada waktu yang tepat dan dapat berjalan di waktu yang tidak diharapkan.
  • Kegagalan sertifikat SSL atau otentikasi keamanan
    Komunikasi HTTPS atau otentikasi SSH memerlukan waktu yang tepat. Jika terjadi pergeseran, sertifikat bisa dianggap “kedaluwarsa” sehingga menimbulkan error koneksi.

Hal-hal ini sangat berdampak ketika mengelola beberapa server dalam jaringan yang harus selalu sinkron.

Peran dan Pentingnya NTP

Untuk mencegah masalah tersebut, digunakanlah NTP (Network Time Protocol). NTP berkomunikasi dengan server waktu melalui internet atau jaringan lokal, lalu mengoreksi waktu sistem secara otomatis.

Di Ubuntu tersedia beberapa alat NTP seperti ntpd, chrony, dan systemd-timesyncd. Artikel ini akan fokus pada ntpd (Network Time Protocol daemon), membahas cara instalasi dan pemanfaatannya di Ubuntu.

Khusus untuk server yang berjalan dalam jangka panjang atau sistem yang memerlukan integritas log, stabilitas ntpd sangat dihargai.

Pada bagian berikutnya, kita akan membahas apa itu ntpd, peran dasarnya, serta opsi sinkronisasi waktu di Ubuntu.

2. Apa itu ntpd? Peran dan Opsi di Ubuntu

Ringkasan dan Karakteristik ntpd

ntpd (Network Time Protocol Daemon) adalah program daemon yang menjaga waktu sistem tetap akurat menggunakan NTP. Program ini secara berkala berkomunikasi dengan server NTP di internet atau jaringan lokal, lalu mengoreksi clock sistem secara otomatis.

Keunikan ntpd adalah melakukan sinkronisasi waktu secara bertahap (“sinkronisasi halus”) untuk menghindari perubahan waktu yang mendadak sehingga tidak mengganggu sistem atau aplikasi yang sedang berjalan.

ntpd juga mendukung fitur tingkat lanjut seperti komunikasi simetris dan fitur autentikasi, sehingga cocok untuk kebutuhan perusahaan yang membutuhkan sinkronisasi waktu yang andal.

Alat Sinkronisasi Waktu yang Tersedia di Ubuntu

Di Ubuntu, berikut beberapa pilihan alat untuk sinkronisasi waktu:

  • ntpd (paket ntp)
    Umum digunakan pada server jangka panjang atau kebutuhan konfigurasi detail. Mendukung sinkronisasi akurat dengan server NTP publik.
  • chrony
    Alternatif modern untuk ntpd, memiliki akurasi tinggi dan sangat cepat dalam sinkronisasi setelah booting. Cocok untuk lingkungan virtualisasi atau perangkat dengan spesifikasi rendah.
  • systemd-timesyncd
    Layanan sinkronisasi waktu ringan yang aktif secara default di Ubuntu 20.04 ke atas. Mudah digunakan namun fiturnya terbatas dan tidak cocok untuk konfigurasi lanjutan atau sebagai server NTP lokal.

Alasan dan Keunggulan Memilih ntpd

Alasan utama memilih ntpd di Ubuntu adalah keandalan dan stabilitasnya. ntpd sangat direkomendasikan dalam kasus berikut:

  • Server yang berjalan lama dan membutuhkan akurasi waktu tinggi
  • Membangun server NTP di jaringan lokal
  • Kebutuhan autentikasi atau kontrol tingkat lanjut untuk skala enterprise

ntpd juga kompatibel dengan banyak sistem dan telah terbukti stabil dalam pengoperasiannya.

3. Instalasi dan Konfigurasi Awal ntpd di Ubuntu

Langkah Instalasi ntpd

Untuk menggunakan ntpd di Ubuntu, instal paket ntp dengan perintah berikut:

sudo apt update
sudo apt install ntp

Perintah ini akan menginstal ntpd dan file terkait secara otomatis. Pada beberapa versi Ubuntu, chrony atau systemd-timesyncd mungkin sudah aktif. Jika demikian, disarankan untuk menonaktifkan atau menghapusnya terlebih dahulu.

sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd

Mengaktifkan dan Mengecek Status Layanan

Setelah instalasi selesai, aktifkan layanan ntpd dan cek statusnya:

sudo systemctl enable ntp
sudo systemctl start ntp
sudo systemctl status ntp

Jika perintah status menampilkan “active (running)”, berarti ntpd berjalan dengan baik.

Cek dan Edit File Konfigurasi Awal

Konfigurasi ntpd terdapat pada file /etc/ntp.conf. Secara default, beberapa server NTP dari pool.ntp.org sudah terdaftar.

Cek isi file konfigurasi:

cat /etc/ntp.conf

Jika ingin menentukan server di Indonesia, edit seperti berikut:

server id.pool.ntp.org iburst

Opsi iburst mempercepat sinkronisasi pada koneksi awal, jadi disarankan untuk menambahkannya.

Setelah mengubah konfigurasi, restart layanan ntpd:

sudo systemctl restart ntp

Memastikan Sinkronisasi Otomatis Waktu Sistem

ntpd akan otomatis melakukan sinkronisasi waktu setelah dijalankan. Untuk memastikan semuanya berjalan baik, gunakan perintah berikut:

ntpq -p

Perintah ini menampilkan daftar server NTP yang terhubung beserta detail keterlambatan dan offset.

4. Pengaturan dan Kustomisasi Server NTP

Memilih Server NTP yang Direkomendasikan

Memilih server NTP yang tepat penting untuk kestabilan sinkronisasi waktu. Untuk Indonesia, Anda bisa menggunakan:

  • id.pool.ntp.org (pool server Indonesia)
  • asia.pool.ntp.org (regional Asia)
  • pool.ntp.org (global)

Server-server ini dikelola dengan referensi jam atom dan dapat digunakan tanpa pendaftaran khusus untuk keperluan pribadi.

Untuk mengkonfigurasikan di /etc/ntp.conf:

server id.pool.ntp.org iburst
server asia.pool.ntp.org iburst
server pool.ntp.org iburst

Pengaturan Lanjutan di ntp.conf

Selain menentukan server NTP, file /etc/ntp.conf dapat dikustomisasi lebih lanjut. Beberapa opsi umum:

  • restrict directive
    Mengatur izin akses dari client untuk keamanan. Contoh mengizinkan akses dari jaringan lokal:
  restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
  • driftfile
    Menentukan file untuk merekam pergeseran clock sistem (umumnya default sudah sesuai).
  driftfile /var/lib/ntp/ntp.drift

 

Membangun Server NTP di Jaringan Lokal

Dengan ntpd di Ubuntu, Anda dapat mengoperasikan server NTP untuk perangkat lain di jaringan internal. Cocok untuk lingkungan tanpa akses internet atau yang membutuhkan waktu konsisten di banyak perangkat.

Langkah pengaturannya misal:

  1. Tambahkan rule restrict di /etc/ntp.conf untuk mengizinkan akses lokal
    restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
  2. Di sisi client, atur untuk menggunakan server NTP lokal
    server 192.168.0.10 iburst # IP lokal server NTP
  3. Buka port NTP pada firewall (UDP 123)
    sudo ufw allow 123/udp

Jika komunikasi diblokir, sinkronisasi waktu tidak akan terjadi dan status pada ntpq tidak akan muncul.

5. Mengecek Operasi ntpd & Troubleshooting

Cara Mengecek Status Layanan

Untuk memastikan ntpd berjalan dengan benar, gunakan perintah:

sudo systemctl status ntp

Jika tertulis active (running), ntpd berjalan normal. Jika inactive atau failed, kemungkinan ada masalah konfigurasi atau dependensi.

Untuk melihat log detail, gunakan:

journalctl -u ntp

Ini akan menampilkan riwayat startup dan error pada layanan ntpd.

Cek Sinkronisasi dengan ntpq -p

Untuk memeriksa apakah ntpd sudah sinkron dengan server NTP, gunakan:

ntpq -p

Contoh output:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*id.pool.ntp.org .POOL.          2 u   25   64  377    1.123   -0.345   0.024

Penjelasan kolom:

  • remote: Nama server NTP
  • st: Stratum server (1 = jam atom)
  • reach: Riwayat keberhasilan koneksi (8 bit)
  • delay: Delay jaringan (ms)
  • offset: Perbedaan waktu (ms)
  • jitter: Fluktuasi

Server dengan tanda * adalah sumber sinkronisasi utama.

Error Umum dan Cara Mengatasinya

1. ntpq -p tidak menampilkan data / reach = 0

  • Penyebab: Firewall atau router memblokir UDP port 123
  • Solusi: Cek pengaturan firewall di server dan client, pastikan komunikasi NTP diizinkan.
sudo ufw allow 123/udp

2. Muncul “System clock not synchronized”

  • Penyebab: ntpd tidak berjalan atau konflik dengan layanan sinkronisasi lain (systemd-timesyncd, dsb)
  • Solusi: Nonaktifkan layanan sinkronisasi lain dan restart ntpd.
sudo systemctl disable systemd-timesyncd
sudo systemctl restart ntp

3. Gagal resolve nama server NTP

  • Penyebab: Masalah pengaturan DNS atau gangguan jaringan
  • Solusi: Tes dengan ping id.pool.ntp.org dan cek pengaturan DNS jika perlu.

4. Waktu sistem meleset jauh dan tidak tersinkron

  • Penyebab: ntpd tidak melakukan koreksi jika selisih waktu sangat besar (demi keamanan)
  • Solusi: Koreksi waktu manual awal, lalu restart ntpd.
sudo ntpd -gq  # Sinkronisasi sekali, langsung keluar
sudo systemctl restart ntp

Untuk Monitoring Berkala

Di lingkungan produksi, sangat disarankan membuat script untuk merekam hasil ntpq -p secara periodik dan membuat sistem notifikasi jika terjadi anomali (misal log terputus atau reach selalu 0).

6. Perbandingan ntpd dengan Alat Sinkronisasi Lain

Alat Sinkronisasi Waktu Utama di Ubuntu

Beberapa alat sinkronisasi waktu yang umum di Ubuntu antara lain:

  • ntpd (paket ntp)
  • chrony
  • systemd-timesyncd

Memahami perbedaan masing-masing membantu Anda memilih solusi terbaik untuk lingkungan Anda.

Karakteristik ntpd

  • Kelebihan
  • Terbukti stabil dan andal, digunakan selama bertahun-tahun
  • Banyak fitur dan sangat fleksibel untuk konfigurasi lanjutan
  • Mudah integrasi dengan server NTP publik
  • Kekurangan
  • Sinkronisasi pertama bisa agak lambat
  • Kurang adaptif pada jaringan virtualisasi atau jaringan dinamis

Karakteristik chrony

  • Kelebihan
  • Sangat cepat sinkronisasi awal setelah boot
  • Sangat akurat di lingkungan virtual atau laptop/mobile
  • Algoritma cerdas untuk menyesuaikan kondisi jaringan
  • Kekurangan
  • Konfigurasi sebagai server NTP lokal agak rumit
  • Dokumentasi dan referensi belum sebanyak ntpd

Karakteristik systemd-timesyncd

  • Kelebihan
  • Aktif secara default di Ubuntu 20.04+, instalasi dan pengelolaan mudah
  • Konsumsi resource sangat rendah
  • Terintegrasi dengan systemd (standar Ubuntu modern)
  • Kekurangan
  • Fitur sangat terbatas, tidak cocok untuk server NTP lokal atau konfigurasi lanjutan
  • Akurasi/log juga sederhana, kurang ideal untuk sistem besar

Tabel Perbandingan Alat

Fiturntpdchronysystemd-timesyncd
AkurasiTinggiSangat TinggiBiasa
Kecepatan sinkronisasi awalAgak lambatSangat cepatBiasa
Dukungan server NTP lokal○ (agak rumit)× (tidak bisa)
Fleksibilitas pengaturanTinggiSedangRendah
Kesesuaian di lingkungan virtual
Referensi/praktik terbukti
Rekomendasi penggunaanServer, konsistensi organisasiVirtualisasi, laptopPC tunggal, pemula

Rekomendasi Berdasarkan Penggunaan

  • Untuk server (terutama operasi 24 jam)
    ntpd atau chrony sangat dianjurkan karena stabilitas dan akurasinya.
  • Cloud/VM atau laptop/mobile
    chrony lebih fleksibel dan akurat.
  • Untuk PC tunggal, sinkronisasi sederhana
    systemd-timesyncd sudah cukup.

7. FAQ (Pertanyaan yang Sering Diajukan)

Q1. Apakah ntpd sudah terpasang secara default di Ubuntu 22.04?

A1.
Tidak, pada Ubuntu 22.04 ntpd tidak terpasang secara default. Umumnya systemd-timesyncd yang aktif sebagai layanan sinkronisasi waktu sederhana. Untuk menggunakan ntpd, Anda harus menginstal paket ntp secara manual.

sudo apt install ntp

Setelah instalasi, nonaktifkan systemd-timesyncd untuk mencegah konflik layanan.

Q2. ntpq -p tidak menampilkan informasi?

A2.
Ada beberapa kemungkinan:

  • Layanan belum berjalan: Cek dengan sudo systemctl status ntp dan jalankan jika perlu
  • Tidak bisa terhubung ke server NTP: Pastikan firewall tidak memblokir port UDP 123
  • Kesalahan pada file konfigurasi: Periksa /etc/ntp.conf apakah ada kesalahan penulisan

Cek fungsi dasar dengan perintah di bawah:

ntpq -p

Jika kosong atau reach bernilai 0, ada masalah komunikasi dengan server NTP.

Q3. Mana yang sebaiknya dipilih, ntpd atau chrony?

A3.
Pilihannya tergantung kebutuhan:

  • Server fisik yang berjalan lama atau server NTP lokalntpd lebih stabil
  • Lingkungan virtual, laptop, atau jaringan dinamis (Wi-Fi, VPN)chrony lebih cepat dan akurat
  • Sinkronisasi waktu sederhanasystemd-timesyncd sudah cukup

Q4. Apa fungsi ntpd -gq?

A4.
ntpd -gq menjalankan sinkronisasi satu kali dan langsung keluar.

  • -g: Mengizinkan koreksi waktu besar sekalipun
  • -q: Sinkronisasi satu kali lalu keluar (tidak berjalan sebagai daemon)

Jika waktu sistem sangat meleset, gunakan perintah ini untuk koreksi awal sebelum menjalankan ntpd sebagai layanan.

Q5. Apakah ada manfaat menentukan beberapa server NTP sekaligus?

A5.
Ya, dengan menentukan beberapa server NTP, Anda meningkatkan redundansi dan keandalan sinkronisasi. Jika satu server bermasalah, server lain tetap bisa digunakan.

Contoh pada /etc/ntp.conf:

server id.pool.ntp.org iburst
server asia.pool.ntp.org iburst
server pool.ntp.org iburst

8. Kesimpulan: Tingkatkan Keandalan Sistem dengan Sinkronisasi Waktu yang Stabil

Rekap Kelebihan ntpd

Pada sistem Ubuntu, sinkronisasi waktu yang akurat sangat penting, tidak hanya untuk kenyamanan tapi juga aspek keamanan, troubleshooting, manajemen log, dan otomatisasi proses.

Artikel ini telah membahas mulai dari konsep dasar NTP, mekanisme sinkronisasi dengan ntpd, instalasi, pengaturan, troubleshooting, hingga perbandingan dengan alat lain.

Saran untuk Pembaca

Pemilihan alat sinkronisasi waktu di Ubuntu sebaiknya menyesuaikan tujuan, konfigurasi sistem, dan kebutuhan ketersediaan.
Namun prinsip dasarnya: “tidak ada operasi stabil tanpa waktu yang akurat” berlaku untuk semua lingkungan.

  • Untuk server atau yang mengutamakan manajemen log → Konfigurasikan ntpd atau chrony secara optimal
  • Untuk kebutuhan sederhana pada satu perangkatsystemd-timesyncd sudah memadai

Ketepatan waktu seringkali baru terasa manfaatnya saat terjadi masalah.
Sebagai “penanda perbedaan” saat troubleshooting, sinkronisasi waktu sangat penting.

Gunakan panduan ini untuk mengatur sinkronisasi waktu terbaik pada sistem Ubuntu Anda!

侍エンジニア塾