Tutorial Lengkap Cara Membuat SNTP Server Sendiri dengan Chrony

Sinkronisasi waktu yang akurat adalah komponen kritis dalam jaringan komputer. Tanpa waktu yang seragam, proses logging, autentikasi (seperti Kerberos), dan troubleshooting bisa menjadi sangat kacau. Salah satu solusi terbaik adalah dengan membuat SNTP server (Simple Network Time Protocol) internal. SNTP adalah protokol yang digunakan klien untuk menyinkronkan waktu dari server NTP (Network Time Protocol).

Dengan memiliki server NTP/SNTP internal, semua perangkat di jaringan Anda—mulai dari server, router, hingga PC—dapat menyamakan waktu dari satu sumber tepercaya di dalam jaringan Anda sendiri. Ini mengurangi latensi, menghemat bandwidth internet, dan meningkatkan keamanan.

Dalam tutorial ini, kita akan membahas cara membuat SNTP server sendiri menggunakan chrony, sebuah implementasi NTP modern yang lebih cepat, efisien, dan akurat dibandingkan ntpd lama. Kita akan menginstalnya di server Linux (Ubuntu/Debian atau CentOS/RHEL).

Mengapa Menggunakan Chrony?

Chrony adalah pilihan default pada banyak distribusi Linux modern (termasuk RHEL 8/9 dan Ubuntu 20.04+). Keunggulannya meliputi:

diskon vps
  • Sinkronisasi Cepat: Sangat cepat dalam menyinkronkan waktu, bahkan pada jaringan yang tidak stabil atau terputus-putus.
  • Akurasi Tinggi: Mampu mencapai akurasi sub-microsecond.
  • Ringan: Menggunakan lebih sedikit sumber daya (RAM/CPU) dibandingkan ntpd.

Persiapan Sebelum Memulai

Sebelum kita mulai, pastikan Anda memiliki:

  • Sebuah server (VPS atau dedicated) dengan OS Linux. Tutorial ini mencakup perintah untuk Ubuntu/Debian dan CentOS/RHEL.
  • Akses root atau pengguna dengan hak sudo.
  • Koneksi internet yang stabil untuk mengunduh paket dan sinkronisasi awal.

Instalasi Chrony

Langkah pertama adalah menginstal paket chrony. Buka terminal SSH Anda dan jalankan perintah yang sesuai dengan distribusi Anda.

Untuk Ubuntu/Debian:

sudo apt update
sudo apt install chrony -y

Untuk CentOS/RHEL/AlmaLinux:

sudo dnf install chrony -y
# atau jika menggunakan yum (CentOS 7)
# sudo yum install chrony -y

Konfigurasi Chrony sebagai Server

Setelah terinstal, kita perlu mengedit file konfigurasi utama untuk menentukan dari mana server kita akan mengambil waktu (upstream) dan kepada siapa server kita akan memberikan waktu (klien).

Buka file konfigurasi dengan editor teks favorit Anda (misalnya nano):

sudo nano /etc/chrony/chrony.conf
# Pada CentOS/RHEL, lokasinya mungkin /etc/chrony.conf

Tentukan Upstream Server (Pool)

Cari baris yang dimulai dengan pool atau server. Ini adalah sumber waktu eksternal. Sebaiknya gunakan server dari pool.ntp.org yang berlokasi di regional Anda (misalnya, Indonesia).

Komentari (beri tanda #) baris pool yang ada, dan tambahkan baris baru. Menggunakan pool.ntp.org zona Indonesia (id.pool.ntp.org) adalah pilihan yang baik.

# Gunakan server NTP dari pool Indonesia
pool 0.id.pool.ntp.org iburst
pool 1.id.pool.ntp.org iburst
pool 2.id.pool.ntp.org iburst
pool 3.id.pool.ntp.org iburst

Kata iburst membantu mempercepat proses sinkronisasi awal saat layanan dimulai.

Izinkan Klien Jaringan (Allow)

Bagian terpenting dari membuat SNTP server adalah mengizinkan perangkat lain di jaringan Anda untuk meminta waktu. Cari direktif allow.

Secara default, Chrony mungkin hanya mengizinkan localhost. Kita perlu menambahkan subnet jaringan lokal kita.

Contoh: Jika jaringan internal Anda menggunakan IP 192.168.1.0 dengan subnet mask 255.255.255.0 (ditulis /24), tambahkan baris ini:

# Izinkan klien dari jaringan lokal 192.168.1.0/24
allow 192.168.1.0/24

# Anda juga bisa mengizinkan subnet lain jika perlu
# allow 10.0.0.0/16

Simpan file konfigurasi tersebut dan keluar dari editor (Ctrl+X, lalu Y, lalu Enter jika menggunakan nano).

Restart dan Aktifkan Layanan Chrony

Setelah konfigurasi diubah, kita perlu me-restart layanan chrony agar perubahan diterapkan. Kita juga akan mengaktifkannya agar berjalan otomatis saat booting.

# Restart layanan chrony
sudo systemctl restart chronyd

# Aktifkan layanan saat boot
sudo systemctl enable chronyd

# Cek status layanan
sudo systemctl status chronyd

Pastikan statusnya menunjukkan active (running).

Verifikasi Status Server

Sekarang, mari kita periksa apakah server Chrony kita sudah berhasil tersinkronisasi denganupstream pool dan siap melayani klien.

Jalankan perintah chronyc:

chronyc sources

Anda akan melihat output yang mirip seperti ini:

MS Name/IP address    Stratum Poll Reach LastRx Last sample
======================================================================
^* 202.65.114.202       2  10   377   886  +1439us[+1439us] +/-   28ms
^- ntp.corp.net.id      3  10   377   449    -13ms[  -13ms] +/-  102ms
^- 103.106.6.7          2  10   377   901  -1070us[-1070us] +/-   39ms
  • Tanda ^* (star) menunjukkan bahwa ini adalah sumber waktu utama yang sedang digunakan.
  • Stratum menunjukkan seberapa jauh server tersebut dari sumber waktu utama (Stratum 0, biasanya jam atom). Server kita akan menjadi Stratum 3 (karena mengambil dari Stratum 2).

Anda juga bisa memeriksa status tracking keseluruhan:

chronyc tracking

Kesimpulan

Selamat! Anda telah berhasil membuat SNTP server (atau lebih tepatnya, server NTP yang melayani klien SNTP) Anda sendiri menggunakan Chrony. Ini adalah langkah penting untuk memastikan semua perangkat di jaringan Anda memiliki waktu yang seragam dan akurat.

Langkah ini tidak hanya meningkatkan integritas log dan keamanan autentikasi, tetapi juga mengurangi ketergantungan pada server waktu eksternal. Untuk konfigurasi yang lebih mendalam, Anda selalu bisa merujuk ke dokumentasi resmi Chrony.

diskon vps
Previous Article

VPS Pay As You Go di Computing ID: Solusi Hemat untuk WordPress

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *