Oto dobre porady na forach Ubuntu: http://ubuntuforums.org/showthread.php?t=862620
Rażący makaron-kopia:
HOWTO: Konfigurowanie serwera NTP
W tym samouczku opisano, jak skonfigurować urządzenie jako lokalny serwer Network Time Protocol (NTP) i / lub jak używać demona NTP do regularnego utrzymywania dokładnego czasu systemowego.
Co to jest NTP?
Network Time Protocol (NTP) to protokół zaprojektowany do dokładnej synchronizacji lokalnych zegarów czasu z sieciowymi serwerami czasu. Sieć serwerów czasu NTP jest skonfigurowana w sposób hierarchiczny, dzięki czemu każdy użytkownik może wejść do systemu jako serwer na pewnym poziomie (więcej szczegółów na stronie Wikipedii).
Hierarchia NTP jest podzielona na różne poziomy, zwane warstwami zegarowymi. Najdokładniejszy poziom, Stratum 0, jest zarezerwowany dla zegarów atomowych itp. Następny poziom, Stratum 1, jest zwykle używany przez maszyny sieciowe podłączone lokalnie do zegarów Stratum 0. Warstwa 2 ... 15 to maszyny NTP, które z kolei są połączone z zegarami niższego poziomu i ze sobą.
W tym przewodniku opisano, jak dokładnie synchronizować z maszynami Stratum 1 i 2, a także jak zachować dokładność zegara systemowego przez cały dzień. Zawarto również sekcje na temat tego, jak zezwolić urządzeniu na działanie jako serwer Stratum 2/3 dla innych komputerów w sieci lokalnej.
Czy muszę utworzyć serwer NTP?
Nie ... absolutnie nie! Jeśli jesteś zadowolony z faktu, że zegary w twojej sieci mają jakieś nieznane różnice w stosunku do czasu standardowego (i siebie nawzajem), nie musisz konfigurować serwera NTP. Skonfigurowałem jeden na moim laptopie, aby zsynchronizować wiele maszyn w sieci lokalnej w ciągu <1 ms dla eksperymentu bioinżynierii. Oprócz tego istnieją różne inne zalety, które opisano poniżej.
Motywacja:
Regularnie niezmodyfikowane urządzenia Ubuntu używają ntpdate ( /usr/sbin/ntpdate
) do okresowej synchronizacji zegara z zewnętrznym serwerem czasu. Takie podejście synchronizuje zegar z rozdzielczością kursu (zwykle raz dziennie).
Zegary komputerowe są niedoskonałe i będą dryfować z (poprawnego) serwera czasu w ciągu dnia. Co więcej, prędkości dryfowania w zegarach różnych komputerów różnią się, tak że do końca dnia mogą istnieć znaczące różnice między różnymi maszynami w sieci lokalnej, które mogą zakłócać niektóre operacje (na przykład, kiedykolwiek plik makefile narzeka podczas przenoszenia kodu źródłowego między różne maszyny?).
Możliwe jest lokalne uruchomienie demona NTP na komputerze w sieci. Ma to wiele zalet: po pierwsze, demon NTP stopniowo „uczy się” współczynnika znoszenia komputera lokalnego i może go korygować przez cały dzień. Synchronizacja z serwerami czasu wyższego poziomu odbywa się wiele razy dziennie, a wiele różnych serwerów czasu może być używanych jednocześnie, aby zwiększyć dokładność synchronizacji. W ten sposób demon NTP działa jak dokładny klient czasu, utrzymując zegar systemowy tak blisko czasu standardowego, jak to możliwe.
Oprócz utrzymywania dokładnego zegara systemowego, demon NTP pozwala maszynie w sieci (jeśli chcesz) działać jako serwer czasu NTP. Dzięki temu inne maszyny w sieci lokalnej będą mogły synchronizować się z serwerem czasu LAN w bardzo szybki i dokładny sposób, ponieważ opóźnienie sieci jest zminimalizowane. W ten sposób różnice w zegarkach między maszynami w sieci są minimalne. Mac, a nawet urządzenia Windows mogą również synchronizować się z serwerem NTP, jeśli go skonfigurujesz.
Istnieją inne, mniej osobiste motywacje do skonfigurowania maszyny jako serwera NTP. Po pierwsze, może to zmniejszyć obciążenie serwerów NTP wyższego poziomu, ponieważ inne maszyny w sieci LAN mogą synchronizować się z lokalnie ustanowionym serwerem czasu. Również ntpdate zostało wycofane na korzyść użycia flagi -q dla ntpd (co naśladuje jego funkcjonalność). Dlatego nawet jeśli nie chcesz ciągle uruchamiać ntpd w tle, ntpdate zostanie ostatecznie zastąpione przez ntpd, więc możesz chcieć się z tym teraz zapoznać
Jak zachować dokładny zegar systemowy za pomocą ntpd
- Zainstaluj demona NTP
Najpierw zainstaluj demona NTP (ntpd):
sudo aptitude install ntpd
Jak wspomniano wcześniej, ntpd może działać zarówno jako klient (synchronizujący czas systemowy), jak i jako serwer (zapewniając dokładny czas dla innych komputerów).
Opcjonalnie możesz też chcieć usunąć poprzedni (przestarzały) program do synchronizacji czasu, ntpdate. Być może mądrzej jest to zrobić po tym, jak ntpd działa
sudo aptitude remove ntpdate
- Skonfiguruj poprawnie demona
Plik konfiguracyjny dla ntpd znajduje się w /etc/ntp.conf
. Domyślny plik Ubuntu prawdopodobnie wymaga modyfikacji w celu uzyskania optymalnej wydajności.
Pierwszą sekcją, którą możesz zmodyfikować, jest lista serwerów do synchronizacji. Domyślna sekcja prawdopodobnie wygląda następująco:
# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com
Aby uzyskać jak najdokładniejszy czas, najlepiej jest komunikować się z wieloma różnymi serwerami NTP i utrzymywać je jak najbliżej fizycznej lokalizacji. Istnieje wiele różnych list serwerów online, prawdopodobnie najlepsza znajduje się tutaj. Trwa debata na temat odpowiedniej liczby serwerów do użycia. Jedna jest lepsza od dwóch, a trzy lub więcej jest dobrym pomysłem, o ile nie przesadzisz. Oto przykład kilku używanych przeze mnie serwerów czasu:
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
Po znalezieniu kilku dobrych serwerów dodaj je do listy, wybierając 'iburst'
najbardziej obiecujący. Na przykład:
server nist1-dc.WiTime.net iburst
Spowoduje to, że ntpd bardzo szybko zsynchronizuje się z tym serwerem po uruchomieniu. W przeciwnym razie ntpd będzie powoli dążyć do porozumienia z listą serwerów (co jest jego naturą), a synchronizacja może zająć 15-20 minut wystarczająco dobrze, aby działać jako serwer czasu dla reszty sieci.
Dodaj także kilka dodatkowych wierszy na dole listy serwerów, aby domyślnie podawać bieżący czas lokalny w przypadku tymczasowej utraty połączenia z Internetem:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
Zapobiegnie to wszelkim nieprzyjemnościom, jeśli używasz ntpd na laptopie lub innym komputerze z przerywanymi okresami braku połączenia z Internetem.
Podsumowując, lista serwerów powinna wyglądać podobnie do poniższej (to moja, twoje serwery prawdopodobnie będą inne):
# 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
- Upewnij się, że konfiguracja działa
Teraz, gdy w /etc/ntp.conf
pliku znajduje się odpowiednia lista serwerów , czas uruchomić demona i sprawdzić, czy synchronizujesz poprawnie! Upewnij się, że masz aktywne połączenie internetowe, a następnie uruchom:
sudo /etc/init.d/ntp restart
Następnie monitoruj dziennik systemu, aby zobaczyć, czy synchronizujesz z serwerem czasu:
tail -f /var/log/syslog
Po około 10-15 sekundach (lub do 15-20 minut, jeśli zapomniałeś wstawić „iburst” po ulubionym serwerze), powinieneś zobaczyć w dzienniku systemowym coś takiego:
Jul 17 16:50:22 hostname ntpd[22402]: synchronized to 140.221.9.20, stratum 2
Jeśli ten komunikat nigdy nie pojawia się, oznacza to, że nie została jeszcze poprawnie zsynchronizowana z siecią serwerów NTP. Sprawdź listę partnerów NTP, z którymi się komunikujesz, korzystając z następujących opcji:
ntpq -c lpeer
Jeśli pola „opóźnienie”, „przesunięcie” i „jitter” są niezerowe i nie dokonałeś synchronizacji, prawdopodobnie oznacza to, że musisz tylko chwilę poczekać. Sprawdź ponownie, czy wstawiłeś argument „iburst” do listy serwerów! Dla porównania moi rówieśnicy wyglądają mniej więcej tak:
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
- Dzielić! (opcjonalny)
Po uruchomieniu ntpd i zsynchronizowaniu go z wybranymi serwerami czasu możesz go skonfigurować, aby działał jako serwer czasu dla innych komputerów. Aby to zrobić, dodaj sekcję podobną do następującej /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.
- Synchronizować! (opcjonalny)
Po skonfigurowaniu serwera NTP przy użyciu kroków 1-4 możesz zsynchronizować inne maszyny w sieci z serwerem na różne sposoby. Poniżej kilka z nich:
ntpd:
Jeśli masz ntpd zainstalowany na innym komputerze, możesz użyć pierwszego serwera na liście serwerów pliku ntp.conf lub zsynchronizować go raz z opcją -q w następujący sposób:
ntpd -q [IP address of your server]
ntpdate:
Jeśli nadal masz zainstalowany program ntpdate na innym komputerze, możesz go użyć do synchronizacji z serwerem w następujący sposób:
ntpdate [IP address of your server]
Uwaga: jeśli używasz ntpd na komputerze i z jakiegoś powodu nadal chcesz używać ntpdate do ustawiania czasu, musisz użyć opcji -u.
Windows:
Komputery z systemem Windows używają uproszczonej wersji NTP o nazwie Simple Network Time Protocol (SNTP) i mogą synchronizować się z serwerami NTP. Aby zsynchronizować się z nowym serwerem, kliknij dwukrotnie godzinę i przejdź do zakładki „Internet Time”. Wpisz adres IP swojego serwera w polu „Serwer”. Załączam zrzut ekranu synchronizacji systemu Windows XP z serwerem czasu LAN, jeśli ktoś jest zainteresowany.
Otóż to! Cały proces nie jest trudny, ale może być mylący dla kogoś, kto wcześniej nie miał wiele do czynienia z siecią NTP. Mam nadzieję, że to pomoże! Daj mi znać, jeśli masz problemy z konfiguracją serwera.
Mikrofon
Spinki do mankietów
Uważam, że poniższe linki są pomocne ... ty też możesz!
https://help.ubuntu.com/7.10/server/C/NTP.html
http://linuxwave.blogspot.com/2007/0...tp-server.html
http: //lists.ntp.isc. org / pipermail / q ... er / 011889.html
http://www.linuxhomenetworking.com/w...Fntp.conf_File
http://www.ntp.org/ntpfaq/NTP-a-faq.htm
ntpdate -s a_stratum_1_server_address
aby wymusić natychmiastową synchronizację. następnie na innym (klienckim) komputerze z uruchomionym poleceniem „ntpdate -q your_local_ntp_server” powinien odpowiedzieć czymś podobnym doserver your_local_ntp_server_ip, stratum 2, offset -0.012221, delay 0.02618
Istnieje wiele linków na ten temat i wydaje mi się, że komplikują procedurę. W moim przypadku mam jedną maszynę, która działa jak serwer proxy i zapora ogniowa, a wszystkie inne łączą się z nią za pośrednictwem Internetu. Nie chciałem otwierać portów w zaporze. Dlatego serwer proxy musi być serwerem czasu (ntp) , a pozostałe maszyny ( klienci ) pobierają z niego czas.
Musisz zainstalować ntp na wszystkich komputerach, a także ntpq na wszystkich.
Najpierw sprawdź, czy ntp działa. Domyślnie ntpd (demon ntp) zostanie uruchomiony zaraz po zainstalowaniu, a ustawienia domyślne powinny działać. Jednak ntp nie działa natychmiast, więc poczekaj chwilę. Następnie polecenie:
powinien dać ci wynik, który wygląda mniej więcej tak:
lub:
Jeśli tak, masz połączenie, a Twój serwer czasu otrzymuje czas. Jeśli nie, użyj
aby upewnić się, że ntp działa, i spróbuj ponownie. Spróbuj także zrestartować NTTP:
nawiązanie połączenia może trochę potrwać (przepraszam!). Demon nie sonduje serwerów zbyt często. Kolumna „kiedy” na powyższym wyjściu pokazuje czas w sekundach od odpytywania serwera.
Teraz musisz zmusić serwer czasu do wysyłania czasu do innych maszyn.
Edytuj plik
/etc/ntp.conf
na serwerze. Musisz dodać linię do swojej sieci. W moim przypadku mam sieć 10.0.0.0. W pliku ntp.conf dodałem wiersz:Musisz dodać linię rozgłoszeniową dla każdego segmentu sieci. Jeśli twoja sieć jest prosta jak moja, wystarczy jedna linia jak wyżej. Teraz zrestartuj ntp za pomocą powyższej komendy i sprawdź ponownie za pomocą ntpq, powinieneś zobaczyć:
Voila, to nadaje.
Teraz musisz sprawić, aby każda maszyna klienta otrzymała czas z serwera nadawczego. Na każdym z nich edytuj plik:
i zobaczysz kilka wierszy określających serwery.
dodaj linię
lub jakikolwiek adres twojego serwera. Następnie uruchom ponownie ntp na komputerze klienckim za pomocą powyższego polecenia. Alternatywnie możesz uzyskać identyfikator procesu, po prostu go zabić i uruchomić ponownie. Cokolwiek.
Następnie, po upływie odpowiedniego czasu, sprawdź za pomocą ntpq:
i widać, że klient korzysta z serwera czasu.
To zajmuje trochę czasu.
źródło
ntpdate -s a_stratum_1_server_address
na swoim serwerze NTTP, aby zmusić go do odpytywania i natychmiastowej synchronizacji.Zainstaluj NTP, jeśli nie jest zainstalowany:
Edytuj plik konfiguracyjny , aby umożliwić usłudze NTP odbieranie żądań:
Odkomentuj tę linię:
do:
Uruchom ponownie usługę NTP :
Teraz twój serwer NTP musi działać i pozwolić innym komputerom na synchronizację z twoim. Każdy z powyższych testów, podobnie jak
ntpdate -u YourComputer
powinien, powinien działać poprawnie.źródło