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.

