Cara Mengkonfigurasi NTP di Ubuntu: Sinkronisasi Waktu Akurat dengan Chrony

1. Pentingnya NTP di Ubuntu

Apa itu NTP?

NTP (Network Time Protocol) adalah protokol yang dirancang untuk menyinkronkan waktu sistem komputer secara akurat melalui jaringan. Mempertahankan waktu sistem yang akurat sangat penting untuk konsistensi log, pemrosesan transaksi, dan keandalan komunikasi jaringan. Jika jam sistem mengalami drift, kesalahan jaringan atau ketidaksesuaian data dapat terjadi, sehingga sinkronisasi waktu yang akurat menjadi krusial, terutama di lingkungan server.

Di Ubuntu, chrony disarankan karena menyediakan sinkronisasi waktu yang akurat bahkan di lingkungan jaringan yang tidak stabil. Chrony juga menawarkan latensi rendah dan sinkronisasi cepat, menjadikannya cocok untuk lingkungan server maupun klien.

2. Cara Mengonfigurasi NTP

Instalasi dan Konfigurasi Chrony

Chrony adalah klien NTP default di Ubuntu 18.04 dan versi selanjutnya. Gunakan langkah-langkah berikut untuk menginstal Chrony dan mengonfigurasi sinkronisasi waktu menggunakan server NTP.

Langkah Instalasi

sudo apt update
sudo apt install chrony

Selanjutnya, mulai layanan Chrony dan aktifkan untuk startup otomatis.

sudo systemctl start chrony
sudo systemctl enable chrony

File konfigurasi terletak di /etc/chrony/chrony.conf. Jika Anda ingin menggunakan server NTP yang berada di Jepang, konfigurasikan sebagai 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 mempercepat sinkronisasi awal saat terhubung ke server NTP.

3. Mengoptimalkan dan Memilih Server NTP

Menggunakan Proyek NTP Pool

Proyek NTP Pool menyediakan server NTP yang dioptimalkan wilayah yang berasal dari seluruh dunia. Dengan mengonfigurasi beberapa server NTP, keandalan meningkat, memastikan bahwa jika satu server tidak tersedia, server lain dapat terus menyinkronkan waktu secara mulus.

Contoh di bawah ini menunjukkan konfigurasi yang menggunakan server yang terletak 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. Menyetel Zona Waktu

Menggunakan Perintah timedatectl

Secara default, Ubuntu menggunakan UTC sebagai zona waktu sistem. Anda dapat mengubahnya menjadi Japan Standard Time (JST) menggunakan perintah berikut:

sudo timedatectl set-timezone Asia/Tokyo

Setelah melakukan perubahan, verifikasi pengaturan zona waktu saat ini dengan:

timedatectl

5. Pemecahan Masalah

Ketika NTP Tidak Menyinkronkan

Periksa Firewall

NTP menggunakan port UDP 123, dan sinkronisasi dapat gagal jika firewall memblokir port ini. Buka port 123 menggunakan perintah berikut:

sudo ufw allow 123/udp

Memeriksa False-tickers

Gunakan perintah ntpq -p untuk memverifikasi apakah server NTP berfungsi dengan benar. Server yang menyediakan waktu tidak akurat ditandai dengan simbol x. Jika terdeteksi, hapus atau ganti server tersebut dalam konfigurasi Anda.

Kesalahan Stratum 16

Jika server NTP tidak dapat menyinkronkan dengan server upstream, terjadi kesalahan Stratum 16. Ini menunjukkan masalah konektivitas atau konfigurasi. Verifikasi pengaturan jaringan Anda dan konfigurasi ulang server NTP Anda untuk memastikan sinkronisasi dengan sumber upstream yang dapat diandalkan.

Sinkronisasi Waktu Manual

Untuk menyinkronkan waktu secara manual menggunakan Chrony, jalankan perintah berikut:

sudo ntpdate ntp.nict.jp

Anda juga dapat meninjau log Chrony untuk mendiagnosis masalah sinkronisasi:

sudo journalctl -u chrony

6. Optimasi NTP di Lingkungan Beban Tinggi

Menyesuaikan minpoll dan maxpoll

Di lingkungan yang memerlukan sinkronisasi waktu presisi tinggi, menyesuaikan interval polling NTP memungkinkan pembaruan lebih sering dan membantu meminimalkan drift waktu. Contoh konfigurasi di bawah ini meningkatkan frekuensi sinkronisasi:

server ntp.nict.jp iburst minpoll 4 maxpoll 10

Mengelola NTP dengan Juju

Dalam lingkungan cloud berskala besar, Juju dapat mengotomatisasi penyebaran layanan NTP. Juju memantau beban host dan secara otomatis memilih host optimal sebagai server NTP. Sebarkan NTP melalui Juju sebagai berikut:

juju deploy cs:ntp ntp
juju config ntp auto_peers=true

Ini memungkinkan manajemen NTP otomatis, mendistribusikan beban secara efektif, dan memastikan sinkronisasi waktu yang efisien.

7. Meningkatkan Keamanan

Kontrol Akses untuk Server NTP

Untuk meningkatkan keamanan, Anda dapat membatasi akses server NTP ke alamat IP tertentu. Tambahkan aturan kontrol akses ke /etc/chrony/chrony.conf seperti yang ditunjukkan di bawah ini untuk mengizinkan permintaan hanya dari jaringan yang disetujui:

allow 192.168.1.0/24

Ini mencegah permintaan NTP yang tidak sah dari host eksternal dan memperkuat keamanan jaringan internal.

年収訴求