it-swarm-tr.com

Yerel NTP sunucuyu nasıl ayarlarım?

NTP sunucusunu kullanarak kurdum:

Sudo apt-get install ntp

NTP arka plan programı 123 bağlantı noktasında çalışıyor ve dinliyor gibi görünüyor.

Ancak, başka bir makineden zaman alamadım:

Sudo ntpdate -u my_ntp_server
23 Nov 18:48:41 ntpdate[2990]: no server suitable for synchronization found

Yapılması gereken herhangi bir yapılandırma var mı?

15
Khaled

İşte Ubuntu forumlarından iyi bir nasıl yapılır: http://ubuntuforums.org/showthread.php?t=86262

Güzel kokulu makarnalar:

NASIL: Bir NTP Sunucu kurun

Bu öğreticide, makinenizi yerel Ağ Zaman Protokolü (NTP) sunucusu olarak nasıl ayarlayacağınız ve/veya NTP arka plan programının düzenli olarak doğru bir sistem saatini korumak için nasıl kullanılacağı açıklanmaktadır.

NTP nedir?

Ağ Zaman Protokolü (NTP), yerel saat saatlerini ağa bağlı zaman sunucularıyla doğru bir şekilde senkronize etmek için tasarlanmış bir protokoldür. NTP zaman sunucuları ağı, herhangi bir kullanıcının sisteme belirli bir düzeyde sunucu olarak girebileceği şekilde hiyerarşik bir şekilde ayarlanmıştır (daha fazla bilgi için Wikipedia sayfasına bakın).

NTP hiyerarşi saat katmanları olarak adlandırılan farklı düzeylere ayrılmıştır. En doğru seviye, Stratum 0, atomik saatler için ayrılmıştır. Bir sonraki seviye, Stratum 1, genellikle ağa bağlı olarak kullanılır. Stratum 0 saatlerine yerel olarak bağlı makineler Stratum 2 ... 15 NTP, daha düşük seviyeli saatlere ve birbirine bağlı makinelerdir.

Bu kılavuz, Stratum 1 ve 2 makineleriyle doğru bir şekilde nasıl senkronize edileceğini ve gün boyunca sistem saatinin mümkün olduğunca doğru bir şekilde nasıl korunacağını açıklamaktadır. Ayrıca, makinenizin yerel ağınızdaki diğer makineler için bir Stratum 2/3 sunucusu olarak çalışmasına nasıl izin verileceği konusunda bölümler de bulunmaktadır.

NTP sunucu yapmam gerekiyor mu?

Kesinlikle değil! Ağınızdaki standart saatten (ve birbirinden) bilinmeyen bir farkı olan saatlerden memnunsanız, bir NTP sunucu ayarlamanıza gerek yoktur.) Biyomühendislik deneyi için yerel ağdaki birden fazla makineyi <1 ms içinde senkronize etmek için dizüstü bilgisayarımda, ayrıca aşağıda açıklanan çeşitli avantajlar da vardır.

Motivasyon:

Düzenli olarak değiştirilmemiş Ubuntu kutuları ntpdate (/usr/sbin/ntpdate) saati harici bir zaman sunucusuyla periyodik olarak senkronize etmek için. Bu yaklaşım saati bir kurs çözünürlüğü ile senkronize eder (genellikle günde bir kez).

Bilgisayar saatleri kusurludur ve gün boyunca (doğru) zaman sunucusundan kayacaktır. Ayrıca, farklı bilgisayarların saatlerindeki sapma oranları farklıdır, böylece günün sonunda, belirli operasyonlara müdahale edebilecek farklı yerel olarak ağa bağlanmış makineler arasında önemli farklılıklar olabilir (örneğin, kaynak kodu arasında hareket ederken hiç bir şikayette bulunabilirsiniz) farklı makineler?).

NTP arka plan programını ağınızdaki bir makinede yerel olarak çalıştırmak mümkündür, bunun birçok avantajı vardır: ilk olarak, NTP arka plan programı yavaş yavaş “öğrenir” Üst düzey zaman sunucuları ile senkronizasyon günde birden çok kez gerçekleşir ve senkronizasyonu daha doğru hale getirmek için birçok farklı zaman sunucusu aynı anda kullanılabilir. NTP arka plan programı, sistem saatinizi standart saate mümkün olduğunca yakın tutarak doğru bir zaman istemcisi gibi davranır.

Doğru bir sistem saatinin korunmasına ek olarak, NTP arka plan programı ağınızdaki bir makinenin (isterseniz) NTP zaman sunucusu olarak çalışmasına izin verir). Bunu yapmak, yerel ağınızdaki diğer makinelerin ağ gecikme süresinin en aza indirildiği için LAN zaman sunucunuzla çok hızlı ve doğru bir şekilde senkronize olmasını sağlar.Bu şekilde ağınızdaki makineler arasındaki saat farkları mümkün olduğunca minimum tutulur. Mac ve hatta Windows kutuları da bir NTP sunucusuyla ayarlamanız durumunda senkronize edebilir).

Bir makineyi NTP sunucu olarak kurmak için başka, daha az kişisel, motivasyonlar vardır. İlk olarak, bunu yapmak daha yüksek düzeydeki yükü azaltabilir NTP sunucular, LAN'ınızdaki diğer makineler yerel olarak kurulmuş bir zaman sunucusuyla senkronize olabileceğinden, ntpdate, ntpd için -q bayrağını (lehine işlevini taklit eder) kullanma lehine kullanımdan kaldırılmıştır. arka planda, ntpdate sonunda ntpd ile değiştirilecektir, bu yüzden şimdi ona aşina olmak isteyebilirsiniz

ntpd ile Doğru Sistem Saati Nasıl Korunur

  1. NTP arka plan programını yükleyin

İlk olarak, NTP arka plan programını (ntpd) yükleyin:

Sudo aptitude install ntpd

Daha önce de belirtildiği gibi, ntpd hem istemci (sistem saatinizi senkronize etme) hem de sunucu (diğer makineler için doğru zaman sağlama) görevi görebilir.

İsteğe bağlı olarak, önceki (kullanımdan kaldırılmış) zaman senkronizasyon programını (ntpdate) kaldırmak da isteyebilirsiniz. Belki ntpd çalıştıktan sonra bunu yapmak daha akıllıca olabilir

Sudo aptitude remove ntpdate
  1. Daemon'u doğru şekilde yapılandırın

Ntpd için yapılandırma dosyası /etc/ntp.conf. Varsayılan Ubuntu dosyası muhtemelen en iyi performans için bazı değişiklikler gerektirir.

Değiştirmek isteyebileceğiniz ilk bölüm, senkronize edilecek sunucuların listesidir. Varsayılan bölüm muhtemelen aşağıdaki gibi görünür:

# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com

Mümkün olan en doğru zamanı elde etmek için, birden fazla farklı NTP sunucu ile iletişim kurmak ve bunları mümkün olduğunca fiziksel konumunuza yakın tutmak tercih edilir. Çevrimiçi olarak çeşitli farklı sunucu listeleri vardır, muhtemelen en iyisi burada bulunur.Kullanılacak uygun sayıda sunucu üzerinde bazı tartışmalar var.Bir tanesi iki kişiden daha iyidir ve üç ya da daha fazlası muhtemelen çok iyi gitmediğiniz sürece iyi bir fikirdir. kullandığım birkaç zaman sunucusu şöyle:

server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org

Birkaç iyi sunucu bulunduğunda, 'iburst' en umut verici olandan sonra. Örneğin:

server nist1-dc.WiTime.net iburst

Bu, ntpd'nin başlatıldıktan sonra bu sunucu ile çok hızlı eşitlenmesine neden olur. Aksi takdirde, ntpd yavaş yavaş sunucu listesiyle (doğası gibi) anlaşmaya doğru kayma eğilimi gösterir ve ağınızın geri kalanı için bir zaman sunucusu olarak işlev görecek kadar iyi senkronize edilmesi 15-20 dakika sürebilir.

Ayrıca, İnternet bağlantısını geçici olarak kaybetmeniz durumunda, geçerli yerel saatinizi varsayılan olarak sağlamak için sunucu listenizin altına birkaç satır daha ekleyin:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

Bu, ntpd'yi bir dizüstü bilgisayarda veya İnternet'ten kesintili olarak kesilen aralıklarla başka bir makinede çalıştırıyorsanız herhangi bir sıkıntıyı önleyecektir.

Sonuç olarak, sunucu listesi aşağıdakine benzer olmalıdır (bu benim, sunucularınız muhtemelen farklı olacaktır):

# You do need to talk to an NTP server or two (or three).
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
server 127.127.1.0
fudge 127.127.1.0 stratum 10
  1. Yapılandırmanın çalıştığından emin olun

Artık /etc/ntp.conf dosyası, arka plan programı çalıştırmak ve düzgün senkronize olup olmadığını görmek için zamanı! Etkin bir İnternet bağlantınız olduğundan emin olun ve çalıştırın:

Sudo /etc/init.d/ntp restart

Ardından, bir zaman sunucusuyla senkronize edilip edilmediğinizi görmek için sistem günlüğünüzü izleyin:

tail -f /var/log/syslog

Yaklaşık 10-15 saniye içinde (veya favori sunucunuzdan sonra 'iburst' koymayı unuttuysanız 15-20 dakikaya kadar), sistem günlüğünüzde aşağıdakine benzer bir şey görmelisiniz:

Jul 17 16:50:22 hostname ntpd[22402]: synchronized to 140.221.9.20, stratum 2

Bu mesaj hiçbir zaman gelmezse, NTP sunucu ağı ile henüz doğru bir şekilde senkronize olmadınız. Aşağıdakileri kullanarak iletişim kurduğunuz = NTP eşlerin) listesini kontrol edin:

ntpq -c lpeer

'Gecikme', 'ofset' ve 'titreşim' alanları sıfırdan farklıysa ve senkronize edilmediyseniz, muhtemelen bir süre beklemeniz gerektiği anlamına gelir. 'İburst' argümanını sunucu listenize eklediğinizi tekrar kontrol edin! Referanslarım, referans olarak, aşağıdaki gibi bir şeye benziyor:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*milo.mcs.anl.go 192.5.41.40      2 u    4   64   77   46.213   67.753   2.207
-europium.canoni 193.79.237.14    2 u   63   64   37   97.375   71.020   1.875
-dtype.org       69.25.96.13      2 u    2   64   77   86.956   69.178   1.804
+smtp130.junkema 216.218.254.202  2 u    2   64   77   87.266   67.677   0.916
+kechara.flame.o 216.218.254.202  2 u    -   64   77   89.183   68.717   1.713
-Host2.kingrst.c 99.150.184.201   2 u    -   64   77   24.306   62.121   2.608
 LOCAL(0)        .LOCL.          10 l   59   64   37    0.000    0.000   0.002
  1. Paylaş! (isteğe bağlı)

Ntpd çalıştıktan ve seçtiğiniz zaman sunucularıyla senkronize edildikten sonra, diğer makineler için zaman sunucusu olarak çalışmak üzere ayarlayabilirsiniz. Bunu yapmak için /etc/ntp.conf:

# Allow LAN machines to synchronize with this ntp server
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
You may add as many (or few) CIDR address blocks to allow to synchronize with your machine as you'd like. I included those commonly used with Linksys (192.168.1.*) and SMC (192.168.2.*) routers.
  1. Senkronize! (isteğe bağlı)

1-4. Adımları kullanarak bir NTP sunucu kurduktan sonra, ağınızdaki diğer makineleri sunucunuzla çeşitli şekillerde senkronize edebilirsiniz.

ntpd:

Başka bir makineye ntpd yüklüyse, ntp.conf dosyanızın sunucular listesindeki ilk sunucunuzu kullanabilir veya bir kez -q seçeneğiyle aşağıdaki gibi senkronize edebilirsiniz:

ntpd -q [IP address of your server]

ntpdate:

Hala başka bir makineye ntpdate yüklüyse, sunucunuzla aşağıdaki gibi senkronize etmek için kullanabilirsiniz:

ntpdate [IP address of your server]

Not: Bir makinede ntpd çalıştırıyorsanız ve herhangi bir nedenle hala zamanı ayarlamak için ntpdate kullanmak istiyorsanız, -u seçeneğini kullanmanız gerekir.

Pencereler:

Windows makineleri basitleştirilmiş bir NTP Basit Ağ Zaman Protokolü (SNTP) olarak adlandırılır) sürümünü kullanır ve NTP sunucularla senkronize edebilir. Yeni sunucunuzla senkronize etmek için) , çift tıklayın ve "İnternet Saati" sekmesine gidin Sunucunuzun IP adresini "Sunucu" alanına koyun. Windows XP ile senkronizasyon LAN zaman sunucusu, herkes ilgilenmelidir.

Bu kadar! Tüm süreç zor değil, ancak daha önce NTP ağ ile çok uğraşmamış biri için kafa karıştırıcı olabilir. Umarım bu yardımcı olur! sunucusu.

Mikrofon

Bağlantılar

Aşağıdaki bağlantıları yararlı buldum ... sen de olabilir!

https://help.ubuntu.com/7.10/server/C/NTP.htmlhttp://linuxwave.blogspot.com/2007/0...tp-server. htmlhttp://lists.ntp.isc.org/pipermail/q...er/011889.htmlhttp://www.linuxhomenetworking.com/w. ..Fntp.conf_Filehttp://www.ntp.org/ntpfaq/NTP-a-faq.htm

20
RobotHumans

Bununla ilgili birçok bağlantı var ve bana öyle geliyor ki prosedürü karmaşıklaştırıyorlar. Benim durumumda, bir proxy sunucusu ve bir güvenlik duvarı gibi davranan bir makinem var ve diğer tüm bilgisayarlarım internet üzerinden bu ağa bağlanıyor. Güvenlik duvarındaki bağlantı noktalarını açmak istemedim. Bu nedenle proxy sunucusunun saat (ntp) sunuc olması ve diğer makinelerin (istemciler) zamanı alması gerekir.

Tüm makinelere ntp yüklemeniz ve hepsine de ntpq yüklemeniz gerekir.

İlk olarak ntp'nin çalışıp çalışmadığına bakın. Varsayılan olarak, ntpd (ntp arka plan programı) yüklenir kurulmaz çalışır ve varsayılan değerlerin çalışması gerekir. Ancak, ntp anında çalışmaz, bu yüzden bir süre bekleyin. Ardından, komut:

ntpq -c lpeer

size şuna benzer bir çıktı vermelidir:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+golem.canonical 193.79.237.14    2 u  170 1024  377  140.458   -0.655   3.234
*gatekeeper.tss. 204.123.2.72     2 u  608 1024  377   84.650    2.168   0.471

veya:

ntpq --numeric --peers

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+91.189.89.199   193.79.237.14    2 u  652 1024  377  140.151   -0.242   2.821
*66.7.96.1       204.123.2.72     2 u   64 1024  377   85.074    2.409   0.963

Öyleyse, bağlandınız ve zaman sunucunuz zamanı alıyor. Değilse, kullanın

ps -e | grep "ntp" 

ntp'nin çalıştığından emin olmak için tekrar deneyin. Ayrıca ntp'yi yeniden başlatmayı deneyin:

Sudo /etc/init.d/ntp restart

bağlantının kurulması biraz zaman alabilir (özür dileriz!). Daemon sunucuları çok sık yoklamaz. Yukarıdaki çıktıdaki "ne zaman" sütunu, sunucunun çağrılmasından bu yana geçen süreyi saniye cinsinden gösterir.

Şimdi, zaman sunucusunun zamanı diğer makinelerinize göndermesini sağlamalısınız.

/etc/ntp.conf sunucuda. Ağınız için bir satır eklemelisiniz. Benim durumumda 10.0.0.0 ağım var. Ntp.conf dosyasında satırı ekledim:

broadcast 10.255.255.255

Ağınızın her bir segmenti için bir yayın satırı eklemelisiniz. Ağınız benimki gibi basitse, yukarıdaki gibi bir satır ihtiyacınız olan tek şeydir. Şimdi, yukarıdaki komutu kullanarak ntp'yi yeniden başlatın ve ntpq kullanarak tekrar kontrol edin, şunu görmelisiniz:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+golem.canonical 193.79.237.14    2 u   70 1024  377  140.151   -0.242   2.821
*gatekeeper.tss. 204.123.2.72     2 u  506 1024  377   84.650    2.168   0.241
 10.255.255.255  .BCST.          16 u    -   64    0    0.000    0.000   0.002

Voila, yayın yapıyor.

Şimdi, her istemci makinenin yayın sunucunuzdan zamanı almasını sağlamalısınız. Her birinde dosyayı düzenleyin:

/etc/ntp.conf

ve sunucuları belirten bazı satırlar göreceksiniz.

satır ekle

server 10.10.10.1

veya sunucunuzun adresi ne olursa olsun. Sonra yukarıdaki komutu kullanarak istemci makinede ntp'yi yeniden başlatın. Alternatif olarak, işlem kimliğini alıp öldürebilir ve yeniden çalıştırabilirsiniz. Her neyse.

Ardından, yeterli süre geçtikten sonra ntpq ile kontrol edin:

ntpq --numeric --peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*10.10.10.1      66.7.96.1        3 u  123 1024  377    0.430    1.022   1.831

ve istemcinin zaman sunucusunu kullandığını görebilirsiniz.

Bu biraz zaman alıyor.

5
Wastrel

Kabul edilen cevap (Temmuz 2018'de olduğu gibi) benim için işe yaramadı. Bu diğer yöntem Temmuz 2018'de buntu 16.04 LTS üzerinde iyi çalıştı:

NTP'yi yükle yüklü değilse:

Sudo apt-get update
Sudo apt-get install ntp

Yapılandırmayı düzenle dosya NTP hizmetinin istek almasına izin verin:

Sudo nano /etc/ntp.conf --syntax=sh

Bu satırı kaldır:

# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
# broadcast 192.168.111.255

için:

# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
broadcast 192.168.111.255

NTP'yi yeniden başlat hizmet:

Sudo /etc/init.d/ntp restart

Şimdi NTP sunucunuz çalışıyor olmalıdır ve başka bilgisayarların kendinizle senkronize olmasına izin verin. Yukarıdaki testlerden herhangi biri, örneğin ntpdate -u YourComputer düzgün çalışmalıdır.

1