NTP Server
Sebelum kita membahas NTP Server, kita pahami dulu nih “apa sih NTP itu?”. Nah, Network Time Protocol atau yang dikenal dengan NTP merupakan protokol dalam jaringan yang digunakan untuk melakukan sinkronisasi waktu pada suatu jaringan komputer. Oke, setelah kita paham apa itu NTP barulah kita masuk ke NTP Server itu, NTP Server merupakan sebuah server yang bertugas melakukan sinkronisasi waktu dan mentransmisikan informasi waktu tersebut ke komputer klien.
Cara Kerja NTP Server
NTP bekerja dengan algoritma Marzullo yang menggunakan referensi dari skala waktu UTC. Umumnya sumber waktu yang ada pada jaringan NTP diperoleh dari sumber terpercaya seperti radio clock dan atomic clock yang terhubung dengan time server. NTP hadir menggunakan sistem hirarki saat bekerja. Sistem ini menggunakan istilah clock stratum atau strata dimana stratum tersebut dimulai dari 0 hingga 15, dan terdapat stratum 16 ayng berguna untuk menunjukkan perangkat yang tidak tersinkronisasi.
- Stratum 0Hirarki tertinggi dari NTP yang mencangkup perangkat – perangkat dengan ketetapan waktu presisi tinggi seperti GPS, jam atom dan lain-lain.
- Stratum 1Komputer yang tersinkron secara langsung dari stratum 0 dalam rentang beberapa mikrodetik. Stratum 1 berfungsi sebagai time server utama, server pada stratum 1 juga dapat berkomunikasi secara peer to peer dengan stratum 1 lainnya.
- Stratum 2Perangkat pada stratum 2 tersinkronisasi secara langsung dengan server stratum 1. Perangkat pada stratum 2 dapat tersinkron secara langsung ke stratum 1 dan 2.
- Stratum 3 dan seterusnyaStratum 3 tersinkron dengan perangkat stratum 2 dan bertindak sebagai server untuk perangkat stratum 4 dan seterusnya.
- Stratum 16Seperti yang sudah dijelaskan sebelumnya stratu 16 digunakan untuk perangkat yang tidak tersinkronisasi dengan NTP.
NTPd
Ntpd merupakan salah satu perangkat lunak yang digunakan sebagai NTP Server. Dengan Ntpd kita dapat melakukan sinkronisasi waktu antara server dan klien. Simaklah artikel ini untuk mengetahui lebih lanjut mengenai cara konfigurasi Ntpd pada server ubuntu.
Topologi
Spesifikasi NTP server yang digunakan:
- IP Address: 10.23.2.119/22
- OS Ubuntu 20.04
Step 1 – Instalasi
- Masuk sebagai user sudo pada ubuntu server.
$sudo su
- Lakukan update pada server ubuntu dan juga instal package untuk NTP server.
#apt update && apt -y install ntp
Step 2 – Konfigurasi
- Selanjutnya kita akan melakukan beberapa perubahan pada file konfigurasi NTP.
#vim /etc/ntp.conf
- Disini kita akan memasukkan pool time dari zona wilayah indonesia, untuk pool time nya dapat dilihat pada website https://www.pool.ntp.org/. Kalian tinggal pilih zona pool yang mau digunakan.
# line 21: comment #pool 0.ubuntu.pool.ntp.org iburst #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst # line 27: comment #pool ntp.ubuntu.com # tambahkan perintah dibawah untuk menambahkan ntp server dari 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 # line 51: tambahkan netowrk yang di izinkan untuk menggunakan NTP Server restrict 10.23.0.0 mask 255.255.252.0 nomodify notrap
- Setelah semua konfigurasi selesai, lakukan restart pada layanan NTP agar semua konfig berjalan.
#systemctl restart ntp
- Sekarang kita akan mencoba melihat apakah NTP server sudah menggunakan zona pool nya atau belum.
#ntpq -p
Dapat dilihat pada gambar diatas, bahwa zona pool indonesia yang telah kita tambahkan dapat berjalan.
Step 3 – Pengujian
- Selanjutnya kita akan melakukan pengujian. Buka CLI linux yang akan dijadikan klien NTP. Llau, lakukan perubahan pada file timesyncd.conf.
#vim /etc/systemd/timesyncd.conf
- Tambahkan perintah dibawah untuk menentukan siapa yang akan dijadikan NTP Server untuk klien.
# uncomment dan tambahkan ip atau domain ntp server NTP=10.23.2.119
- Setelah selesai restart layanan timesync agar konfignya berjalan.
#systemctl restart systemd-timesyncd
- Kita lihat apakah waktunya sudah tersinkronisasi dengan NTP Server atau belum.
#timedatectl timesync-status
Dapat dilihat pada gambar bahwa NTP Server nya mengarah ke alamat IP NTP Server yang telah kita buat.
Chrony
Chrony merupakan salah satu perangkat lunak NTP server seperti halnya ntpd. Dengan menggunakan chrony kita dapat melakukan sinkronisasi waktu antara NTP Server dan Klien. Chrony ini dapat bekerja dengan baik dalam berbagai kondisi, termasuk jaringan yang sangat padat, perubahan suhu dan sistem yang tidak berjalan terus – menerus. Ayok belajar mengenai Chrony pada artikel ini.
Topologi
Spesifikasi NTP server yang digunakan:
- IP Address: 10.23.2.118/22
- OS Ubuntu 20.04
Step 1 – Instalasi
- Masuk sebagai user sudo ke server ubuntu yang akan dijadikan NTP server.
$sudo su
- Lakukan update pada server dan instal package chrony.
#apt update && apt -y install chrony
Step 2 – Konfigurasi
- Lakukan perubahan pada file konfig chrony.conf.
#vim /etc/chrony/chrony.conf
- Disini kita akan melakukan perubahan sama seperti halnya pada ntpd, mengubah zona pool time yang default menjadi zona pool time indonesia.
# line 17: comment #pool ntp.ubuntu.com iburst maxsources 4 #pool 0.ubuntu.pool.ntp.org iburst maxsources 1 #pool 1.ubuntu.pool.ntp.org iburst maxsources 1 #pool 2.ubuntu.pool.ntp.org iburst maxsources 2 # tambahkan perintah dibawah untuk menambahkan ntp server dari 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 # tambahkan baris perintah dibawah pada baris terakhir file allow 10.23.0.0/22
- Setelah semua konfigurasi dilakukan, restart layanan agar konfignya berjalan.
#systemctl restart chrony
Step 3 – Pengujian
- Selanjutnya kita akan melakukan pengujian. Buka CLI linux yang akan dijadikan klien NTP. Llau, lakukan perubahan pada file timesyncd.conf.
#vim /etc/systemd/timesyncd.conf
- Tambahkan perintah dibawah untuk menentukan siapa yang akan dijadikan NTP Server untuk klien.
# uncomment dan tambahkan ip atau domain ntp server NTP=10.23.2.118
- Setelah selesai restart layanan timesync agar konfignya berjalan.
#systemctl restart systemd-timesyncd
- Kita lihat apakah waktunya sudah tersinkronisasi dengan NTP Server atau belum.
#timedatectl timesync-status
- Selanjutnya kita coba untuk melakukan sinkronisasi waktu dengan klien windows. Masuk ke Control Panel dan pilih menu Clock and Region.
- Setelah itu pilih Change the time zone.
- Setelah itu nantinya akan tampil window dan pilih tab Internet Time dan Klik Change Settings.
- Pada form Server isikan dengan alamat IP atau Domain dari NTP Server dan klik Update now. Jika berhasil nanti dibawahnya akan menampilkan bahwa sinkronisasi dengan NTP Server berhasil.
Kesimpulan
NTP atau Network Time Protocol merupakan protokol yang digunakan untuk sinkronisasi waktu antara server dan klien. NTP sendiri menggunakan sistem hirarki yang dikenal dengan stratum. Stratum terdiri dari stratum 0-15, namun juga ada stratum 16 yang berguna untuk mengetahui perangkat yang tidak sinkron dengan server NTP. Penggunaan NTP ini berguna untuk melakukan sinkronisasi waktu antara server dan klien, sehingga klien juga dapat mengetahui waktu secara akurat. Mungkin sekian dari penjelasan yang dapat saya berikan, semoga artikel ini dapat membantu kalian~
Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.
Penulis : M. Syawal Saputra