Panduan Penetapan NTP Ubuntu: Pastikan Pelayan Anda Selaras

目次

1. Pengenalan: Mengapa Penyelarasan Masa Penting

Masalah yang Disebabkan oleh Lengkapan Jam Sistem

Dalam sistem Linux, termasuk Ubuntu, mengekalkan masa yang tepat adalah penting. Walaupun nampak seperti isu kecil ketidaktepatan jam, lengkapan masa boleh membawa kepada masalah kritikal dalam operasi pelayan dan persekitaran pelaksanaan aplikasi.

Sebagai contoh, isu-isu berikut boleh berlaku:

  • Log yang Tidak Konsisten Jika cap masa dalam log sistem dan log aplikasi tidak selaras, menjadi sukar untuk menentukan punca masalah semasa penyelesaian masalah.
  • Tugas cron yang Tidak Berfungsi Tugas terjadual (seperti sandaran dan pemprosesan batch) mungkin tidak dilaksanakan pada masa yang betul, berpotensi berjalan pada saat yang tidak dijangka.
  • Kegagalan Sijil SSL dan Pengesahan Keselamatan Maklumat masa yang tepat adalah perlu untuk komunikasi HTTPS dan pengesahan SSH. Jika masa sistem tidak betul, sijil mungkin dianggap “tamat tempoh,” membawa kepada ralat sambungan.

Isu-isu ini boleh memberi kesan teruk terutamanya apabila mengendalikan pelbagai pelayan yang diselaraskan melalui rangkaian.

Peranan dan Kepentingan NTP

Untuk mengelakkan masalah sedemikian, NTP (Network Time Protocol) digunakan. NTP berkomunikasi dengan pelayan masa di internet atau rangkaian tempatan untuk membetulkan masa sistem secara automatik.

Ubuntu menawarkan beberapa alat berkaitan NTP, termasuk ntpd, chrony, dan systemd-timesyncd. Artikel ini akan memberi tumpuan kepada ntpd (Network Time Protocol daemon), memberikan penjelasan terperinci tentang pemasangan dan penggunaannya pada Ubuntu.

Terutamanya untuk pelayan yang dimaksudkan untuk operasi jangka panjang dan sistem yang memerlukan konsistensi log, kestabilan ntpd sangat dihargai.

Bab seterusnya akan memperkenalkan apa itu ntpd, peranannya asas, dan pilihan yang tersedia di Ubuntu.

2. Apa Itu ntpd? Peranannya dan Pilihan di Ubuntu

Gambaran Keseluruhan dan Ciri-ciri ntpd

ntpd (Network Time Protocol Daemon) adalah program daemon yang menggunakan NTP untuk mengekalkan masa sistem yang tepat. Ia berkomunikasi secara berkala dengan pelayan NTP di internet atau rangkaian tempatan dan melaraskan jam sistem secara automatik.

Ciri utama ntpd adalah “penyelarasan lancar,” yang membetulkan perbezaan masa secara beransur-ansur. Reka bentuk ini mengelakkan perubahan masa yang mendadak yang boleh memberi kesan negatif kepada sistem dan aplikasi yang sedang berjalan.

Tambahan pula, ntpd menyokong ciri-ciri NTP lanjutan seperti mod aktif simetri dan pengesahan, menjadikannya perkhidmatan penyelarasan masa yang kukuh yang sesuai untuk persekitaran perusahaan.

Alat Penyelarasan Masa yang Tersedia di Ubuntu

Ubuntu menawarkan pilihan berikut untuk penyelarasan masa:

  • ntpd (pakej ntp) Digunakan secara meluas dalam persekitaran yang memerlukan operasi jangka panjang dan konfigurasi terperinci. Ia menawarkan fleksibiliti dan kestabilan yang cemerlang, membolehkan penyelarasan masa tepat tinggi dengan menyambung ke pelayan NTP awam.
  • chrony Alternatif kepada ntpd yang mendapat perhatian kerana ketepatan tingginya dan kelajuan penyelarasan pantas selepas permulaan. Ia berfungsi dengan baik dalam persekitaran spesifikasi rendah dan mesin maya, dan ramai pengagihan moden sedang mengadopsi chrony sebagai lalai.
  • systemd-timesyncd Perkhidmatan penyelarasan masa ringan yang diaktifkan secara lalai di Ubuntu 20.04 dan seterusnya. Ia ringkas dan mudah digunakan, tetapi ciri-cirinya terhad, menjadikannya tidak sesuai untuk konfigurasi lanjutan atau beroperasi sebagai pelayan NTP tempatan.

Sebab Memilih ntpd dan Kelebihannya

Sebab utama mengadopsi ntpd di Ubuntu adalah kebolehpercayaan dan kestabilannya. Ia adalah pilihan kukuh, terutamanya dalam kes berikut:

  • Apabila ketepatan masa tinggi diperlukan untuk pelayan jangka panjang.
  • Apabila anda mahu membina pelayan NTP dalam rangkaian tempatan.
  • Untuk aplikasi perusahaan yang memerlukan pengesahan dan kawalan lanjutan.

Tambahan pula, ntpd mempunyai kelebihan serasi dengan ramai sistem sedia ada dan mempunyai rekod prestasi yang terbukti, yang mengurangkan kebimbangan semasa pelaksanaan.

3. Pemasangan dan Persediaan Awal ntpd pada Ubuntu

Prosedur Pemasangan ntpd

Untuk menggunakan ntpd pada Ubuntu, anda terlebih dahulu perlu memasang pakej ntp. Anda boleh memasangnya dengan mudah menggunakan langkah-langkah berikut:

sudo apt update
sudo apt install ntp

Perintah ini akan secara automatik memasang ntpd dan fail‑fail berkaitannya. Perhatikan bahawa pada beberapa versi Ubuntu, chrony atau systemd-timesyncd mungkin diaktifkan secara lalai. Dalam kes sedemikian, disarankan untuk menyahaktifkan atau membuangnya terlebih dahulu.

sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd

Mengaktifkan Perkhidmatan dan Mengesahkan Permulaan

Setelah pemasangan selesai, aktifkan peridmatan ntpd dan periksa status permulaannya.

sudo systemctl enable ntp
sudo systemctl start ntp
sudo systemctl status ntp

Jika perintah status menunjukkan “active (running)”, ia bermakna ntpd telah berjaya dimulakan.

Menyemak dan Menyunting Fail Konfigurasi Awal

Konfigurasi ntpd ditakrifkan dalam fail /etc/ntp.conf. Konfigurasi lalai selepas pemasangan termasuk beberapa pelayan NTP lalai (biasanya daripada siri pool.ntp.org).

Pertama, mari semak kandungan fail konfigurasi tersebut.

cat /etc/ntp.conf

Jika anda ingin menentukan pelayan di Amerika Syarikat, anda boleh menyuntingnya seperti berikut:

server us.pool.ntp.org iburst

Pilihan iburst disarankan kerana ia mempercepatkan kelajuan penyelarasan semasa sambungan pertama.

Selepas membuat perubahan pada konfigurasi, mulakan semula perkhidmatan ntpd untuk menerapkannya.

sudo systemctl restart ntp

Mengesahkan Penyelarasan Masa Sistem Automatik

Setelah dimulakan, ntpd secara automatik menyelaraskan masa dengan pelayan. Untuk memeriksa sama ada ia berfungsi dengan betul, perintah berikut berguna:

ntpq -p

Perintah ini membolehkan anda melihat senarai pelayan NTP yang bersambung serta maklumat terperinci seperti kelewatan dan offset.

4. Mengkonfigurasi dan Menyesuaikan Pelayan NTP

Memilih Pelayan NTP yang Disyorkan

Satu aspek penting dalam konfigurasi ntpd ialah memilih pelayan NTP yang akan diselaraskan. Apabila bersambung melalui internet, menentukan pelayan NTP yang boleh dipercayai di Amerika Syarikat dapat memastikan penyelarasan masa yang lebih stabil.

Pelayan NTP awam yang biasa di AS termasuk:

  • us.pool.ntp.org (Kumpulan pelayan NTP di Amerika Syarikat)
  • Anda juga boleh mencari kumpulan serantau seperti north-america.pool.ntp.org atau kumpulan mengikut negeri jika diperlukanPelayan-pelayan ini dioperasikan berdasarkan jam atom berketepatan tinggi dan boleh digunakan untuk kegunaan peribadi tanpa kebenaran khas.

Anda boleh mengkonfigurasi penyelarasan dengan pelayan-pelayan ini dengan menulis yang berikut dalam /etc/ntp.conf:

server us.pool.ntp.org iburst
server north-america.pool.ntp.org iburst

Item Konfigurasi Terperinci dalam ntp.conf

Selain menentukan pelayan NTP, /etc/ntp.conf membenarkan kawalan terperinci ke atas tingkah laku ntpd. Berikut adalah beberapa item konfigurasi tipikal:

  • directif restrict Menetapkan sekatan dan kebenaran untuk sambungan daripada klien. Untuk tujuan keselamatan, sambungan yang tidak diperlukan harus disekat. Contoh: Membenarkan sambungan daripada rangkaian tempatan
      restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    
  • driftfile Menentukan fail yang merekodkan drift jam sistem (penyimpangan halus). Biasanya, tetapan lalai sudah memadai.
      driftfile /var/lib/ntp/ntp.drift
    

Membina Pelayan NTP dalam Rangkaian Tempatan

Anda juga boleh menggunakan ntpd pada Ubuntu untuk berfungsi sebagai pelayan NTP yang mengedarkan masa kepada peranti lain dalam rangkaian tempatan anda. Konfigurasi ini berkesan dalam persekitaran tanpa akses internet atau di mana pengurusan masa yang konsisten merentasi pelbagai peranti diperlukan.

Berikut ialah contoh prosedur konfigurasi:

  1. Tambahkan peraturan restrict pada /etc/ntp.conf untuk membenarkan akses setempat: restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
  2. PC klien, konfigurasikan supaya merujuk kepada pelayan NTP setempat ini: server 192.168.1.10 iburst # Alamat IP setempat pelayan NTP
  3. Buka port pelayan NTP (benarkan port UDP 123 dalam firewall): sudo ufw allow 123/udp

Jika komunikasi disekat, penyegerakan masa akan gagal, dan perintah ntpq tidak akan menunjukkan status sambungan dengan pelayan.

5. Memverifikasi Operasi ntpd dan Penyelesaian Masalah

Cara Memeriksa Status Perkhidmatan

Untuk mengesahkan bahawa ntpd berjalan dengan betul, gunakan perintah berikut:

sudo systemctl status ntp

Jika ia memaparkan active (running), ntpd beroperasi secara normal. Jika ia menunjukkan inactive atau failed, mungkin terdapat ralat konfigurasi atau isu kebergantungan yang menghalang ia daripada dimulakan.

Untuk memeriksa log secara terperinci, perintah berikut berguna:

journalctl -u ntp

Ini membolehkan anda melihat sejarah permulaan dan mesej ralat perkhidmatan ntpd mengikut susunan kronologi.

Perintah untuk Memeriksa Status Penyegerakan (ntpq -p)

Perintah ntpq -p biasanya digunakan untuk memeriksa sama ada ntpd menyegerakkan dengan pelayan NTP dengan betul.

ntpq -p

Contoh output:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*time.cloudflare. 172.64.250.202  2 u   57   64  377    0.876   -0.012   0.009
+ntp.ubuntu.com   170.247.169.130  2 u   49   64  377    1.234   +0.056   0.015
 stratum2.ntp.br 162.229.5.20    2 u   51   64  377  105.234   -0.123   0.021
 LOCAL(0)        .LOCL.         10 l   --   64    0    0.000    0.000   0.000

Makna setiap lajur adalah seperti berikut:

  • remote : Nama pelayan NTP yang disambungkan
  • st : Stratum pelayan (tahap hierarki), di mana 1 adalah yang paling tepat (contoh: jam atom)
  • reach : Pendaftar shift 8-bit yang menunjukkan sejarah kejayaan lapan percubaan sambungan terakhir
  • delay : Kelewatan pusingan jaringan dalam milisaat (ms)
  • offset : Perbezaan masa antara sistem anda dan pelayan dalam milisaat (ms)
  • jitter : Varians statistik offset sepanjang beberapa sampel

Pelayan yang mempunyai asterisk (*) di permulaan ialah sumber penyegerakan yang dipilih pada masa ini.

Ralat Umum dan Penyelesaiannya

Berikut ialah beberapa ralat umum yang mungkin anda temui semasa melaksanakan ntpd serta penyelesaian yang bersesuaian:

1. Tiada apa‑apa dipaparkan dengan ntpq -p / reach ialah 0

  • Punca : Port UDP 123 mungkin disekat oleh firewall atau penghala.
  • Penyelesaian : Periksa tetapan firewall pada pelayan dan klien untuk memastikan trafik NTP dibenarkan.
    sudo ufw allow 123/udp
    

2. System clock not synchronized dipaparkan

  • Punca : ntpd mungkin tidak berjalan, atau mungkin bertindih dengan perkhidmatan penyegerakan lain (seperti systemd-timesyncd).
  • Penyelesaian : Lumpuhkan sebarang perkhidmatan penyegerakan masa yang tidak diperlukan dan mulakan semula ntpd.
    sudo systemctl disable systemd-timesyncd
    sudo systemctl restart ntp
    

3. Gagal menyelesaikan nama pelayan NTP

  • Punca : Masalah konfigurasi DNS atau rangkaian.
  • Penyelesaian : Periksa sama ada resolusi nama berfungsi (contoh: dengan ping us.pool.ntp.org) dan betulkan tetapan pelayan DNS jika perlu.

4. Masa jauh berbeza tetapi tidak menyegerakkan

  • Punca : ntpd tidak menyesuaikan masa secara automatik jika perbezaannya terlalu besar (untuk alasan keselamatan).
  • Penyelesaian : Tetapkan masa awal secara manual dan kemudian mulakan semula ntpd.
    sudo ntpd -gq  # Perform an immediate synchronization once
    sudo systemctl restart ntp
    

Untuk Pemantauan Berterusan

Dalam persekitaran pengeluaran, adalah bijak untuk menyediakan skrip untuk melog output ntpq -p secara berkala dan mencipta amaran untuk anomali. Menyedari pemutusan mendadak dalam log atau nilai reach yang secara konsisten rendah boleh membantu dalam pengesanan awal isu.

6. Perbandingan ntpd dengan Alat Penyelarasan Masa Lain

Alat Penyelarasan Masa Utama yang Digunakan dalam Ubuntu

Beberapa alat tersedia untuk penyelarasan masa dalam persekitaran Ubuntu. Setiap satu mempunyai ciri-ciri tersendiri, dan pilihan bergantung pada penggunaan yang dimaksudkan dan keperluan sistem. Tiga alat utama adalah:

  • ntpd (ntp package)
  • chrony
  • systemd-timesyncd

Memahami perbezaan antara mereka akan membantu anda memilih kaedah penyelarasan optimum untuk persekitaran anda.

Ciri-ciri ntpd

  • Kelebihan
  • Lama berdiri dan stabil dengan kebolehpercayaan yang sangat tinggi.
  • Kaya dengan ciri dan membenarkan konfigurasi terperinci (penyediaan pelayan NTP lokal, pengesahan, mod simetri, dsb.).
  • Sangat serasi dengan pelayan NTP awam, dengan maklumat penyelesaian masalah yang banyak tersedia.
  • Kekurangan
  • Penyelarasan awal selepas permulaan boleh mengambil masa yang lama kadang-kadang.
  • Keupayaan penyesuaian kepada persekitaran rangkaian moden (virtualisasi, rangkaian boleh ubah) agak rendah.

Ciri-ciri chrony

  • Kelebihan
  • Penyelarasan awal yang cepat, dengan cepat membetulkan perbezaan masa selepas boot.
  • Ketepatan tinggi walaupun dalam mesin maya dan persekitaran rangkaian boleh ubah (laptop, penggunaan VPN).
  • Keupayaan pembelajaran autonomi (meningkatkan ketepatan berdasarkan keadaan sekeliling), sering memberikan ketepatan yang lebih baik daripada ntpd.
  • Kekurangan
  • Konfigurasi untuk beroperasi sebagai pelayan NTP lokal agak lebih kompleks.
  • Dokumentasi dan contoh adalah lebih sedikit berbanding ntpd.

Ciri-ciri systemd-timesyncd

  • Kelebihan
  • Dibenarkan secara lalai dalam Ubuntu 20.04 dan seterusnya, sangat mudah untuk dipasang dan diurus.
  • Ciri penyelarasan minimum dengan penggunaan sumber yang sangat rendah.
  • Integrasi yang baik dengan systemd, menjadikannya mudah digunakan dengan konfigurasi Ubuntu standard.
  • Kekurangan
  • Fungsi terhad, tidak boleh digunakan untuk konfigurasi manual lanjutan atau sebagai pelayan NTP lokal.
  • Ketepatan dan ciri logging adalah asas, tidak sesuai untuk sistem berskala besar.

Jadual Perbandingan Alat (Ringkasan)

Featurentpdchronysystemd-timesyncd
AccuracyHighVery HighNormal
Initial Sync SpeedCan be slowVery FastNormal
Local NTP Server○ (Slightly complex)× (Not possible)
Configuration FlexibilityHighMediumLow
Adaptability to Virtual Environments
Proven Track Record & Information
Recommended Use CasesServers, organizational uniformityVirtual environments, laptopsSingle PCs, beginners

Cadangan mengikut Senario Penggunaan

  • Penggunaan Pelayan (terutamanya persekitaran selalu hidup)ntpd atau chrony disyorkan. Kestabilan dan ketepatan adalah penting.
  • Persekitaran Awan, Mesin Maya, Laptopchrony adalah yang paling fleksibel dan tepat.
  • Penyelarasan Masa Mudah untuk PC Tunggalsystemd-timesyncd adalah mencukupi.

7. Soalan Lazim (FAQ)

Q1. Adakah ntpd dipasang secara lalai pada Ubuntu 22.04?

A1.
Tidak, ntpd tidak dipasang secara lalai pada Ubuntu 22.04. systemd-timesyncd dibenarkan secara lalai untuk penyelarasan masa asas. Untuk menggunakan ntpd, anda perlu memasang pakej ntp secara eksplisit.

sudo apt install ntp

Selepas pemasangan, juga disyorkan untuk melumpuhkan systemd-timesyncd untuk mengelakkan konflik.

Q2. ntpq -p tidak memaparkan dengan betul. Apa yang perlu saya lakukan?

A2.
Beberapa sebab boleh menyebabkan ini:

  • Perkhidmatan tidak berjalan : Semak dengan sudo systemctl status ntp dan mulakan jika perlu.
  • Komunikasi dengan pelayan NTP gagal : Semak jika firewall anda menyekat port UDP 123.
  • Ralat dalam fail konfigurasi : Sahkan bahawa tiada kesilapan taip dalam /etc/ntp.conf .

Pertama, semak operasi asas dengan arahan berikut:

ntpq -p

Jika output kosong atau nilai reach adalah 0, mungkin ada masalah berkomunikasi dengan pelayan luaran.

Q3. Adakah saya patut memilih ntpd atau chrony?

A3.
Alat terbaik bergantung pada persekitaran penggunaan anda:

  • Pelayan fizikal jangka panjang atau membina pelayan NTP tempatanntpd disyorkan kerana kestabilannya.
  • Persekitaran maya, laptop, atau persekitaran rangkaian berubah-ubah (Wi-Fi, dsb.)chrony menawarkan ketepatan dan kelajuan yang lebih tinggi.
  • Penyesuaian masa yang ringkas sudah mencukupisystemd-timesyncd boleh mengendalikan ini dengan mudah.

Q4. Apakah yang dilakukan oleh arahan ntpd -gq?

A4.
ntpd -gq adalah arahan yang melakukan penyegerakan sekali sahaja dengan pelayan NTP dan kemudian keluar serta-merta.

  • -g : Membolehkan lompatan masa yang ketara untuk membetulkan perbezaan besar.
  • -q : Keluar selepas menyegerakkan sekali (tidak berjalan sebagai daemon).

Arahan ini boleh digunakan untuk menetapkan masa yang betul pada awalnya jika jam sistem jauh menyimpang dan tidak dibetulkan oleh perkhidmatan ntpd biasa.

Q5. Adakah faedah dalam menyatakan pelbagai pelayan NTP?

A5.
Ya, menyatakan pelbagai pelayan NTP menyediakan redundansi dan meningkatkan kebolehpercayaan. Jika satu pelayan gagal atau tidak boleh dicapai, sistem anda masih boleh mendapatkan maklumat masa dari pelayan lain, memastikan penyegerakan yang stabil.

Contoh konfigurasi (/etc/ntp.conf):

server us.pool.ntp.org iburst
server time.google.com iburst
server ntp.cloudflare.com iburst

8. Kesimpulan: Tingkatkan Kebolehpercayaan Sistem dengan Penyegerakan Masa yang Stabil

Mengukuhkan Kelebihan ntpd

Dalam sistem Ubuntu, penyegerakan masa yang tepat bukan sahaja perkara kemudahan tetapi elemen penting yang secara langsung mempengaruhi keselamatan, penyelesaian masalah, pengurusan log, dan ketepatan proses automatik.

Artikel ini telah menerangkan secara komprehensif asas NTP (Network Time Protocol), mekanisme penyegerakan masa menggunakan ntpd, kaedah pemasangan, penyesuaian konfigurasi, pengesahan operasi, dan bahkan perbandingan dengan alat lain.

Nasihat untuk Pembaca

Pilihan alat penyegerakan masa mana yang hendak diadopsi dalam Ubuntu bergantung pada tujuan sistem, konfigurasi, dan keperluan ketersediaan.
Walau bagaimanapun, prinsip bahawa “operasi stabil tanpa masa yang tepat adalah mustahil” kekal benar untuk semua persekitaran.

  • Untuk kegunaan pelayan dan apabila pengurusan log penting → Konfigurasi ntpd atau chrony dengan betul.
  • Untuk kegunaan ringkas pada PC tunggalsystemd-timesyncd menawarkan pelaksanaan yang mudah.

Ketepatan penyegerakan masa mungkin tidak dikesan dalam operasi harian, tetapi ia pasti akan menjadi titik rujukan berharga semasa penyelesaian masalah.

Kami menggalakkan anda menggunakan artikel ini sebagai panduan untuk menyediakan mekanisme penyegerakan masa yang optimum untuk persekitaran Ubuntu anda.