телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Инсталиране и конфигуриране на NTP клиент на Linux. Пример за настройка на локален NTP сървър за работа с NetPing устройства Настройване на NTP сървър в локална Linux мрежа

Примери за приложение

08.12.2014

За да синхронизирате времето, устройствата NetPing използват NTP протокол. Използвайки този протокол, всички устройства в мрежата настройват времето си според посочения сървър. NetPing устройствата, свързани към интернет, могат да използват публичен NTP сървър, както се препоръчва в статия. Ако няма достъп до интернет, тогава можете да настроите локален NTP сървър. Такъв сървър може да бъде всеки компютър с операционна система Windows с конфигурирана услуга W32 ВремеУслуга за време на Windows "). Тази услуга няма графичен интерфейс и се конфигурира или чрез командния ред, или чрез редактиране на ключове в системния регистър.

Инструкции за настройка на NTP сървър на Windows 7/8/2008/2012

Нека да разгледаме настройката на услуга за време чрез редактиране на регистъра. Настройката е същата за Windows версии 7/8, Windows сървър 2008, Windows Server 2012.

За тази настройка трябва да имате администраторски права на Windows OS.

Отворете редактора на системния регистър или през диалоговия прозорец „ Изпълни", причинено от клавишната комбинация " Печеля» + « Р", или чрез формата за търсене, където пишем " regedit».


В редактора, който се отваря, в лявото дървовидно меню отворете „клона“ „ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer", където търсим ключа с името " Активирайте" Щракнете с десния бутон и изберете „Редактиране“. Променете стойността на ключа от 0 На 1 .


С промяната на този параметър ние посочихме, че този компютър действа като NTP сървър. Компютърът едновременно остава клиент и може да синхронизира времето си с други сървъри в Интернет или локална мрежа. Ако искате вътрешният хардуерен часовник да действа като източник на данни, променете стойността на ключовия параметърAnnounceFlagsНа 5 в темата " HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config».


За да влязат в сила промените, трябва да рестартираме услугата. Достъпът до услугите се осъществява чрез " Контролен панел» от менюто « Започнете» -> « Контролен панел» -> « Администрация» -> « Услуги" Намира се и във формата за търсене, когато въведете „ услуги.msc" В списъка с услуги, който се появява, намираме тази, която ни интересува „ Услуга за време на Windows" и през менюто, извикано с десния бутон на мишката, изберете елемента " Рестартирам».

Понякога часовникът на вашия компютър с Ubuntu се обърква, започва да изостава или да бърза. Въпреки че тази ситуация не е критична, тя е много неприятна и може да има катастрофални последици, вариращи от объркване в регистрационните файлове поради неяснота във времето до закъснение за среща, защото сте се доверили на грешен часовник. Освен това точното време е важно за правилната работа на някои програми, като анонимизатора Tor.

За щастие това не се случва много често и обикновено е свързано с такива нестандартни действия като зареждане операционна системаизползване на различни алгоритми за съхраняване на времето на компютъра или нулиране на паметта на BIOS, Но това не означава, че не е нужно да правите нищо, можете да настроите локална синхронизация на времето през интернет, това е доста удобно нещо, ако често нулирате часовник и ги мързи да го настройват всеки път. В Ubuntu това се прави с помощта на услугата NTP и демона ntpd. Това са тези, които ще бъдат обсъдени в тази статия.

Първо, малко за това как да видите часа от терминала в Ubuntu. За да разберете текущия час, изпълнете командата:

За да видите данните във формат UTC, въведете:

Нека да разберем колко изостава нашето време в Ubuntu от референтното:

sudo ntpdate -q ntp.ubuntu.com

Има много теория по-долу, ако сте дошли тук само за инструкции за инсталиране, не се колебайте да превъртите надолу. UTC означава Coordinated Universal Time, тоест координирано универсално време. Това е стандартът за време Гринуич, еднакъв за целия свят и се съхранява в този вид Системно времев Linux, включително Ubuntu, и корекцията за часови зони вече е добавена локално за всеки потребител. Ето къде се крие причината за пропуските във времето използвайки Windowsи Unix.

Както вече казах, Ubuntu съхранява времето във формат UTC, докато Windows използва локалния формат за това с добавяне на часова зона. Всеки път, когато компютърът се изключва или рестартира, операционната система съхранява стойността на таймера си в таймера на BIOS и когато се стартира, я чете от там.

И се оказа, че Microsoft OS съхранява местно време, но Ubuntu си мисли, че е UTC... разбрахте ли вече какво се случва? Точно така, колкото повече такива рестартирания, толкова повече времето ще се различава от реалното. Но вече се отклоних от темата. Тук няма да ви казвам как да настроите алгоритми за синхронизация и в двете системи; днешната ми цел е синхронизиране на времето в Ubuntu.

Инсталиране на NTP на Ubuntu

Помощната програма ntpdate за синхронизиране на времето идва с ubuntu и се стартира автоматично при стартиране. Ако искате да синхронизирате времето сега, стартирайте в терминала:

ntpdate -s ntp.ubuntu.com

ntpd услуга в стандартно оборудванене е включен, неговата задача е постоянно да следи системния часовник и да коригира евентуални отклонения. За да инсталирате ntpd, въведете:

sudo apt-get инсталирайте ntp

За да стартирате демона, въведете:

sudo услуга ntp стартиране

И да добавите към стартирането:

sudo rc-update добавяне на ntp по подразбиране

Можете да конфигурирате сървърите, с които нашият Ubuntu ще проверява във файла /etc/ntp.conf. Форматът на запис е адресът на сървъра, например стандартната конфигурация:

# Използвайте сървъри от NTP Pool Project. Одобрено от Техническия съвет на Ubuntu
# на 2011-02-08 (LP: #104525). Вижте http://www.pool.ntp.org/join.html за
#повече информация.
сървър 0.ubuntu.pool.ntp.org
сървър 1.ubuntu.pool.ntp.org
сървър 2.ubuntu.pool.ntp.org
сървър 3.ubuntu.pool.ntp.org

След като редактирате конфигурацията, не забравяйте да рестартирате услугата:

sudo service ntp рестартиране

Разрешаване на проблем

Услугата за синхронизация използва порт 123 за свързване със сървъра, така че ако използвате защитна стена, достъпът до тези портове може да бъде блокиран, трябва да разрешите достъп, като добавите следните правила:

iptables -A изход -p udp -s 192.168.1.1 --sport 1024:65535 -d 0/0 --dport 123 -m състояние --state НОВО, УСТАНОВЕНО -j ПРИЕМАНЕ

iptables -A input -p udp -s 0/0 --sport 123 -d 192.168.1.1 --dport 1024:65535 -m състояние --state ESTABLISHED -j ПРИЕМАНЕ

Сега часовникът на вашия компютър винаги ще бъде точен.


операционна система Семейство Windowsсъдържа услугата за време W32Time. Тази услуга е предназначена за синхронизиране на времето в организацията. W32Time отговаря за работата както на клиентската, така и на сървърната част на услугата за време и един и същ компютър може да бъде едновременно клиент и NTP (Network Time Protocol) сървър.

По подразбиране услугата за време на Windows е конфигурирана, както следва:

При инсталиране на операционна зала Windows системистартира NTP клиент, който се синхронизира с външен източниквреме;

Когато добавите компютър към домейн, типът на синхронизация се променя. Всички клиентски компютри и членски сървъри в домейна използват домейн контролер за синхронизиране на времето, което проверява тяхната автентичност;

Когато членски сървър е повишен в домейн контролер, на него се стартира NTP сървър, който използва контролер с ролята на PDC емулатор като източник на време;

PDC емулаторът, разположен в основния домейн на гората, е основният сървър за време за цялата организация. В същото време самият той също е синхронизиран с външен източник на време.

Тази схема работи в повечето случаи и не изисква намеса. Въпреки това, структурата на услугата за време в Windows може да не следва йерархията на домейна и всеки компютър може да бъде определен като надежден източник на време.

Като пример, нека да разгледаме настройката на NTP сървър в Windows Server 2008 R2; по аналогия можете да настроите NTP сървър в Windows 7.

Стартиране на NTP сървъра

Времевата услуга на Windows Server няма GUIи може да се конфигурира от двете командна линия, или чрез директно редактиране системен регистър. Нека разгледаме втория метод:

NTP сървърът трябва да бъде стартиран. Отворете клона на регистъра:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.

За да активирате NTP сървъра, параметърът Enabled трябва да бъде зададен на 1. След това рестартираме услугата за време с командата net stop w32time && net start w32time.

След рестартиране на NTP услугата сървърът вече е активен и може да обслужва клиенти. Можете да проверите това с помощта на командата w32tm /query /configuration. Тази команда извежда пълен списъксервизни параметри. Ако секцията NtpServer съдържа реда Enabled:1, тогава всичко е наред, сървърът за време работи.

За да може NTP сървърът да обслужва клиенти, защитната стена трябва да отвори UDP порт 123 за входящ и изходящ трафик.

Основни настройки на NTP сървъра

Отворете клона на регистъра:

HKLM\System\CurrentControlSet\services\W32Time\Parameters.

NoSync - NTP сървърът не е синхронизиран с външен източник на време. Използва се системният часовник, вграден в CMOS чипа на самия сървър (от своя страна този часовник може да се синхронизира от NMEA източник през RS-232 например);

NTP - NTP сървърът се синхронизира с външни сървъри за време, които са посочени в параметъра на регистъра NtpServer;

NT5DS - NTP сървърът се синхронизира според йерархията на домейна;

AllSync - NTP сървърът използва всички налични източници за синхронизация.

Стойността по подразбиране за компютър, който е част от домейн, е NT5DS, за отделно стоящ компютър- NTP.

Параметърът NtpServer указва NTP сървърите, с които ще се синхронизира времето този сървър. По подразбиране този параметър съдържа NTP сървъра на Microsoft (time.windows.com, 0×1); ако е необходимо, можете да добавите още няколко NTP сървъра, като въведете техните DNS имена или IP адреси, разделени с интервал. В края на всяко име можете да добавите флаг (напр. 0×1), който определя режима за синхронизация със сървъра за време.

Разрешени са следните стойности на режима:

0×1 - SpecialInterval, използване на времеви интервал за запитване;

0×2 – режим UseAsFallbackOnly;

0×4 – SymmetricActive, симетричен активен режим;

0×8 – Клиент, изпращащ заявка в клиентски режим.

Друга важна настройка на AnnounceFlags се намира в ключа на системния регистър:

HKLM\System\CurrentControlSet\services\W32Time\Config.

Той отговаря за начина, по който NTP сървърът се обявява. За да декларирате членски сървър (не домейн контролер) като надежден източник на време, е необходим флаг 5.

Ако сървърът, който се конфигурира, на свой ред е NTP клиент (получава време от GPS приемник чрез NTP, например), можете да конфигурирате интервала между актуализациите. Този параметър може да е подходящ и за клиентски компютри. Ключът SpecialPollInterval, намиращ се в клона на системния регистър, отговаря за времето за актуализиране:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient.

Посочва се в секунди и по подразбиране стойността му е 604800, което е 1 седмица. Много е, значи Струва си да намалите стойността на SpecialPollInterval до разумна стойност - 1 час (3600).

След конфигурирането трябва да актуализирате конфигурацията на услугата. Това може да стане с командата w32tm /config /update.


И още няколко команди за конфигуриране, наблюдение и диагностика на услугата за време:

w32tm /monitor – с помощта на тази опция можете да разберете колко системно време на този компютърразлично от времето на домейн контролера или други компютри. Например: w32tm/монитор/компютри:time.nist.gov

w32tm /resync - с помощта на тази команда можете да принудите компютъра да се синхронизира със сървъра за време, който използва.

w32tm /stripchart – показва разликата във времето между текущия и отдалечен компютър. Екип w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonlyще направи 5 сравнения с посочения източник и ще покаже резултата в текстов вид.


w32tm /config е основната команда, използвана за конфигуриране на NTP услугата. С негова помощ можете да зададете списъка на използваните сървъри за време, вида на синхронизацията и много други. Например, можете да замените стойностите по подразбиране и да настроите синхронизиране на времето с външен източник с помощта на командата w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update


w32tm /query - показва текущите настройки на услугата. Например командата w32tm /query /source ще покаже текущия източник на време, а w32tm /query /configuration ще покаже всички параметри на услугата.

net stop w32time - спира услугата за време, ако работи.

w32tm /unregister - премахва услугата за време от компютъра.

w32tm /register – регистрира услугата за време на компютъра. В този случай целият клон на параметрите в регистъра се създава наново.

net start w32time - стартира услугата.

Функции, забелязани в Windows 7 - услугата за време не стартира автоматично при стартиране на Windows. Коригирано в SP1 за Windows 7.

Въведение.

Системата Linux, подобно на повечето други съвременни операционни системи, всъщност има два часовника. Първият часовник е хардуерен часовник, понякога наричан за кратко часовник за реално време (RTC) или часовник на BIOS, обикновено свързан с осцилиращ кварцов кристал, който е с точност до няколко секунди на ден. Точността зависи от различни колебания, като температурата на околната среда. Вторият часовник е вътрешен софтуерен часовник, който работи непрекъснато, включително по време на прекъсвания в работата на системата. Те са обект на вариации поради голямо натоварване на системата и латентност на прекъсване. Въпреки това системата обикновено чете хардуерния часовник при зареждане и след това използва системния часовник. Командата за дата задава системния часовник, а не хардуерния.

Ако използвате NTP, можете да настроите хардуерния часовник по време на първата инсталация на системата и никога повече да не се тревожите за това.

Използван е чип за часовник за реално време (RTC). дънни платки, не е особено точен и обикновено изостава или изпреварва с определено време всеки ден.

Можете да синхронизирате хардуерния часовник със системния часовник с помощта на командата hwclock с опцията -w или --systohc и да синхронизирате системния часовник с хардуерния часовник с помощта на командата hwclock с опцията -s или --hctosys.

Настройвам.

За да започнете, добавете следния ред към файла /etc/ntp.conf:

Времето ще се синхронизира от посочения сървър. Ако първият е недостъпен, се заемат следващите в списъка. Първи се регистрира локален сървър NTP.

Следващата точка е дали да зададете местното или световното време, което да се използва.

#cat /etc//etc/sysconfig/clock

Това не е това, което имаме:

Редактиране на ЗОНА - към "Европа/Москва"

Получаваме:

UTC=вярносистемният часовник не използва универсално представяне на времето

ARC=вярноИзползва се нормалната UNIX епоха.

Часовата зона под Linux се задава чрез символна връзка от /etc/localtime към файл в директорията /usr/lib/zoneinfo (или /usr/share/zoneinfo), която показва в коя часова зона се намирате.

рисуване. Съдържание на /usr/share/zoneinfo

Ние изпълняваме команди.

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Всичко работи!

Ако демонът ntpd работи, следното съобщение се показва при опит за синхронизиране с ntp сървъра.

Тази команда показва към кои сървъри да се свържете.

Допълнение:

Настройка на хардуерен часовник

За да настроите хардуерния часовник, задайте първо системното време и след това хардуерното, като използвате програмата „/sbin/clock -w“ (или „/sbin/clock -wu“ в случай на използване на универсално време). време, стартирайте часовник без параметри. Ако хардуерният часовник е настроен на местно време и искате да видите глобалното време, въведете „/sbin/clock –u“

Настройка на системния часовник

За да настроите системния часовник в Linux, използвайте програмата за дата. Например, задаване на текущия час (система!) и дата на 31 юли, 23:16, въведете „дата 07312316“ (обърнете внимание, че часът е даден в 24-часова нотация) Ако искате да промените годината, след това въведете „ дата 073123161998”. За да зададете секундите, въведете „дата 07312316.30“ или „дата 073123161998.30“. За да разберете системното време, стартирайте дата без никакви аргументи.

За сървърна и клиентска работа NTPотговори " Услуга за време на Windows" ("W32 Време").
За да конфигурирате сървъра да Windows OSСледвай тези стъпки:

1. Инсталирайте автоматичен стартобслужване " W32 Време". За да направите това, в клона на регистъра
"HKLM\System\CurrentControlSet\Services\W32Time "настройка за параметър" Започнете " значение 2 .

2. След това отворете " HKLM\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer "и инсталирай" Активирано " В мерна единица.

3.Ние редактираме следните параметри:
- клон: " HKLM\System\CurrentControlSet\Services\W32Time\Parameters ", параметър" Тип "
NoSync - NTP- сървърът не е синхронизиран с външен източник на време. Използва часовник, вграден в чипа CMOSсамият сървър;
NTP - NTP- сървърът е синхронизиран с външни сървъри за време, които са посочени в параметъра на регистъра " NtpServer";
NT5DS - NTP-сървърът се синхронизира според йерархията на домейна;
AllSync - NTP-сървърът използва всички налични източници за синхронизация;

параметър " NtpServer ", където е посочен хостът, с който този сървър ще синхронизира времето. Ако е необходимо, можете да добавите няколко хоста, като ги въведете DNSимена или IPадреси, разделени с интервали. В края на всяко име, разделено със запетаи, можете да добавите флаг, който определя режима за синхронизация със сървъра за време.
Допустими са следните стойности:
0x1 - Специален интервал, използване на специален интервал за анкетиране;
0x2 -режим UseAsFallbackOnly;
0x4 - SymmetricActive, симетричен активен режим;
0x8 - Клиент, изпращане на заявка в клиентски режим.
Когато използвате флага " Специален интервал", зададената стойност на интервала в ключа е необходима " SpecialPollInterval". Когато знамето е " UseAsFallbackOnly" услугата за време е информирана, че този сървър ще се използва като резервен и ще бъдат направени повиквания към други сървъри в списъка, преди да се синхронизира с него. Използва се симетричен активен режим NTP-сървъри по подразбиране и може да се използва клиентски режим при проблеми със синхронизацията;

клон " HKLM\System\CurrentControlSet\Services\W32Time\Config ", параметър" AnnounceFlags „отговорен за това как се обявява NTP- сървър и може да приема следните стойности:
0x0 (Не е сървър за време) -сървърът не се рекламира чрез NetLogon, като източник на време. Той може да отговори NTPискания, но съседите няма да могат да го разпознаят;
0x1 (Винаги сървър за време) -сървърът винаги ще се обявява, независимо от статуса си;
0x2 (автоматичен сървър за време) -сървърът ще се обяви само ако получи надежден час от друг съсед (NTPили NT5DS);
0x4 (Винаги надежден сървър за време) -сървърът винаги ще се декларира като надежден източник на време;
0x8 (автоматичен надежден сървър за време) -Домейн контролерът автоматично се обявява за доверен, ако е - PDC- емулатор на горски корен домейн. Този флаг позволява на капитана PDCгорите да се декларират като оторизиран източник на време дори при липса на комуникация с началниците NTP- сървъри. Нито един контролер или членски сървър (който има флага по подразбиране 0x2) не може да претендира, че е надежден източник на време, ако не може да намери източник за себе си.
значение " AnnounceFlags " може да бъде сумата от неговите флагове, например:
10=2+8 - NTP- сървърът се декларира като надежден източник на време, при условие че самият той получава време от надежден източник или е PDCосновен домейн. Флаг 10 е зададено по подразбиране както за членове на домейна, така и за самостоятелни сървъри.
5=1+4 - NTP- сървърът винаги се декларира като надежден източник на време. Например, за да декларирате членски сървър (не контролер на домейн) като надежден източник на време, имате нужда от флага 5 ;

клон " HKLM\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient ", параметър" SpecialPollInterval " се задава в секунди и по подразбиране стойността му е 604800 , което е една седмица. Това е доста, така че си струва да намалите стойността до, да речем, час ( 3600 ).

4. След като направите настройките, можете да стартирате услугата за време: " net start w32time ". Ако услугата вече работи, приложете конфигурацията с командата " w32tm /config /update " и рестартирайте: " net stop w32time && net start w32time ".

5. След рестартиране на услугата NTP- сървърът вече е активен и може да обслужва клиенти. Можете да проверите това с помощта на командата " w32tm /заявка /конфигурация ". Тази команда показва пълен списък с параметри на услугата. Ако разделът " NtpServer" съдържа низа " Активирано:1 „Тогава всичко е наред.



Свързани публикации