1. Pentingnya NTP di Ubuntu
Apa itu NTP?
NTP (Network Time Protocol) adalah protokol yang digunakan untuk menyinkronkan waktu sistem komputer secara akurat melalui jaringan. Memastikan sistem memiliki waktu yang tepat sangat penting untuk konsistensi log, pemrosesan transaksi, dan komunikasi jaringan. Ketidaksesuaian waktu dapat menyebabkan kesalahan jaringan dan inkonsistensi data, terutama dalam pengelolaan server.
Di Ubuntu, chrony
direkomendasikan karena mampu melakukan sinkronisasi waktu secara akurat bahkan di lingkungan jaringan yang tidak stabil. Chrony juga cocok untuk server dan klien karena memiliki latensi rendah dan sinkronisasi yang cepat.
2. Cara Mengatur NTP
Instalasi dan Konfigurasi Chrony
Chrony adalah klien NTP standar pada Ubuntu 18.04 ke atas. Ikuti langkah-langkah berikut untuk menginstalnya dan mengonfigurasi sinkronisasi waktu dengan server NTP.
Langkah Instalasi
sudo apt update
sudo apt install chrony
Selanjutnya, jalankan layanan Chrony dan atur agar berjalan otomatis saat boot.
sudo systemctl start chrony
sudo systemctl enable chrony
File konfigurasi terletak di /etc/chrony/chrony.conf
. Jika ingin menggunakan server NTP yang dekat dengan Jepang, tambahkan pengaturan berikut:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
Opsi iburst
memungkinkan sinkronisasi yang lebih cepat saat pertama kali terhubung.

3. Optimasi dan Pemilihan Server NTP
Menggunakan Proyek NTP Pool
Proyek NTP Pool menyediakan server NTP optimal berdasarkan lokasi geografis pengguna. Dengan mengonfigurasi beberapa server NTP, keandalan meningkat, sehingga jika satu server tidak tersedia, server lain dapat menggantikannya.
Contoh pengaturan berikut menggunakan server NTP di Jepang:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
4. Mengatur Zona Waktu
Menggunakan Perintah timedatectl
Secara default, zona waktu Ubuntu disetel ke UTC. Gunakan perintah berikut untuk mengubahnya ke Waktu Standar Jepang (JST):
sudo timedatectl set-timezone Asia/Tokyo
Setelah perubahan, verifikasi status zona waktu dengan perintah berikut:
timedatectl
5. Pemecahan Masalah (Troubleshooting)
Ketika NTP Tidak Bisa Sinkron
Periksa Firewall
NTP menggunakan port UDP 123, namun terkadang firewall memblokir port ini. Gunakan perintah berikut untuk membuka port 123:
sudo ufw allow 123/udp
Memeriksa False-ticker
Gunakan perintah ntpq -p
untuk mengecek apakah server NTP berfungsi dengan benar. Jika ada False-ticker (server yang memberikan waktu tidak akurat), server tersebut akan ditandai dengan simbol x
. Dalam kasus ini, ganti server NTP dengan yang lebih andal atau perbarui konfigurasi.
Mengatasi Error Stratum 16
Jika server NTP tidak dapat terhubung ke server tingkat atas, akan muncul error “Stratum 16”. Masalah ini menunjukkan koneksi ke server NTP gagal atau ada gangguan jaringan. Periksa pengaturan server dan koneksi jaringan, lalu pilih server yang dapat dipercaya.
Sinkronisasi Waktu Secara Manual
Untuk menyinkronkan waktu secara manual menggunakan Chrony, jalankan perintah berikut:
sudo ntpdate ntp.nict.jp
Selain itu, Anda dapat memeriksa log Chrony untuk mengidentifikasi masalah sinkronisasi dengan perintah berikut:
sudo journalctl -u chrony

6. Optimasi NTP untuk Lingkungan Beban Tinggi
Menyesuaikan minpoll
dan maxpoll
Dalam lingkungan yang membutuhkan sinkronisasi waktu dengan presisi tinggi, interval polling NTP dapat disesuaikan agar sinkronisasi lebih sering dan perbedaan waktu diminimalkan. Contoh pengaturan berikut meningkatkan frekuensi sinkronisasi:
server ntp.nict.jp iburst minpoll 4 maxpoll 10
Menggunakan Juju untuk Manajemen NTP
Di lingkungan cloud berskala besar, Juju dapat digunakan untuk mengotomatisasi pengelolaan layanan NTP. Juju secara otomatis memantau beban setiap host dan memilih host yang optimal sebagai server NTP. Gunakan perintah berikut untuk menerapkan NTP menggunakan Juju:
juju deploy cs:ntp ntp
juju config ntp auto_peers=true
Dengan cara ini, pengelolaan NTP menjadi lebih otomatis dan beban distribusi waktu lebih efisien.
7. Meningkatkan Keamanan NTP
Mengontrol Akses ke Server NTP
Untuk meningkatkan keamanan, Anda dapat membatasi akses ke server NTP hanya untuk alamat IP tertentu. Dengan menambahkan konfigurasi berikut ke dalam /etc/chrony/chrony.conf
, hanya jaringan atau alamat IP tertentu yang dapat mengakses server NTP:
allow 192.168.1.0/24
Pengaturan ini membantu mencegah permintaan NTP yang tidak sah dari luar jaringan internal, meningkatkan keamanan sistem.