Server NTP lokal atau publik?

11

Untuk jaringan yang relatif besar (ribuan host) - apa argumen untuk dan tidak menjalankan server NTP yang dikelola secara lokal (mungkin secara berkala ditetapkan melalui beberapa server NTP publik) dan memiliki semua host lain pada penggunaan jaringan bahwa (kumpulan) server NTP versus memiliki semua host cukup menggunakan server NTP publik secara langsung, katakanlah melalui ntp.pool.org?

Selain pro dan kontra, Apa praktik terbaik khas hari ini?

BeeOnRope
sumber
pekerjaan rumah? Sepertinya admin jaringan untuk jaringan dengan ribuan host sudah akan menggunakan NTP.
JamesBarnett
2
Pertanyaannya bukan apakah harus menggunakan NTP, apakah akan mempertahankan NTP Anda sendiri atau menggunakan yang publik.
Ian Varley
Hah, sudah lama sejak saya memiliki pekerjaan rumah :) Saya bukan admin jaringan pribadi dengan ribuan host - tetapi pertanyaan muncul dan saya tertarik dengan praktik terbaik yang ada.
BeeOnRope

Jawaban:

12

Praktik terbaik adalah menjalankan kumpulan server NTP Anda sendiri yang diatur untuk disinkronkan dari server NTP publik. Jika organisasi Anda kehilangan akses internet, Anda tidak ingin jam Anda menjadi miring. Lebih jauh, tidak sopan untuk mengatur ribuan host ke server publik ketika Anda dapat (dan seharusnya) mengoperasikan mirror.

Terakhir, jika Anda memiliki persyaratan komputasi yang aman, maka Anda harus mengoperasikan host NTP independen Anda sendiri. Anda akan memerlukan perangkat keras khusus agar sistem ini dapat beroperasi.

EDIT: Karena ada diskusi tentang itu, berikut adalah beberapa perangkat keras:

Perangkat keras yang mendukung PPS tampaknya berfungsi pada ntpd modern . Ini termasuk beberapa unit GPS, meskipun ini tampaknya jarang, setidaknya jarang seperti unit GPS serial saat ini. Namun, ada perangkat keras yang dijual secara eksplisit untuk fungsi ini, termasuk satu produk yang disebut TSync-PCIe. Menurut situs pabrikan:

TSync-PCIe menawarkan beberapa konfigurasi paket reader / generator kode waktu yang disinkronkan yang menawarkan fleksibilitas dan integrasi yang mudah dari pengaturan waktu yang tepat ke dalam aplikasi komputasi tertanam. Pilih dari sinkronisasi ke IRIG (dan kode waktu serupa lainnya), GPS (penerima internal atau eksternal), atau Precise Time Protocol (PTP / IEEE-1588v2). - Tautan Situs: http://i564f.6o.to

ewindisch
sumber
1
+1 untuk menyebutkan jam perangkat keras. Ada petunjuk di internet untuk menghubungkan Garmin 18 LVC murah ke kotak Linux untuk membuat sumber Stratum 0 Anda sendiri.
Chris S
Meskipun semua instruksi itu tampaknya melibatkan melakukan peretasan perangkat keras Anda sendiri untuk membangun sebuah antarmuka.
Phil Hollenback
@Phil, orang yang mencari sumber strata 0 GPS murah mungkin bersedia melakukan sedikit peretasan perangkat keras. Jika Anda menginginkan sesuatu yang mudah, keluarkan uang untuk itu seperti orang lain.
Chris S
Ya sepertinya tugas yang cukup sederhana untuk mendapatkan kode waktu dari perangkat gps jadi saya akan dengan naif menganggap itu akan menjadi koneksi yang sederhana.
Phil Hollenback
8

Bahkan pada jaringan kecil saya menggunakan layanan NTP lokal, yang dengan sendirinya memperbarui dari yang eksternal. Salah satu alasannya murni historis, sejak ketika satu-satunya koneksi ke Internet adalah melalui modem dial-up. Yang lain adalah bahwa jika layanan NTP salah karena alasan apa pun saya lebih suka semua mesin tetap konsisten, yang lebih mungkin terjadi jika semuanya diperbarui dari satu sumber.

John Gardeniers
sumber
Ini jalannya imho. Walaupun memiliki waktu yang 'benar' jelas merupakan hal yang baik, sebenarnya bisa lebih penting bagi perangkat pada LAN untuk memiliki waktu yang konsisten di antara mereka meskipun berbeda dari waktu yang tepat. Hal-hal seperti otentikasi Kerberos akan gagal jika waktu tidak disinkronkan antara server dan klien, dan waktu yang konsisten mungkin penting untuk hal-hal seperti pemantauan log, catatan CCTV (misalnya kamera dan PVR keduanya akan menambah stempel waktu), dll.
Rob Moir
7

Praktik terbaik, setup 2 (atau lebih) host NTP di lokasi Anda, teliti mereka. Minta mereka melakukan sinkronisasi terhadap setidaknya 4 (lebih disukai, hingga 8) server eksternal dari 0.pool.ntp.org ke 3.pool.ntp.org. Jika Anda menggunakan lebih dari 4 Anda harus menyesuaikan frekuensi mereka melakukan polling terhadap anggota kumpulan.

Ini versi ntp.conf saya yang telah diedit:

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall

Anda dapat menghilangkan argumen minpoll dan maxpoll, saya menambahkannya jadi saya sedikit lebih ringan di server tersebut. Nilainya 2 ^ n detik, di mana n adalah argumen; nilai-nilai itu lebih tinggi daripada nilai standarnya (6 & 10) karena saya sudah memilih 12 server yang berbeda di antara ketiga host NTP saya.

Jika Anda sangat mementingkan akurasi, Anda dapat menambahkan yang berikut juga:

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

Ini akan polling jam atom angkatan laut. Perhatikan waktu jajak pendapat yang tinggi karena mereka cukup banyak dimuat dan meminta orang untuk santai di server mereka (sebenarnya adalah cluster 3 node).

Chris S
sumber
Apa yang terjadi dengan ini jika server NTP eksternal tidak sinkron?
Warren Dew
1. Itu tidak terjadi atau setidaknya tidak pada skala yang penting. 2. Tergantung pada apa yang sebenarnya "tidak sinkron" dan seberapa banyak. Jika satu server eksternal jauh, itu tidak akan digunakan. Peluang keempatnya dalam jumlah yang gila sangat kecil. Jika Anda khawatir dengan keakuratan, gunakan USNO server cluster, jitter yang rendah akan membuat waktu lebih disukai.
Chris S
3

Seperti yang disebutkan orang lain, bagi ribuan host internal, menyediakan server waktu Anda sendiri adalah cara yang tepat. Untuk alasan seperti (seperti yang telah disebutkan):

  • struktur: konfigurasikan pengaturan waktu sesuai pilihan Anda; dengan sumber strata 1 sebanyak mungkin
  • robustness: konfigurasikan sistem ntp agar kuat sesuai kebutuhan; menggunakan sumber clock sendiri (GPS) dan / atau sumber NTP dengan rute yang berbeda
  • kesopanan: pertimbangan baik untuk menampung organisasi dari sumber waktu eksternal; lebih sedikit beban untuk mereka
  • kinerja: membatasi lalu lintas jaringan NTP eksternal ke beberapa host (masalah kecil)
  • keamanan: membatasi lalu lintas jaringan NTP secara eksternal ke beberapa host yang diperkeras

Sejauh praktik terbaik:

Dari http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm , berikut adalah struktur yang disarankan untuk sumber hanya NTP.

 1a  1b     1c  1d     1e  1f      outside
. \ / ...... \ / ...... \ / ..............
   2a ---p--- 2b ---p--- 2c        inside
  /|\        /|\        /|\
 / | \      / | \      / | \
3a 3b 3c   3e 3f 3g   3h 3i 3j

Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer

Informasi tambahan untuk menyiapkan server NTP adalah dari http://www.pool.ntp.org/join/configuration.html . Contohnya adalah:

  • Setup sekitar 5 server
  • Gunakan ntpd standar
  • Jangan gunakan driver jam LOCAL
  • gunakan sumber waktu NTP yang secara geografis / jaringan paling dekat dengan Anda dan angka strata rendah
Lars Nordin
sumber
Catat komentar setelah entri di FAQ yang tidak diinginkan untuk memiliki server strata 3 bergantung pada server strata 2 tunggal. Jadi daripada mengikuti diagram di atas dengan tepat, harus ada garis dari setiap server stratum 3 ke setiap server stratum 2.
Paul Gear
1

Saya pikir sebagian besar jaringan besar menggunakan kumpulan kecil server ntp internal khusus. lalu lintas ntp cukup ringan sehingga Anda mungkin tidak perlu banyak server untuk melayani organisasi besar.

Seperti halnya semua layanan jaringan, keuntungan menjalankan server ntp Anda sendiri adalah Anda mendapatkan lebih banyak kontrol dan dapat membuat lebih banyak keputusan. Misalnya, jika Anda kehilangan konektivitas jaringan ke dunia luar, mesin Anda dapat terus berbicara dengan server ntp internal Anda dan Anda tidak perlu khawatir mereka semua harus terhubung kembali ke server eksternal.

Jika Anda memiliki ribuan server, Anda juga harus mempertimbangkan menjalankan server waktu khusus Anda, misalnya dari perangkat gps atau melalui jam atom khusus . Saya tidak yakin berapa biayanya akhir-akhir ini tetapi tidak bisa mahal dibandingkan dengan ribuan sistem yang sudah Anda dukung .. Kemudian Anda memiliki layanan waktu yang akurat yang sepenuhnya independen dari koneksi Anda ke dunia luar.

Hal lain yang perlu dipertimbangkan adalah menjalankan server ntp Anda sendiri lebih sopan. Dengan begitu, Anda hanya memiliki beberapa mesin yang membuat permintaan eksternal yang bertentangan dengan ribuan. Saya yakin admin dari server ntp yang dapat diakses publik di luar sana akan menghargai itu. Plus itu akan mengurangi lalu lintas jaringan eksternal Anda sedikit (sangat sedikit) yang mungkin merupakan hal yang baik.

Juga jika Anda menjalankan server ntp Anda sendiri, Anda dapat sedikit memperketat firewall Anda karena hanya beberapa mesin yang terhubung ke luar pada port 123 bukannya banyak mesin. Itu mungkin berguna.

ntp mudah diatur dan sekali Anda menjalankannya membutuhkan sedikit perawatan. Setiap perusahaan yang pernah saya libatkan telah menyiapkan server ntp sendiri dan itu berfungsi dengan baik.

Phil Hollenback
sumber
0

Praktik terbaik dalam hal ini adalah menjalankan server NTP Anda sendiri - atau kumpulan yang diperlukan - dan menarik dari kumpulan NTP terdekat Anda secara geografis. Ini mengurangi beban yang harus ditanggung publik yang menghadapi server NTP tetapi masih akan memberi Anda akurasi tinggi. Jika Anda membutuhkan akurasi yang lebih besar, Anda dapat menarik dari server Stratum 1, tetapi hal itu meningkatkan beban yang harus ditanggung oleh pool, sehingga Anda hanya perlu melakukan ini jika Anda ingin berkontribusi server ke pool.

Ahli menulis
sumber
0

Alasan yang baik untuk menjalankan server NTP Anda sendiri di jaringan besar adalah memastikan semua mesin Anda menyetujui waktu yang tepat. Memiliki banyak sistem dengan pengaturannya sendiri untuk server waktu eksternal (atau semuanya menggunakan anggota pool.ntp.org yang berbeda) dapat menyebabkan perbedaan kecil dalam waktu pada sistem yang dapat menyebabkan masalah.

Alasan bagus lainnya adalah memiliki server NTP Anda sendiri berarti waktu yang disinkronkan akan tetap tersedia dari beberapa server (dimonitor!) Ketika tautan luar turun atau jenuh dengan lalu lintas.

Semua pendapat saya sebagai timegeek.

Koos van den Hout
sumber