GNU/Linux >> Belajar Linux >  >> Linux

Server NTP dan Praktik Terbaik

NTP adalah singkatan dari "Protokol Waktu Jaringan." Ini adalah protokol yang digunakan oleh perangkat yang terhubung ke internet untuk menyinkronkan waktu sistem mereka ke referensi waktu. Ada berbagai poin penting mengapa penting untuk menjaga waktu yang akurat, dan prinsip kerja NTP adalah dasar namun menakjubkan.

Kami baru-baru ini menampilkan artikel tentang pengaturan server dan klien NTP pada distribusi berbasis Ubuntu. Hal ini membutuhkan penjelasan rinci tentang bagaimana tepatnya NTP bekerja dan mengapa itu penting.

Apa persyaratan waktu yang akurat?

Pertama, mari kita lihat mengapa sejak awal, infrastruktur yang begitu dalam dikembangkan sehingga mesin kami dapat menggunakan waktu yang akurat.

Terjadi Drift

Setiap kali Anda menggunakan sistem komputer, adalah fakta yang diamati dengan baik bahwa jam perangkat keras mulai tertinggal seiring berjalannya waktu. Efek ini bahkan dapat menambah ketidakakuratan yang tinggi dalam beberapa kasus. Ini jelas bukan efek yang diinginkan, jadi sebaiknya gunakan sinkronisasi waktu.

Manajemen Log

Jika ada jaringan beberapa perangkat, dan katakanlah beberapa masalah terjadi, itu memengaruhi banyak sistem di jaringan. Cara terbaik untuk melacak masalah dan mencari tahu apa yang terjadi adalah dengan memeriksa log sistem (lebih lanjut tentang memeriksa file log di sini). Jika salah satu dari sistem tersebut tertinggal beberapa detik, sistem tersebut tampaknya telah terpengaruh sebelum sistem lainnya, yang benar-benar terpengaruh terlebih dahulu. Ini membuatnya sulit untuk memecahkan masalah, dan secara umum, mengelola beberapa sistem di seluruh jaringan. Ini hanya satu contoh, tetapi masih banyak lagi dan kemungkinan yang lebih parah.

Transaksi

Beberapa jenis transaksi dilakukan di internet. Terkadang, jika jam sistem Anda lebih cepat dari waktu sebenarnya, ini mungkin menunjukkan dalam log sistem pembayaran bahwa pembayaran tiba sebelum Anda benar-benar membayar jumlahnya. Ini akan membuat pembayaran menjadi bukan milik Anda dan menimbulkan lebih banyak masalah.

Atau dalam kasus yang lebih mirip, karena ketidaktepatan waktu, seringkali penerima Anda akan mengirim balasan ke E-mail Anda bahkan sebelum Anda mengirim E-mail di tempat pertama. Seperti yang dapat Anda bayangkan, akurasi waktu pada dua sistem berbeda di internet dapat menjadi akar dari beberapa konsekuensi yang berpotensi membahayakan.

Eksekusi Perintah

Di jaringan, sering ada skrip yang ditulis untuk menjalankan tugas yang diatur melalui beberapa sistem. Jika skrip tersebut memiliki parameter waktu, skrip tersebut dapat menjadi kacau jika sistem memiliki waktu yang tidak akurat. Beberapa perintah akan dieksekusi sebelum diperlukan, atau setelah menyabot seluruh proses. Ini jelas tidak baik untuk terjadi.

Sekali lagi, pada catatan yang lebih mirip, GPS Anda tidak akan benar-benar berfungsi dengan baik jika waktu tidak disinkronkan dengan benar antara sistem Anda dan satelit GPS.

Bagaimana cara kerjanya?

Jadi, kita telah melihat beberapa alasan mengapa mempertahankan waktu yang akurat melalui jaringan cukup penting untuk menggabungkan skenario dan kehidupan kita sehari-hari. Beruntung bagi kami, ini tidak terlalu sulit untuk dicapai. Menggunakan NTP, kita bisa membuat ini mungkin. Tapi, bagaimana NTP mewujudkannya? Mari kita lihat.

Sumber Waktu

Sumber waktu utama harus sangat tepat, tentu saja. Sumber waktu ini adalah beberapa yang terbaik secara ilmiah saat ini, yang pertama adalah Jam Atom , yang menggunakan 9192631770 siklus radiasi yang sesuai dengan transisi antara dua tingkat energi atom cesium-133 keadaan dasar sebagai satu detik. Selain itu, penerima sinyal waktu yang disiarkan oleh beberapa lembaga standar nasional dapat dipercaya sebagai waktu yang tepat.

Sumber waktu ini dikatakan berada di Stratum 0 tingkat. Konsep strata bekerja seperti yang dijelaskan:

Konsep Stratum

Stratum secara harfiah berarti “salah satu dari serangkaian lapisan, level, atau gradasi dalam sistem yang teratur,” dan begitulah digunakan dalam konteks NTP juga. Level stratum 0 adalah waktu yang paling tepat. Jika server menyinkronkan waktu dengan sumber stratum 0-waktu, itu adalah sumber strata 1-kali. Dan jika itu menyediakan waktu ke server lain, server itu adalah sumber strata 2 kali. Saat lapisan terus naik, nomor strata yang ditetapkan ke server juga biasanya terus naik. Jadi semakin rendah nomor strata yang ditetapkan ke server, semakin tepat waktunya.

Tingkat strata dianggap sampai strata 16, setelah itu perbedaan waktu terlalu jauh. Dalam banyak skenario, hanya disarankan untuk menggunakan hingga server strata 4.

Server Stratum 1

Server level stratum 0 tidak boleh digunakan oleh pengguna biasa seperti kami. Jam atom dan sumber waktu lembaga nasional dikelola oleh pemerintah secara langsung.

Lebih jauh lagi, server stratum 1 adalah server yang terhubung langsung ke jam perangkat keras, yang berada pada level strata 0. Ini adalah server sumber waktu terbaik karena strata 0 sebenarnya bukan server tetapi jam. Server yang sebenarnya dapat dihubungkan adalah server stratum 1, yang secara langsung menerima waktu dari jam perangkat keras.

Sebuah server strata 1 harus memiliki server yang presisi dan terpelihara dengan baik. Itu juga harus sangat tersedia karena sistem lain mungkin mengandalkan layanan waktunya.

Proses Sinkronisasi Waktu

Pertama-tama, untuk mengatur NTP di sistem Anda, Anda harus memilih server yang akan Anda gunakan untuk menyinkronkan waktu. Untuk itu, Anda dapat memilih server yang ingin Anda gunakan dan mengkonfigurasi pengaturan pada perangkat lunak sistem Anda.

Bagaimana Waktu Disinkronkan

Proses sinkronisasi dimulai dengan sistem dan server NTP bertukar beberapa paket data dalam waktu yang cukup lama. Apa yang sebenarnya terjadi adalah waktu yang dibutuhkan oleh paket untuk menyelesaikan satu perjalanan pulang pergi ke server NTP dan kembali dihitung. Waktu dikirim dalam paket data tersebut oleh server NTP, dan waktu perjalanan yang dihitung akan dikurangi. Misalnya:

Sistem memiliki waktu 17:00:05 saat mengirimkan paket. Sistem sekarang menerima respons dari server NTP pada pukul 17:00:11. Server NTP telah mengirimkan informasi waktu, yang sebenarnya sekarang adalah 17:05:23. Namun jika dilihat dari travel time yang ditempuh paket yaitu 6 detik, berarti butuh 3 detik untuk pergi ke server dan 3 lagi untuk kembali. Artinya waktunya 17:05:23 3 detik yang lalu, bukan saat ini. Jadi waktunya disesuaikan menjadi 17:05:26.

(Tentu saja saya telah memperbesar skala ke tingkat yang sangat tinggi, tetapi itu hanya untuk penjelasan. Perbedaan ini dalam milidetik pada kenyataannya, tetapi logikanya sama).

Seluruh proses pertukaran paket ini berlangsung selama sekitar 5 menit untuk memastikan waktu yang tepat dan memastikan bahwa offset telah diperbaiki. Jelas, semakin pendek, lebih konsisten, dan lebih simetris pertukaran paket, semakin akurat waktunya. Protokol NTP menggunakan paket UDP dan IP untuk proses ini karena kecepatan dan keandalannya. Port yang digunakan adalah 123. Dikatakan bahwa akurasi waktu biasanya antara 5-100 ms.

Jika perbedaan waktu antara server NTP dan sistem cukup kecil, itu akan dengan cepat mengubahnya. Jika perbedaan waktu besar, waktu diubah terus-menerus dengan perbedaan kecil sampai dikoreksi.

Praktik Terbaik

Memiliki Banyak Server

Ini adalah praktik yang paling direkomendasikan:memiliki beberapa server NTP redundan jika salah satunya menggunakan malfungsi atau menjadi tidak akurat karena alasan tertentu. Tidak akan banyak kerugian yang terjadi jika jaringan dapat langsung terhubung ke server NTP lain. Selain itu, akan lebih baik lagi jika Anda dapat mengatur skrip yang dapat secara otomatis mengaktifkan dan menghubungkan jaringan ke salah satu server redundan ketika isyarat tertentu yang jelas diberikan (seperti tidak menerima paket dari server NTP, dll.).

Pertimbangkan Tata Letak Jaringan

Jaringan harus terstruktur sehingga sistem yang membutuhkan waktu lebih akurat secara fisik lebih dekat dan terhubung langsung ke server NTP. Jika ada sub-jaringan, mereka harus digunakan untuk tugas-tugas yang relatif tidak memerlukan waktu yang akurat.

Komunikasi NTP yang aman

Karena NTP didasarkan pada UDP, ini adalah protokol yang berfokus pada cukup banyak, jadi tergantung pada sistem Anda, mungkin ada kerentanan potensial. Itu selalu merupakan ide yang baik untuk mengamankan koneksi NTP dengan otentikasi.

Batasi Akses

Menjaga jaringan dari penyerang eksternal adalah penting, tentu saja, tetapi juga mencegah kesalahan penanganan. Dengan membatasi akses ke server NTP untuk jumlah minimum orang, Anda dapat memastikan untuk memiliki kesalahan manusia sesedikit mungkin, dan lebih dari itu, Anda dapat yakin bahwa itu tidak akan ditangani oleh seseorang yang tidak memiliki pemahaman teknis sebenarnya untuk menangani jaringan.

Hindari Perulangan Waktu

Selain prospek fiksi ilmiah, Anda harus selalu memastikan untuk menghindari pengulangan waktu dalam struktur jaringan. Katakanlah A bertindak sebagai server untuk B, dan B untuk C. Sekarang, jika C kembali ditugaskan sebagai server untuk A, segalanya bisa menjadi kacau. Jelas, tidak ada orang waras yang akan melakukan ini, tetapi kadang-kadang, itu bisa terjadi secara tidak sengaja, jadi memeriksa tata letak jaringan NTP sesekali adalah ide yang bagus.

Kesimpulan

NTP adalah protokol yang sangat baik dan efisien untuk memastikan bahwa sistem Anda selalu memiliki waktu yang tepat. Ini bisa menjadi sedikit rumit di jaringan besar atau lingkungan kantor, tetapi sedikit berhati-hati dan memiliki tata letak yang baik bisa sangat membantu. Kami harap artikel tersebut bermanfaat bagi Anda.


Linux
  1. Praktik Terbaik Keamanan OpenSSH

  2. Cara Mengatur Zona Waktu dan Menyinkronkan Waktu Server dengan NTP di Linux

  3. Bagaimana Cara Menginstal dan Mengkonfigurasi NTP untuk Sinkronisasi Waktu di CentOS?

  1. 8 Praktik terbaik dengan sudo di Linux – Tindakan dan Larangan dari sudo

  2. Praktik terbaik keamanan server Linux

  3. Cara Menginstal dan Mengonfigurasi Server dan Klien NTP Linux

  1. Chrony – Klien dan Server NTP Alternatif Untuk Sistem mirip Unix

  2. Sinkronkan Waktu Server Linux dengan Server Waktu Jaringan

  3. Apa itu dispersi NTP dan bagaimana cara mengontrolnya?