ნაგულისხმევად Ntp სერვერი. ntp-ის ინსტალაცია Ubuntu-ში

NTP სერვერის კონფიგურაციისა და მართვის შესახებ Windows სერვერი

ყველა Windows ოპერაციულ სისტემას Windows 2000 წლიდან აქვს დროის სერვისი W32Time. ეს სერვისი შექმნილია სისტემის დროის სინქრონიზაციისთვის ორგანიზაციის საზღვრებში. W32Time სერვისი პასუხისმგებელია დროის სერვისის როგორც კლიენტის, ასევე სერვერის ნაწილების მუშაობაზე, ხოლო იგივე კომპიუტერი შეიძლება იყოს როგორც NTP (ქსელის დროის პროტოკოლი) კლიენტი და სერვერი.

ნაგულისხმევად, Windows დროის სერვისი კონფიგურირებულია შემდეგნაირად:

ინსტალაციისას ოპერაციული სისტემა Windows იწყებს NTP კლიენტს და სინქრონიზდება დროის გარე წყაროსთან;
დომენში კომპიუტერის დამატებისას სინქრონიზაციის ტიპი იცვლება. ყველა კლიენტის კომპიუტერი და წევრი სერვერი დომენში იყენებს დომენის კონტროლერს, რომელიც ახდენს მათ ავთენტიფიკაციას დროის სინქრონიზაციისთვის;
როდესაც წევრი სერვერის დაწინაურება ხდება დომენის კონტროლერში, მასზე გაშვებულია NTP სერვერი, რომელიც იყენებს კონტროლერს PDC ემულატორის როლით, როგორც დროის წყარო;
PDC ემულატორი, რომელიც მდებარეობს ტყის root დომენში, არის ძირითადი დროის სერვერი მთელი ორგანიზაციისთვის. ამავე დროს, ის ასევე სინქრონიზებულია დროის გარე წყაროსთან.

ეს სქემა უმეტეს შემთხვევაში მუშაობს და არ საჭიროებს ჩარევას. თუმცა, Windows-ის დროის სერვისის სტრუქტურა შეიძლება არ მიჰყვეს დომენის იერარქიას და ნებისმიერი კომპიუტერი შეიძლება დაინიშნოს დროის სანდო წყაროდ. მაგალითად, მე აღვწერ NTP სერვერის დაყენებას Windows Server 2008 R2-ში, თუმცა პროცედურა დიდად არ შეცვლილა Windows 2000-ის შემდეგ.

NTP სერვერის გაშვება

დაუყოვნებლივ აღვნიშნავ, რომ Windows სერვერზე დროის სერვისი (2000 წლიდან 2012 წლამდე) არ აქვს GUIდა კონფიგურირებულია ან დან ბრძანების ხაზი, ან პირდაპირი რედაქტირებით სისტემის რეესტრი. პირადად, მეორე მეთოდი ჩემთვის უფრო ახლოსაა, ამიტომ რეესტრში მივდივართ.

ასე რომ, პირველი რაც უნდა გავაკეთოთ არის NTP სერვერის გაშვება. გახსენით რეესტრის ფილიალი
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.
აქ უნდა ჩართოთ NTP სერვერის პარამეტრი ჩართულიათქვენ უნდა დააყენოთ მნიშვნელობა 1 .

NTP სერვისის გადატვირთვის შემდეგ, სერვერი უკვე აქტიურია და შეუძლია კლიენტების მომსახურება. ჩვენ შეგვიძლია ამის გადამოწმება w32tm /query /configuration ბრძანების გამოყენებით. ეს ბრძანება აჩვენებს მომსახურების პარამეტრების სრულ ჩამონათვალს. თუ განყოფილება NtpServerშეიცავს სტრიქონს ჩართულია: 1, მაშინ ყველაფერი რიგზეა, დროის სერვერი მუშაობს.

იმისათვის, რომ NTP სერვერმა მოემსახუროს კლიენტებს, არ დაგავიწყდეთ გახსნათ UDP პორტი 123 firewall-ზე (firewall) შემომავალი და გამავალი ტრაფიკისთვის.

NTP სერვერის ძირითადი პარამეტრები

NTP სერვერი ჩართულია, ახლა მისი კონფიგურაცია გჭირდებათ. გახსენით რეესტრის ფილიალი HKLM\System\CurrentControlSet\services\W32Time\Parameters. აქ ჩვენ პირველ რიგში გვაინტერესებს პარამეტრი ტიპი A, რომელიც განსაზღვრავს სინქრონიზაციის ტიპს. მას შეუძლია მიიღოს შემდეგი მნიშვნელობები:

NoSync- NTP სერვერი არ არის სინქრონიზებული დროის რომელიმე გარე წყაროსთან. გამოიყენება თავად სერვერის CMOS ჩიპში ჩაშენებული საათი;
NTP- NTP სერვერი სინქრონიზებულია გარე დროის სერვერებთან, რომლებიც მითითებულია რეესტრის პარამეტრებში. NtpServer;
NT5DS- NTP სერვერი სინქრონიზებულია დომენის იერარქიის მიხედვით;
AllSync- NTP სერვერი იყენებს ყველა ხელმისაწვდომ წყაროს სინქრონიზაციისთვის.

ნაგულისხმევი მნიშვნელობა კომპიუტერისთვის, რომელიც არის დომენის ნაწილი NT5DS, ცალკე მდგარი კომპიუტერი - NTP.

და პარამეტრი NtpServer, რომელიც განსაზღვრავს NTP სერვერებს, რომლებთანაც მოხდება დროის სინქრონიზაცია მოცემული სერვერი. ნაგულისხმევად, ეს პარამეტრი შეიცავს Microsoft NTP სერვერს (time.windows.com, 0x1), საჭიროების შემთხვევაში, შეგიძლიათ დაამატოთ კიდევ რამდენიმე NTP სერვერი მათი DNS სახელების ან ინტერვალით გამოყოფილი IP მისამართების შეყვანით. მაგალითად, ხელმისაწვდომი დროის სერვერების სია შეგიძლიათ ნახოთ.

თქვენ შეგიძლიათ დაამატოთ დროშა ყოველი სახელის ბოლოს (მაგ. ,0x1) რომელიც განსაზღვრავს დროის სერვერთან სინქრონიზაციის რეჟიმს. ნებადართულია შემდეგი მნიშვნელობები:

0x1– სპეციალური ინტერვალი, სპეციალური კენჭისყრის ინტერვალის გამოყენება;
0x2– UseAsFallbackOnly რეჟიმი;
0x4– SymmetricActive, სიმეტრიული აქტიური რეჟიმი;
0x8– კლიენტი, აგზავნის მოთხოვნას კლიენტის რეჟიმში.

სპეციალური ინტერვალის დროშის გამოყენებისას, თქვენ უნდა დააყენეთ მნიშვნელობაგასაღების ინტერვალი სპეციალური გამოკითხვის ინტერვალი. თუ დაყენებულია UseAsFallbackOnly დროშა, დროის სერვისს ეცნობება, რომ ეს სერვერი გამოყენებული იქნება როგორც სარეზერვო სერვერი და რომ სიაში სხვა სერვერებთან დაკავშირება მოხდება მასთან სინქრონიზაციამდე. სიმეტრიული აქტიური რეჟიმი გამოიყენება ნაგულისხმევად NTP სერვერების მიერ, ხოლო კლიენტის რეჟიმის გამოყენება შესაძლებელია სინქრონიზაციის პრობლემების შემთხვევაში. Microsoft გირჩევთ პარამეტრის = ყველგან დაყენებას 0x1.

მნიშვნელოვანი პარამეტრი დროშების გამოცხადებამდებარეობს რეესტრის გასაღებში HKLM\System\CurrentControlSet\services\W32Time\Config. ის პასუხისმგებელია იმაზე, თუ როგორ აცხადებს NTP სერვერი საკუთარ თავს და შეუძლია მიიღოს შემდეგი მნიშვნელობები:

0x0(არა დროის სერვერი - სერვერი არ ახორციელებს რეკლამას NetLogon-ის საშუალებით, როგორც დროის წყარო. მას შეუძლია უპასუხოს NTP მოთხოვნებს, მაგრამ მეზობლები ვერ ცნობენ მას, როგორც დროის წყაროს;
0x1(ყოველთვის დროის სერვერი) - სერვერი ყოველთვის გამოაცხადებს თავს სტატუსის მიუხედავად;
0x2(ავტომატური დროის სერვერი) - სერვერი გამოაცხადებს თავის თავს მხოლოდ მიღების შემთხვევაში საიმედო დროსხვა მეზობლისგან (NTP ან NT5DS);
0x4(ყოველთვის საიმედო დროის სერვერი) - სერვერი ყოველთვის გამოაცხადებს თავს სანდო დროის წყაროდ;
0x8(ავტომატური საიმედო დროის სერვერი) - დომენის კონტროლერი ავტომატურად გამოცხადდება საიმედოდ, თუ ის არის ტყის ძირეული დომენის PDC ემულატორი. ეს დროშა საშუალებას აძლევს ტყის მასტერ PDC-ს, განაცხადოს საკუთარი თავი, როგორც დროის ავტორიზებული წყარო მთელი ტყისთვის, მაშინაც კი, თუ ის არ არის დაკავშირებული ზემოთ ნაკადის NTP სერვერებთან. სხვა კონტროლერი ან წევრი სერვერი (რომელსაც აქვს ნაგულისხმევი დროშა 0x2) ვერ ამტკიცებს, რომ არის დროის სანდო წყარო, თუ ის ვერ პოულობს დროის წყაროს თავისთვის.

მნიშვნელობა დროშების გამოცხადებაარის მისი შემადგენელი დროშების ჯამი, მაგალითად:

10=2+8 - NTP სერვერი აცხადებს თავს სანდო დროის წყაროდ, იმ პირობით, რომ ის იღებს დროს სანდო წყაროდან ან არის root დომენის PDC. დროშა 10 დაყენებულია ნაგულისხმევად როგორც დომენის წევრებისთვის, ასევე დამოუკიდებელი სერვერებისთვის.

5=1+4 - NTP სერვერი ყოველთვის აცხადებს, რომ დროის სანდო წყაროა. მაგალითად, წევრი სერვერის (და არა დომენის კონტროლერი) სანდო დროის წყაროდ გამოსაცხადებლად საჭიროა დროშა 5.

მოდით დავაყენოთ ინტერვალი განახლებებს შორის. მასზე პასუხისმგებელია უკვე ზემოთ ნახსენები გასაღები. სპეციალური გამოკითხვის ინტერვალი,მდებარეობს რეესტრის გასაღებში HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient. ის წამებშია და ნაგულისხმევია 604800, რაც არის 1 კვირა. ეს ბევრია, ამიტომ ღირს SpecialPollInterval-ის მნიშვნელობის შემცირება გონივრულ მნიშვნელობამდე, ვთქვათ 1 საათი (3600).

დროის სამსახურის კონტროლის ბრძანებები W32Time:

w32tm /config /update - განაახლეთ სერვისის კონფიგურაცია.

w32tm /მონიტორი - გაარკვიეთ, რამდენი დრო სჭირდება სისტემას ამ კომპიუტერსგანსხვავდება დომენის კონტროლერის ან სხვა კომპიუტერის დროისგან. მაგალითად: w32tm /monitor /computers:time.nist.gov
w32tm /resync - იძულებითი სინქრონიზაცია დროის სერვერთან.
w32tm /stripchart - აჩვენებს დროის სხვაობას მიმდინარე და დისტანციური კომპიუტერიდა შეუძლია შედეგის გრაფიკული ფორმით ჩვენება. მაგალითად, ბრძანება w32tm /stripchart /computer:time.nist.gov /samples:5 /daaonly გააკეთებს 5 შედარებას მითითებულ წყაროსთან და აჩვენებს შედეგს ტექსტის სახით.

w32tm /config არის ბრძანება, რომელიც გამოიყენება NTP სერვისის კონფიგურაციისთვის. მისი დახმარებით შეგიძლიათ დააყენოთ გამოყენებული დროის სერვერების სია, სინქრონიზაციის ტიპი და მრავალი სხვა. მაგალითად, შეგიძლიათ უგულებელყოთ ნაგულისხმევი მნიშვნელობები და დააკონფიგურიროთ დროის სინქრონიზაცია გარე წყაროსთან w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update ბრძანების გამოყენებით.
w32tm /query - აჩვენებს მიმდინარე სერვისის პარამეტრებს. მაგალითად, w32tm /query /source აჩვენებს მიმდინარე დროის წყაროს, ხოლო w32tm /query /configuration აჩვენებს ყველა სერვისის პარამეტრს.
w32tm / unregister - აშორებს დროის სერვისს კომპიუტერიდან
w32tm / რეგისტრაცია - აღრიცხავს დროის სერვისს კომპიუტერზე, რეესტრში მთელი პარამეტრის ფილიალი ხელახლა იქმნება.

კონტაქტში

Windows Time სერვისი, მიუხედავად მისი აშკარა სიმარტივისა, არის ერთ-ერთი საფუძველი, რომელიც აუცილებელია დომენის ნორმალური ფუნქციონირებისთვის. Მოქმედი დირექტორი. სათანადოდ კონფიგურირებულ AD გარემოში, დროის სერვისი მუშაობს ასე: მომხმარებლის კომპიუტერები იღებენ ზუსტ დროს დომენის უახლოესი კონტროლერიდან, რომელშიც ისინი შედიან. ყველა დომენის კონტროლერი თავის მხრივ იღებს ზუსტ დროს DC-დან " PDC ემულატორი”, და PDC კონტროლერი სინქრონიზებს თავის დროს გარკვეულ . დროის გარე წყარო შეიძლება იყოს ერთი ან მეტი NTP სერვერი, როგორიცაა time.windows.com ან თქვენი ISP-ის NTP სერვერი. ასევე გაითვალისწინეთ, რომ ნაგულისხმევად, კლიენტები დომენში სინქრონიზებენ დროს Windows Time სერვისის (Windows Time) გამოყენებით და არა NTP-ის გამოყენებით.

თუ თქვენ შეგექმნათ სიტუაცია, როდესაც კლიენტებზე და დომენის კონტროლერებზე დრო განსხვავებულია, შესაძლებელია თქვენს დომენს პრობლემები ჰქონდეს დროის სინქრონიზაციასთან დაკავშირებით და ეს სტატია გამოგადგებათ.

უპირველეს ყოვლისა, აირჩიეთ შესაფერისი NTP სერვერი, რომლის გამოყენებაც შეგიძლიათ. საჯარო NTP სერვერების სია ხელმისაწვდომია http://ntp.org. ჩვენს მაგალითში, ჩვენ გამოვიყენებთ NTP სერვერებს ru.pool.ntp.org აუზიდან:

  • 0.ru.pool.ntp.org
  • 1.ru.pool.ntp.org
  • 2.ru.pool.ntp.org
  • 3.ru.pool.ntp.org

დომენის დროის სინქრონიზაციის დაყენება ჯგუფური პოლიტიკის გამოყენებით შედგება ორი ეტაპისგან:

1) შექმენით GPO დომენის კონტროლერისთვის PDC როლით
2) შექმენით GPO კლიენტებისთვის (სურვილისამებრ)

NTP სინქრონიზაციის პოლიტიკის კონფიგურაცია PDC დომენის კონტროლერზე

ეს ნაბიჯი მოიცავს დომენის კონტროლერის კონფიგურაციას PDC ემულატორის როლით, რათა მოხდეს დროის სინქრონიზაცია გარე NTP სერვერთან. იმიტომ რომ თეორიულად, PDC ემულატორის როლს შეუძლია გადაადგილდეს დომენის კონტროლერებს შორის, ჩვენ უნდა შევქმნათ პოლიტიკა, რომელიც გავრცელდება მხოლოდ PDC როლის ამჟამინდელ მფლობელზე. ამისათვის, მართვის კონსოლში ჯგუფის პოლიტიკის მართვის კონსოლი(GPMC.msc), შექმენით ახალი. ამისათვის განყოფილებაში WMI ფილტრებიშექმენით ფილტრი სახელით PDC ემულატორიდა WMI შეკითხვა: აირჩიეთ * Win32_ComputerSystem-დან, სადაც DomainRole = 5

შემდეგ შექმენით ახალი GPO და მიანიშნეთ Domain Controllers კონტეინერში.

გადაერთეთ პოლიტიკის რედაქტირების რეჟიმში და გააფართოვეთ პოლიტიკის შემდეგი განყოფილება: კომპიუტერის კონფიგურაცია->ადმინისტრაციული შაბლონები->სისტემა->Windows Time Service->დროის პროვაიდერები

ჩვენ დაინტერესებული ვართ სამი პოლიტიკით:

  • Windows NTP კლიენტის კონფიგურაცია: ჩართულია (პოლიტიკის პარამეტრები აღწერილია ქვემოთ)
  • ჩართეთ Windows NTP კლიენტი: ჩართულია
  • ჩართეთ Windows NTP სერვერი: ჩართულია


პოლიტიკის პარამეტრებში Windows NTP კლიენტის კონფიგურაციამიუთითეთ შემდეგი პარამეტრები:

  • NtpServer: 0.ru.pool.ntp.org,0x1 1.ru.pool.ntp.org,0x1 2.ru.pool.ntp.org,0x1 3.ru.pool.ntp.org,0x1
  • ტიპი:NTP
  • CrossSiteSyncFlags: 2
  • ResolvePeerBackoffMinutes: 15
  • გადაჭრით Peer BAckoffMaxTimes: 7
  • SpecilalPoolInterval: 3600
  • EventLogFlags: 0

რჩევა. არ დაგავიწყდეთ დაყენება firewallრათა PDC სერვერს შეეძლოს წვდომა გარე NTP სერვერებზე NTP პროტოკოლის მეშვეობით (UDP პორტი 123).

შენიშვნა. ყურადღება მიაქციეთ ველში არსებულ სინტაქსს NtpServer.მრავალი NTP სერვერის მითითების ფორმატი შემდეგია: ntsrv1.org,0x1 ntpsrv2.org,0x1(სივრცის გამყოფი). სკრინშოტი შეიცავს მცდარ მონაცემებს!

გამოიყენეთ ადრე შექმნილი ფილტრი PDC ემულატორიამ პოლიტიკას.

რჩევა. თქვენ შეგიძლიათ იპოვოთ სერვერის სახელი PDC როლით ბრძანების გამოყენებით: netdom query fsmo

რჩება PDC კონტროლერის პოლიტიკის განახლება:
gpupdate /force

დროის სინქრონიზაციის ხელით დაწყება:
w32tm / ხელახალი სინქრონიზაცია

შეამოწმეთ მიმდინარე NTP პარამეტრები:
w32tm /query /status

რჩევა. იმ შემთხვევაში, თუ დრო არ არის სინქრონიზებული, გადატვირთეთ Windows Time სერვისი და გადატვირთეთ მიმდინარე პარამეტრები:
net stop w32time
w32tm.exe / რეგისტრაციის გაუქმება
w32tm.exe /რეგისტრაცია
წმინდა დაწყება w32time

დროის სინქრონიზაციის კონფიგურაცია დომენის კლიენტებზე

Active Directory გარემოში, სტანდარტულად, დომენის კლიენტები სინქრონიზებენ დროს დომენის კონტროლერებთან (ვარიანტი Nt5DS– დროის სინქრონიზაცია დომენის იერარქიის მიხედვით). როგორც წესი, ეს სქემა მუშაობს და არ საჭიროებს ხელახლა კონფიგურაციას. თუმცა, თუ პრობლემა გაქვთ დომენის კლიენტებზე დროის სინქრონიზაციისთვის, შეგიძლიათ აიძულოთ დროის სერვერის მინიჭება კლიენტებისთვის GPO-ის გამოყენებით.

ამისათვის შექმენით ახალი GPO და მიანიჭეთ ის კონტეინერებს (OU) კომპიუტერებით. GPO რედაქტორში გადადით კომპიუტერის კონფიგურაცია -> ადმინისტრაციული შაბლონები -> სისტემა -> Windows Time Service -> დროის პროვაიდერებიდა ჩართეთ პოლიტიკა Windows NTP კლიენტის კონფიგურაცია.

მიუთითეთ PDC სახელი ან ip მისამართი, როგორც NTP სერვერი, მაგალითად msk-dc1.site, 0x9 და NT5DS, როგორც სინქრონიზაციის ტიპი.

განაახლეთ ჯგუფის პოლიტიკის პარამეტრები კლიენტებზე და შეამოწმეთ, რომ კლიენტებმა წარმატებით მოახდინეს დროის სინქრონიზაცია PDC-თან.

რჩევა. მითითებული სქემა ვრცელდება მხოლოდ მცირე დომენებზე. დიდი განაწილებული დომენებისთვის დიდი რაოდენობით DC-ებმა და საიტებმა უნდა შექმნან ცალკე პოლიტიკა თითოეული საიტისთვის, რათა კლიენტებმა განახორციელონ დროის სინქრონიზაცია საიტზე არსებულ DC-ებთან.

NTP სერვერის დაყენება Windows-ში

Windows 2000-ით დაწყებული, ყველა მუშაობს ვინდოუსის სისტემებიმოიცავს დროის მომსახურებას W32Time. ეს სერვისი შექმნილია ორგანიზაციის შიგნით დროის სინქრონიზაციისთვის. W32Time პასუხისმგებელია დროის სერვისის როგორც კლიენტის, ასევე სერვერის ნაწილების მუშაობაზე და ერთი და იგივე კომპიუტერი შეიძლება იყოს როგორც NTP (ქსელის დროის პროტოკოლი) კლიენტი და სერვერი ერთდროულად.

ნაგულისხმევად, Windows დროის სერვისი კონფიგურირებულია შემდეგნაირად:

როდესაც ოპერაციული სისტემა დაინსტალირებულია, Windows იწყებს NTP კლიენტს და სინქრონიზდება დროის გარე წყაროსთან;
დომენში კომპიუტერის დამატებისას სინქრონიზაციის ტიპი იცვლება. ყველა კლიენტის კომპიუტერი და წევრი სერვერი დომენში იყენებს დომენის კონტროლერს, რომელიც ახდენს მათ ავთენტიფიკაციას დროის სინქრონიზაციისთვის;
როდესაც წევრი სერვერის დაწინაურება ხდება დომენის კონტროლერში, მასზე გაშვებულია NTP სერვერი, რომელიც იყენებს კონტროლერს PDC ემულატორის როლით, როგორც დროის წყარო;
PDC ემულატორი, რომელიც მდებარეობს ტყის root დომენში, არის ძირითადი დროის სერვერი მთელი ორგანიზაციისთვის. ამავე დროს, ის ასევე სინქრონიზებულია დროის გარე წყაროსთან.

ეს სქემა უმეტეს შემთხვევაში მუშაობს და არ საჭიროებს ჩარევას. თუმცა, Windows-ის დროის სერვისის სტრუქტურა შეიძლება არ მიჰყვეს დომენის იერარქიას და ნებისმიერი კომპიუტერი შეიძლება დაინიშნოს დროის სანდო წყაროდ. მაგალითად, მე აღვწერ NTP სერვერის დაყენებას Windows Server 2008 R2-ში, თუმცა პროცედურა დიდად არ შეცვლილა Windows 2000-ის შემდეგ.

NTP სერვერის გაშვება

დაუყოვნებლივ აღვნიშნავ, რომ დროის სერვისს Windows Server-ში (2000 წლიდან 2012 წლამდე) არ აქვს გრაფიკული ინტერფეისი და კონფიგურირებულია ან ბრძანების ხაზიდან ან უშუალოდ სისტემის რეესტრის რედაქტირებით. პირადად, მეორე მეთოდი ჩემთვის უფრო ახლოსაა, ამიტომ რეესტრში მივდივართ.

ასე რომ, პირველი რაც უნდა გავაკეთოთ არის NTP სერვერის გაშვება. გახსენით რეესტრის ფილიალი
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.
აქ უნდა ჩართოთ NTP სერვერის პარამეტრი ჩართულიათქვენ უნდა დააყენოთ მნიშვნელობა 1 .

შემდეგ ბრძანებით გადავტვირთავთ დროის სერვისს net stop w32time && net start w32time

NTP სერვისის გადატვირთვის შემდეგ, სერვერი უკვე აქტიურია და შეუძლია კლიენტების მომსახურება. ამის გადამოწმება შეგიძლიათ w32tm /query /configuration ბრძანების გამოყენებით. ეს ბრძანება აჩვენებს მომსახურების პარამეტრების სრულ ჩამონათვალს. თუ განყოფილება NtpServerშეიცავს სტრიქონს ჩართულია: 1, მაშინ ყველაფერი რიგზეა, დროის სერვერი მუშაობს.

იმისათვის, რომ NTP სერვერმა მოემსახუროს კლიენტებს, არ უნდა დაგვავიწყდეს, რომ გახსნათ UDP პორტი 123 Firewall-ზე შემომავალი და გამავალი ტრაფიკისთვის.

NTP სერვერის ძირითადი პარამეტრები

NTP სერვერი ჩართულია, ახლა მისი კონფიგურაცია გჭირდებათ. გახსენით რეესტრის ფილიალი HKLM\System\CurrentControlSet\services\W32Time\Parameters. აქ ჩვენ პირველ რიგში გვაინტერესებს პარამეტრი ტიპი A, რომელიც განსაზღვრავს სინქრონიზაციის ტიპს. მას შეუძლია მიიღოს შემდეგი მნიშვნელობები:

NoSync- NTP სერვერი არ არის სინქრონიზებული დროის რომელიმე გარე წყაროსთან. გამოიყენება თავად სერვერის CMOS ჩიპში ჩაშენებული საათი;
NTP- NTP სერვერი სინქრონიზებულია გარე დროის სერვერებთან, რომლებიც მითითებულია რეესტრის პარამეტრებში. NtpServer;
NT5DS- NTP სერვერი სინქრონიზებულია დომენის იერარქიის მიხედვით;
AllSync- NTP სერვერი იყენებს ყველა ხელმისაწვდომ წყაროს სინქრონიზაციისთვის.

ნაგულისხმევი მნიშვნელობა კომპიუტერისთვის, რომელიც არის დომენის წევრი NT5DSდამოუკიდებელი კომპიუტერისთვის - NTP.

და პარამეტრი NtpServer, რომელიც განსაზღვრავს NTP სერვერებს, რომლებთანაც ეს სერვერი ახდენს დროის სინქრონიზაციას. ნაგულისხმევად, ეს პარამეტრი შეიცავს Microsoft NTP სერვერს (time.windows.com, 0x1), საჭიროების შემთხვევაში, შეგიძლიათ დაამატოთ კიდევ რამდენიმე NTP სერვერი მათი DNS სახელების ან ინტერვალით გამოყოფილი IP მისამართების შეყვანით. მაგალითად, ხელმისაწვდომი დროის სერვერების სია შეგიძლიათ ნახოთ.

თქვენ შეგიძლიათ დაამატოთ დროშა ყოველი სახელის ბოლოს (მაგ. ,0x1) რომელიც განსაზღვრავს დროის სერვერთან სინქრონიზაციის რეჟიმს. ნებადართულია შემდეგი მნიშვნელობები:

0x1– სპეციალური ინტერვალი, სპეციალური კენჭისყრის ინტერვალის გამოყენება;
0x2– UseAsFallbackOnly რეჟიმი;
0x4– SymmetricActive, სიმეტრიული აქტიური რეჟიმი;
0x8– კლიენტი, აგზავნის მოთხოვნას კლიენტის რეჟიმში.

სპეციალური ინტერვალის დროშის გამოყენებისას საჭიროა კლავიშში მითითებული ინტერვალის მნიშვნელობა სპეციალური გამოკითხვის ინტერვალი. თუ დაყენებულია UseAsFallbackOnly დროშა, დროის სერვისს ეცნობება, რომ ეს სერვერი გამოყენებული იქნება როგორც სარეზერვო სერვერი და რომ სიაში სხვა სერვერებთან დაკავშირება მოხდება მასთან სინქრონიზაციამდე. სიმეტრიული აქტიური რეჟიმი გამოიყენება ნაგულისხმევად NTP სერვერების მიერ, ხოლო კლიენტის რეჟიმის გამოყენება შესაძლებელია სინქრონიზაციის პრობლემების შემთხვევაში. შეგიძლიათ მეტი ნახოთ სინქრონიზაციის რეჟიმების შესახებ, ან არ მოიტყუოთ და უბრალოდ განათავსოთ იგი ყველგან ,0x1(როგორც გვირჩევს Microsoft).

კიდევ ერთი მნიშვნელოვანი პარამეტრი დროშების გამოცხადებამდებარეობს რეესტრის გასაღებში HKLM\System\CurrentControlSet\services\W32Time\Config. ის პასუხისმგებელია იმაზე, თუ როგორ აცხადებს NTP სერვერი საკუთარ თავს და შეუძლია მიიღოს შემდეგი მნიშვნელობები:

0x0(არა დროის სერვერი) - სერვერი არ ახორციელებს თავის რეკლამას NetLogon-ის საშუალებით, როგორც დროის წყარო. მას შეუძლია უპასუხოს NTP მოთხოვნებს, მაგრამ მეზობლები ვერ ცნობენ მას, როგორც დროის წყაროს;
0x1(ყოველთვის დროის სერვერი) - სერვერი ყოველთვის გამოაცხადებს თავს სტატუსის მიუხედავად;
0x2(ავტომატური დროის სერვერი) - სერვერი გამოაცხადებს თავის თავს მხოლოდ იმ შემთხვევაში, თუ ის მიიღებს საიმედო დროს სხვა მეზობლისგან (NTP ან NT5DS);
0x4(ყოველთვის საიმედო დროის სერვერი) - სერვერი ყოველთვის გამოაცხადებს თავს სანდო დროის წყაროდ;
0x8(ავტომატური საიმედო დროის სერვერი) - დომენის კონტროლერი ავტომატურად გამოცხადდება საიმედოდ, თუ ის არის ტყის ძირეული დომენის PDC ემულატორი. ეს დროშა საშუალებას აძლევს ტყის მასტერ PDC-ს, განაცხადოს საკუთარი თავი, როგორც დროის ავტორიზებული წყარო მთელი ტყისთვის, მაშინაც კი, თუ ის არ არის დაკავშირებული ზემოთ ნაკადის NTP სერვერებთან. სხვა კონტროლერი ან წევრი სერვერი (რომელსაც აქვს ნაგულისხმევი დროშა 0x2) ვერ ამტკიცებს, რომ არის დროის სანდო წყარო, თუ ის ვერ პოულობს დროის წყაროს თავისთვის.

მნიშვნელობა დროშების გამოცხადებაარის მისი შემადგენელი დროშების ჯამი, მაგალითად:

10=2+8 - NTP სერვერი აცხადებს თავს სანდო დროის წყაროდ, იმ პირობით, რომ ის იღებს დროს სანდო წყაროდან ან არის ძირეული დომენის PDC. დროშა 10 დაყენებულია ნაგულისხმევად როგორც დომენის წევრებისთვის, ასევე დამოუკიდებელი სერვერებისთვის.

5=1+4 - NTP სერვერი ყოველთვის აცხადებს, რომ დროის სანდო წყაროა. მაგალითად, წევრი სერვერის (და არა დომენის კონტროლერი) სანდო დროის წყაროდ გამოსაცხადებლად საჭიროა დროშა 5.

მოდით დავაყენოთ ინტერვალი განახლებებს შორის. მასზე პასუხისმგებელია უკვე ზემოთ ნახსენები გასაღები. სპეციალური გამოკითხვის ინტერვალი,მდებარეობს რეესტრის გასაღებში 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 /განახლება
w32tm /query - აჩვენებს მიმდინარე სერვისის პარამეტრებს. მაგალითად, w32tm /query /source აჩვენებს მიმდინარე დროის წყაროს, ხოლო w32tm /query /configuration აჩვენებს ყველა სერვისის პარამეტრს.

ისე, როგორც ბოლო საშუალება 🙁
w32tm / unregister - აშორებს დროის სერვისს კომპიუტერიდან.
w32tm /register - ახდენს დროის სერვისის რეგისტრაციას კომპიუტერზე. ამ შემთხვევაში, რეესტრში პარამეტრის მთელი ფილიალი ხელახლა იქმნება.

შუადღე მშვიდობისა, სტუმრებო და ჩვეულებრივ მკითხველებო. თანდათან გადადის საფუძვლებიდან Linux-ის უფრო ღრმა შესწავლაზე. დღეს მინდა მიმოხილვა ntp პროტოკოლის მოქმედება, ასევე დაყენება დროის სერვერები ლინუქსზე(ntp სერვერი). ასე რომ, დავიწყოთ თეორიით.

NTP პროტოკოლი

ქსელის დროის პროტოკოლი (NTP) - ქსელის პროტოკოლიკომპიუტერის შიდა საათის სინქრონიზაცია ცვლადი შეყოვნების ქსელების გამოყენებით (წაიკითხეთ „სიგანე“/არხის ხარისხი).

NTP იყენებს თავის სამუშაოს UDP პროტოკოლი და პორტი 123.

მიმდინარე პროტოკოლის ვერსია - NTP 4. NTPიყენებს იერარქიულ სისტემას "საათის დონეები"(მათ ასევე ეძახიან შრე). დონე 0 (ან ფენა 0)- ეს არის ჩვეულებრივ მოწყობილობები, რომლებიც არის ატომური საათები (მოლეკულური, კვანტური), GPS საათები ან რადიო საათები. ეს მოწყობილობები, როგორც წესი, არ არის გამოქვეყნებული მსოფლიო ქსელში, მაგრამ პირდაპირ არის დაკავშირებული პირველი დონის სერვერები RS-232 პროტოკოლის მეშვეობით (ილუსტრაციაზე მონიშნულია ყვითელი ისრებით). Დონე 1სინქრონიზებულია მაღალი სიზუსტის საათთან დონე 0, ჩვეულებრივ მუშაობს როგორც სერვერების წყაროები დონე 2. დონე 2სინქრონიზებულია ერთ-ერთ მანქანასთან დონე 1და ასევე შესაძლებელია თქვენი დონის სერვერებთან სინქრონიზაცია. დონე 3მუშაობს მეორეს ანალოგიურად. ჩვეულებრივ, ქსელში ქვეყნდება მეორე და ქვემოდან დონის სერვერები. NTP პროტოკოლიმხარს უჭერს 256 დონეს. ასევე მინდა აღვნიშნო, რომ 1 და 2 დონის სერვერები და ზოგჯერ 3 ყოველთვის არ არის ღია საზოგადოებისთვის. ზოგჯერ, მათთან სინქრონიზაციისთვის, თქვენ უნდა გაგზავნოთ მოთხოვნა ფოსტით - დომენის ადმინისტრატორებს.

რატომ არის შეზღუდვა სერვერებზე წვდომაზე? თითოეულ დონეზე გადასვლასთან დაკავშირებით, შეცდომა პირველადი სერვერი, მაგრამ სერვერების მთლიანი რაოდენობის გაზრდადა ამიტომ .

NTP სერვერის მინიჭება ლოკალურ ქსელში

რატომ გვჭირდება NTP სერვერი?მაგალითად, ოპერაციულ სისტემებში არის სერვისები, რომლებიც შეიძლება დამოკიდებული იყოს სინქრონიზებულ დროზე. ასეთი სერვისების ყველაზე თვალსაჩინო მაგალითია Kerberos ავთენტიფიკაციის პროტოკოლი. იმისათვის, რომ ის იმუშაოს, აუცილებელია, რომ ამ პროტოკოლით წვდომის კომპიუტერებზე, სისტემის დრო განსხვავდებოდეს არაუმეტეს 5 წუთისა. გარდა ამისა, ყველა კომპიუტერზე ზუსტი დრო მნიშვნელოვნად უწყობს ხელს უსაფრთხოების ჟურნალების ანალიზს ადგილობრივ ქსელში ინციდენტების გამოძიებისას.

NTP სერვერის/კლიენტის მუშაობის რეჟიმები

Კლიენტის სერვერი

ეს რეჟიმი ყველაზე ხშირად გამოიყენება ინტერნეტში. მუშაობის სქემა კლასიკურია. კლიენტი აგზავნის მოთხოვნას, რომელზეც სერვერი აგზავნის პასუხს გარკვეული დროის განმავლობაში. კლიენტის კონფიგურაცია ხდება სერვერის დირექტივის გამოყენებით კონფიგურაციის ფაილში, რომელიც განსაზღვრავს დროის სერვერის DNS სახელს.

სიმეტრიული აქტიური/პასიური რეჟიმი

ეს რეჟიმი გამოიყენება იმ შემთხვევაში, თუ დროის სინქრონიზაცია შესრულებულია თანატოლ მანქანებს შორის. გარდა იმისა, რომ თითოეული მანქანა სინქრონიზებულია გარე წყაროსთან, ის ასევე სინქრონიზებულია თავის თანატოლებთან, მოქმედებს როგორც კლიენტი და დროის სერვერი მათთვის. ამიტომ, მაშინაც კი, თუ მანქანა „დაკარგავს“ გარე წყაროს, ის მაინც შეძლებს მეზობლებისგან ზუსტი დროის მიღებას. მეზობლებს შეუძლიათ იმუშაონ ორ რეჟიმში - აქტიური და პასიური. აქტიურ რეჟიმში მუშაობისას, მანქანა თავად გადასცემს დროს ყველა მეზობელ მანქანას, რომლებიც ჩამოთვლილია ntp.conf კონფიგურაციის ფაილის თანატოლების განყოფილებაში. თუ მეზობლები არ არის მითითებული ამ განყოფილებაში, მაშინ მანქანა ითვლება პასიურ რეჟიმში. ავთენტიფიკაცია უნდა იქნას გამოყენებული, რათა თავდამსხმელმა არ დაარღვიოს სხვა მანქანები აქტიურ წყაროდ წარმოჩენით.

მაუწყებლობის რეჟიმი

ამ რეჟიმის გამოყენება რეკომენდებულია იმ შემთხვევებში, როდესაც სერვერების მცირე რაოდენობა ემსახურება დიდი რიცხვიკლიენტებს. ამ რეჟიმში მუშაობისას სერვერი პერიოდულად ავრცელებს პაკეტებს ქვექსელის სამაუწყებლო მისამართის გამოყენებით. კლიენტი, რომელიც კონფიგურირებულია ამ გზით სინქრონიზაციისთვის, იღებს სერვერის სამაუწყებლო პაკეტს და სინქრონიზდება სერვერთან. ამ რეჟიმის თავისებურება ის არის, რომ დროის მიწოდება ხდება იმავე ქვექსელში (მაუწყებლობის პაკეტების შეზღუდვა). გარდა ამისა, ავთენტიფიკაცია უნდა იქნას გამოყენებული თავდასხმებისგან დასაცავად.

Multicast რეჟიმი

ეს რეჟიმი მაუწყებლობის მსგავსია მრავალი თვალსაზრისით. განსხვავება მდგომარეობს იმაში, რომ IP მისამართების სივრცის D კლასის ქსელების მულტიკასტური მისამართები გამოიყენება პაკეტების მიწოდებისთვის. კლიენტებს და სერვერებს ეძლევათ მულტიკასტის ჯგუფის მისამართი, რომელსაც იყენებენ დროის სინქრონიზაციისთვის. ეს შესაძლებელს ხდის სხვადასხვა ქვექსელზე მდებარე მანქანების ჯგუფების სინქრონიზაციას, იმ პირობით, რომ მათ დამაკავშირებელი მარშრუტიზატორები მხარს უჭერენ IGMP პროტოკოლს და კონფიგურირებულია მულტიკასტის ტრაფიკის გადასაცემად.

მრავალი გადაცემის რეჟიმი

ეს რეჟიმი ახალია NTP პროტოკოლის მეოთხე ვერსიისთვის. ეს გულისხმობს, რომ კლიენტი ეძებს manycast სერვერებს ქსელის მეზობლებს შორის, იღებს დროის ნიმუშებს თითოეული მათგანისგან (კრიპტოგრაფიის გამოყენებით) და ამ მონაცემების საფუძველზე ირჩევს სამ „საუკეთესო“ manycast სერვერს, რომლებთანაც კლიენტი სინქრონიზდება. ერთ-ერთი სერვერის წარუმატებლობის შემთხვევაში, კლიენტი ავტომატურად ანახლებს სიას.

დროის ნიმუშების გადასაცემად, კლიენტები და სერვერები, რომლებიც მუშაობენ multiplecast რეჟიმში, იყენებენ მულტიკასტის ჯგუფების მისამართებს (კლასის D ქსელები). კლიენტები და სერვერები, რომლებიც იყენებენ იმავე მისამართს, ქმნიან ერთსა და იმავე ასოციაციას. ასოციაციების რაოდენობა განისაზღვრება გამოყენებული მულტიკასტის მისამართების რაოდენობით.

დრო Linux-ში

მოკლედ გეტყვით რა დრო არსებობს ლინუქსში და როგორ დავაყენოთ იგი. Linux-ში, როგორც სხვა OS-ში, არის 2-ჯერ. Პირველი - აპარატურა , ზოგჯერ ეძახიან რეალური დროის საათი, შემოკლებით ( RTC) (ისინი ასევე BIOS საათებია) ისინი ჩვეულებრივ ასოცირდება რხევად კვარცის კრისტალთან, რომელსაც აქვს სიზუსტე დღეში რამდენიმე წამამდე. სიზუსტე დამოკიდებულია სხვადასხვა რყევებზე, როგორიცაა გარემოს ტემპერატურა. მეორე საათი - შიდა პროგრამული საათი , რომელიც მუშაობს მუდმივად, მათ შორის სისტემაში შესვენების დროს. ისინი ექვემდებარებიან რყევებს, რომლებიც დაკავშირებულია სისტემის მაღალ დატვირთვასთან და შეფერხების შეფერხებასთან. თუმცა, სისტემა ჩვეულებრივ კითხულობს აპარატურულ საათს ჩატვირთვისას და შემდეგ იყენებს სისტემის საათს.

ოპერაციული სისტემის თარიღი და დროდაყენებულია ჩატვირთვისას მნიშვნელობის მიხედვით ტექნიკის საათი, ისევე, როგორც დროის ზონის პარამეტრები. დროის სარტყელის პარამეტრები აღებულია ფაილიდან /etc/ადგილობრივი დრო. ეს ფაილი არის დირექტორიაში არსებული ერთ-ერთი ფაილის ბმული (მაგრამ უფრო ხშირად ასლი). /usr/share/zoneinfo/.

Linux-ის აპარატურ საათებს შეუძლიათ დროის ფორმატში შენახვა UTC(GMT-ის ანალოგი), ან მიმდინარე ტერიტორიული დრო. ზოგადი რეკომენდაცია იმის შესახებ, თუ რა დროის დაყენება (?) არის შემდეგი: თუ კომპიუტერს აქვს რამდენიმე ოპერაციული სისტემა და ერთ-ერთი მათგანია Windows, მაშინ უნდა გამოიყენოთ მიმდინარე დრო (რადგან Windows იღებს დროს BIOS/CMOS-დან და თვლის მას. ადგილობრივი). თუ გამოიყენება მხოლოდ UNIX ოჯახის ოპერაციული სისტემები, მაშინ სასურველია დროის შენახვა BIOS-ში UTC ფორმატში.

ოპერაციული სისტემის ჩატვირთვის შემდეგ, ოპერაციული სისტემის საათი და BIOS სრულიად დამოუკიდებელია. სისტემის ბირთვი ყოველ 11 წამში ახდენს სისტემის საათის სინქრონიზაციას აპარატურულ საათთან.

გარკვეული პერიოდის შემდეგ, შეიძლება იყოს რამდენიმე წამის სხვაობა აპარატურულ და პროგრამულ საათებს შორის. რომელი საათი ინახავს სწორ დროს? არც ერთი და არც მეორე, სანამ არ დავაყენებთ დროის სინქრონიზაცია.

Შენიშვნა:

Linux-ის ბირთვი ყოველთვის ინახავს და ითვლის დროს წამების რაოდენობას შუაღამის შემდეგ 1970 წლის 1 იანვარი წლისთქვენი საათი დაყენებულია ადგილობრივ დროზე თუ უნივერსალურ დროზე. ადგილობრივ დროზე კონვერტაცია ხდება შეკითხვის პროცესში.

იმის გამო, რომ წამების რაოდენობა 1970 წლის 1 იანვრიდან UTC ინახება, როგორც ხელმოწერილი 32-ბიტიანი მთელი რიცხვი (ეს ეხება Linux/Intel სისტემებს), თქვენი საათი შეწყვეტს მუშაობას დაახლოებით 2038 წელს. Linux-ს არ აქვს Y2K პრობლემა, მაგრამ აქვს Y2038 პრობლემა. საბედნიეროდ, იმ დროისთვის ყველა ლინუქსი იმუშავებს 64-ზე ბიტი სისტემები. 64-ბიტიანი მთელი რიცხვი შეიცავს ჩვენს საათს დაახლოებით 292271 მილიონ წლამდე.

NTP სერვერი Linux

შესავალი

Linux OS-ისთვის დროის სინქრონიზაციის მრავალი განხორციელება არსებობს. ყველაზე ცნობილი არის Xntpd (NTP ვერსია 3), ntpd (NTP ვერსია 4), Crony და ClockSpeed. ჩვენს მაგალითში, ჩვენ გამოვიყენებთ ntp სერვერს ntpd.

ntpd დემონი არის როგორც დროის სერვერი, ასევე კლიენტი, კონფიგურაციის ფაილის პარამეტრებიდან გამომდინარე /etc/ntpd.conf (ზოგჯერ /etc/ntp.conf), დემონს შეუძლია "მიიღოს" დრო დისტანციური სერვერებიდან და "გაანაწილოს". დრო სხვა მასპინძლებისთვის.

გენერალი დროის სინქრონიზაციის წრელოკალურ ქსელში არის შემდეგი: თქვენ უნდა გქონდეთ 1 ან 2 სერვერი გლობალურ ქსელზე წვდომით, რომლებიც მიიღებენ დროს ინტერნეტიდან. ლოკალურ ქსელში არსებული ყველა კომპიუტერის სინქრონიზაცია მითითებულ სერვერებთან, რომლებიც იღებენ დროს ინტერნეტიდან.

ntpd-ის ინსტალაცია

რეალურად, დემონის ინსტალაციამოდის შემდეგი პაკეტების ინსტალაცია: ntp(პაკეტი თავად დემონის ჩათვლით), ntpdate(ხელით დროის სინქრონიზაციის პროგრამა - მოძველებულია), ntp-doc(პაკეტის დოკუმენტაცია), ზოგიერთ დისტრიბუციაში დაგჭირდებათ იგივეს დაყენება ntp-utils(დიაგნოსტიკური საშუალებები), ზოგიერთი მათგანი შედის ntp პაკეტში. როგორ დავაყენოთ პროგრამები Linux-ზე, მე აღვწერე. პაკეტის დაყენების შემდეგ, უმეტეს დისტრიბუციაში, დემონი უკვე კონფიგურირებული იქნება როგორც ntp კლიენტი (მაგალითად, ასე იყო Debian-ში). შესაბამისად, ავტომატურად შეიქმნა ძირითადი კონფიგურაციის ფაილები: /etc/ntp.conf და /var/lib/ntp/ntp.drift და დემონი ავტომატურად ამოქმედდა.

სანამ დემონის კონფიგურაციას მოვახდინოთ გარე სამყაროსთან სინქრონიზაციისთვის, მე ვთავაზობდი სისტემის მიმდინარე თარიღის დაყენებას რაც შეიძლება ახლოს რეალურ დროსთან. თარიღის დაყენება Linux-შიწარმოებული ბრძანებით: თარიღი MMDDhhmmCCYY.ss,სადაც MM - თვე, DD - თვის დღე, სთ - საათი, მმ - წუთი, CCYY - წლის 4 ციფრი, სს - წამი. ამავე დროს, ღირებულებები CCYY.ssარ არის საჭირო დაზუსტება.

როგორც ხედავთ, მითითებული ბრძანება დააყენებს მიმდინარე თარიღსა და დროს 2010 წლის 27 დეკემბერს, 20:06:30 საათამდე. თარიღის ბრძანებაპარამეტრების გარეშე, აჩვენეთ მიმდინარე სისტემის დრო. ამ ბრძანებას აქვს მრავალი ვარიანტი, რომელიც შეგიძლიათ ნახოთ man date-ში.

ასევე, თქვენ უნდა სწორად დააკონფიგურიროთ ტექნიკის საათი და დროის ზონა. როგორც ზემოთ აღვნიშნეთ, დროის ზონის კონფიგურაცია ხდება დირექტორიადან საჭირო ზონის ფაილის კოპირებით /usr/share/zoneinfo/შეიტანოს /etc/ადგილობრივი დრო:

Ntp-სერვერი:~# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

აპარატურა საათი UTC-ზე დავაყენე:

# კატა /etc/sysconfig/clock | grep UTC # UTC=true მიუთითებს, რომ საათი დაყენებულია UTC-ზე; UTC=true ntp2-სერვერი:~# cat /etc/default/rcS | grep UTC UTC=დიახ

პირველი მაგალითი განსაზღვრავს კონფიგურაციის ფაილს, რომელიც განსაზღვრავს UTC-ის გამოყენებას RH-სთვის, მეორე - Deb დისტრიბუციებისთვის.

UTC დროის გამოსაყენებლად პარამეტრების დაყენების გარდა, თქვენ უნდა დააყენოთ ტექნიკის დრო. (უმეტეს შემთხვევაში ეს არ არის საჭირო, რადგან დაყენებული სისტემის დრო აუცილებლად სინქრონიზებულია აპარატურასთან, ბირთვის მიერ). თუმცა, თუ თქვენ ამის სურვილი გაქვთ... hwclock ბრძანებაკითხულობს და ადგენს აპარატურულ საათს მასზე გადაცემული პარამეტრების მიხედვით. ხელმისაწვდომი ვარიანტები აღწერილია ბრძანების სახელმძღვანელოს გვერდზე. აქ მოცემულია hwclock-ის გამოყენების რამდენიმე მაგალითი:

ntp-server# hwclock # კითხულობს დროს ტექნიკის საათიდან ntp-server# hwclock --systohc --utc # აყენებს აპარატურულ საათს # UTC-ზე, სისტემის დროის მიხედვით ntp-server# hwclock --systohc # აყენებს აპარატურულ საათს # ლოკალური დროით, სისტემის დროის მიხედვით ntp-server# hwclock --set --date "22 Mar 2002 13:17" # აყენებს ტექნიკის საათს # მითითებულ სტრიქონზე

ტექნიკის საათში დროის შეცვლის კიდევ ერთი ვარიანტია BIOS-ზე წვდომა სისტემის ჩატვირთვისას. იმის გამო, რომ ოპერაციული სისტემის დრო დამოუკიდებელია ტექნიკის საათისგან, BIOS-ის ნებისმიერი ცვლილება გათვალისწინებული იქნება შემდეგი ჩატვირთვისას.

ახლა, როდესაც ყველაფერი მომზადებული და დაინსტალირებული გვაქვს, მოდით გავაგრძელოთ სამშენებლო მოედანზე.

ntpd დემონის მართვა

კონტროლი ntpd დემონიარაფრით განსხვავდება სხვა დემონების კონტროლისგან. გაუშვით ან გადატვირთეთ ntpd სერვისი:

#/etc/init.d/ntp დაწყება #/etc/init.d/ntp გადატვირთვა

შეჩერება:

#/etc/init.d/ntp გაჩერება

#/bin/kill `cat /var/run/ntpd.pid`

დემონს აქვს შემდეგი გაშვების პარამეტრები:

P - PID ფაილი,
-g - ჩართეთ დიდი დროის ნახტომზე გადასვლა
-c - კონფიგურაციის ფაილი
-q - ხელით სინქრონიზაციის იძულება

ntpd სერვერის დაყენება

უპირველეს ყოვლისა, გირჩევთ შეცვალოთ დემონის გაშვების პარამეტრები შემდეგ კონფიგურაციის ფაილში:

Ntp-სერვერი:~# cat /etc/default/ntp NTPD_OPTS="-g"

# cat /etc/sysconfig/ntpd # პარამეტრები NTP დემონისთვის. # იხილეთ ntpd (8) დამატებითი ინფორმაციისთვის. .... # განსაზღვრავს დამატებით პარამეტრებს ntpd-სთვის. NTPD_ARGS="-g"

ეს პარამეტრი საშუალებას მისცემს საათის სინქრონიზაციას, მაშინაც კი, თუ არის ძალიან დიდი დროის სხვაობა.

ასე რომ, როგორც ვთქვი, კონფიგურაციის ინფორმაცია ntpd დემონიარის ფაილში /etc/ntp.conf.ფაილის სინტაქსი სტანდარტულია, როგორც ბევრ სხვა კონფიგურაციაში: ცარიელი ხაზები და "#" სიმბოლოთი დაწყებული ხაზები იგნორირებულია. აქ არის მარტივი მაგალითი:

Ntp-სერვერი:~# cat /etc/ntp.conf სერვერი ntplocal.example.com ურჩევნია სერვერის timeserver.example.org სერვერი ntp2a.example.net driftfile /var/db/ntp.drift

Პარამეტრი სერვერიგანსაზღვრავს რომელი სერვერები იქნება გამოყენებული სინქრონიზაციისთვის, თითო სტრიქონზე. თუ სერვერი მოცემულია არგუმენტით ურჩევნია, როგორ ntplocal.example.com, მაშინ ამ სერვერს ენიჭება უპირატესობა სხვებზე. სასურველი სერვერის პასუხი გაუქმდება, თუ ის მნიშვნელოვნად განსხვავდება სხვა სერვერების პასუხებისგან, წინააღმდეგ შემთხვევაში ის გამოყენებული იქნება სხვა პასუხების გათვალისწინების გარეშე. არგუმენტი ურჩევნიაჩვეულებრივ გამოიყენება NTP სერვერებისთვის, რომლებიც ცნობილია, რომ ძალიან ზუსტია, როგორიცაა ისეთები, რომლებიც იყენებენ დროის აღრიცხვის სპეციალურ აღჭურვილობას.

Პარამეტრი დრიფფაილიგანსაზღვრავს ფაილს, რომელიც გამოიყენება სისტემის საათის ოფსეტური შესანახად. რამდენადაც მე მესმის, ეს ფაილი მუდმივად ინახავს გარკვეულ მნიშვნელობას, რომელიც ყალიბდება წარსული დროის კორექტირების ანალიზის საფუძველზე და თუ დროის გარე წყაროები მიუწვდომელია, მაშინ დროის კორექტირება ხდება ფაილიდან მნიშვნელობის მიხედვით. დრიფტი.ის არ უნდა შეიცვალოს სხვა პროცესებით. და სანამ მიუთითებს მოცემული ფაილიკონფიგურაციაში - ფაილი უნდა შეიქმნას.

ნაგულისხმევად, NTP სერვერი ხელმისაწვდომი იქნება ინტერნეტის ყველა ჰოსტისთვის. Პარამეტრი შეზღუდოსფაილში /etc/ntp.confსაშუალებას გაძლევთ აკონტროლოთ რომელ მანქანებს შეუძლიათ თქვენს სერვერზე წვდომა. Თუ გინდა თავიდან აიცილოთ ყველა მანქანა თქვენს NTP სერვერზე წვდომისგან, დაამატეთ შემდეგი ხაზიშეიტანოს /etc/ntp.conf:

შეზღუდოს ნაგულისხმევი იგნორირება

Თუ გინდა დაუშვასთქვენი საათის სინქრონიზაცია მხოლოდ სერვერთან მანქანები თქვენს ქსელში, მაგრამ აკრძალვამათ სერვერის კონფიგურაციაან იყავით თანაბარი მონაწილეები დროის სინქრონიზაციაში, შემდეგ მითითებულის ნაცვლად დაამატეთ ხაზი:

შეზღუდოს 192.168.1.0 ნიღაბი 255.255.255.0 nomodify notrap

სადაც 192.168.1.0 არის თქვენი ქსელის IP მისამართი და 255.255.255.0 არის მისი ქსელის ნიღაბი. /etc/ntp.confშეიძლება შეიცავდეს რამდენიმე შეზღუდვის დირექტივას.

იმისათვის, რომ დემონმა სწორად და უფრო ზუსტად იმუშაოს, მიზანშეწონილია აირჩიოთ დონის სერვერი - სტრატიდან 2 (შეგიძლიათ, რა თქმა უნდა, ფენა1, მაგრამ თქვენ უნდა დაკარგოთ დრო ასეთი სერვერის ძებნაში) და არჩეული 2 ფენიდან. რომლის მინიმალური „მანძილი“. ჩვეულებრივ, ასეთი სერვერები შეიძლება უზრუნველყოფილი იყოს თქვენი პროვაიდერის მიერ. შერჩეული სერვერების რაოდენობა სასურველია - 2-3-ზე მეტი, რაც მეტი მით უკეთესი, მაგრამ გონივრულ ფარგლებში. თუ ძალიან გეზარებათ არჩევანი საუკეთესო სერვერები, შემდეგ შეგიძლიათ მიიღოთ მეორე დონის ღია სერვერების სია აქედან: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers.

აირჩიეთ საცნობარო NTP სერვერების სია

თან მივდივართ მითითებული მისამართი(http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers) და აირჩიეთ საწყისი სერვერების სია. ამ სიიდან ჩვენ ვირჩევთ სერვერებს, რომლებიც აკმაყოფილებენ ჩვენს მოთხოვნებს ბრძანების გამომავალი ანალიზით ntpdate. როდესაც ბრძანება შესრულებულია, გამოიყენება შემდეგი სინტაქსი:

ntpdate პარამეტრები servers_space გამოყოფილია

იმისათვის, რომ ჩვენმა შეკითხვამ არ შეიტანოს ცვლილებები სისტემაში, უნდა გამოვიყენოთ -q პარამეტრი, რომელიც მიუთითებს მოთხოვნის გამოყენებაზე ცვლილებების შეტანის გარეშე. ასევე შესაძლებელია გამოიყენოთ -d შეცვლა, რაც მიუთითებს იმაზე, რომ ბრძანება შესრულდება გამართვის რეჟიმში, დამატებითი ინფორმაციის ჩვენებით, რეალური ცვლილებების გარეშე (როდესაც მოცემული ვენანაჩვენებია სხვა ნაგვის თაიგული :), რომელიც ჩვენ ამ მომენტშიარაა საჭირო). სხვა ვარიანტებისთვის იხილეთ man 8 ntpdate. მითითებული ბმულიდან შევარჩიე ყველა ღია წვდომის სერვერი, რომელიც მდებარეობს რუსეთში (RU) + პროვაიდერის მიერ მოწოდებული და გავუშვი ბრძანება, ასე გამოვიდა:

ntp-სერვერი:~# ntpdate -q ntp2.ntp-servers.net ntp1.vniiftri.ru ntp2.vniiftri.ru ntp4.vniiftri.ru ntp0.ntp-servers.net ntp1.ntp-ntpcor.bin. სერვერი 88.147.255.85, Stratum 1, Offset 0.006494, Delay 0.09918 Server 62.117.76.142, Stratum 1, Offset 0.002552, Delay 0.06920 სერვერი 62.117.76.141, Stratum 1, Offset 0.003147, DELEAD 0.06918 Server 62.117.76.140, Stratum 1, Offset 0.004823, დაგვიანებით 0.07350 სერვერი 88.147.254.228, Stratum 1, ოფსეტური -0.002355, დაგვიანებით 0.12030 სერვერი 88.147.254.229, Stratum 1, ოფსეტური -0.000922, დაგვიანებით 0.10577 სერვერი 62.117.76.138, Stratum 1, ოფსეტური 0.005331, 0.07401 სერვერი დაგვიანებით 195.141, Stratum 2 , ოფსეტი 0.002846, დაყოვნება 0.07188 13 იან 19:14:09 ntpdate: დროის კორექტირება სერვერი 62.117.76.141 ოფსეტი 0.003147 წმ

მაგალითში, ჩვენმა სერვერებმა წარმატებით გამოსცეს stratum1 დონე, რაც კარგი ამბავია (პროვაიდერის სერვერის გარდა), ოფსეტი არის დროის სხვაობა ამ სერვერთან წამებში, დაყოვნება არის სინქრონიზაციის შეფერხება წამებში. ჩვეულებრივ, ბ უფრო დიდი სიზუსტე მიიღწევა სერვერების გამოყენებისას, რომლებსაც აქვთ დაბალი ლატენტური პაკეტის გადაცემა ქსელში. გასარკვევად, შეგიძლიათ გამოიყენოთ. შესაბამისად, პირველ რიგში აირჩევთ მათ, ვისაც რეაგირების მოკლე დრო აქვს, და მათგან, ვისაც ნაკლები ნახტომი აქვს. მე, იმისთვის, რომ დრო არ დავკარგო, გამოვიყენებ ყველა მითითებულ სერვერს და შევიყვან მათ კონფიგურაციის ფაილში. მთლიანობაში, ყოველივე ზემოთქმულის ცოდნა, მე აღვწერ ჩემს შედეგად მიღებულ ფაილს /etc/ntp.conf:

Ntp-სერვერი:~# cat /etc/ntp.conf # LAN სერვერები (კომენტირებულია, არ გამოიყენება - მხოლოდ ერთი სერვერი ქსელში) #server 192.168.0.2 #server 192.168.0.5 # ინტერნეტ სერვერის სერვერი ntp2.ntp-სერვერები. ქსელის სერვერი ntp1.vniiftri.ru სერვერი ntp2.vniiftri.ru სერვერი ntp4.vniiftri.ru სერვერი ntp0.ntp-servers.net სერვერი ntp1.ntp-servers.net სერვერი ntp3.vniiftri.ru სერვერის ფაილები ntp.corbina.net # driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntpstats # ზღუდავს წვდომას სერვერზე: # იგნორირება ყველაფერს ნაგულისხმევად შეზღუდავს ნაგულისხმევი იგნორირებას # localhost პარამეტრების გარეშე - ყველაფერი ნებადართულია. პარამეტრები მიდის მხოლოდ აკრძალვებზე. შეზღუდეთ 127.0.0.1 # შემდეგი აღწერს სერვერებს, რომლებთანაც სინქრონიზაციას ვახორციელებთ ლოკალურ ქსელში. # მიეცით მათ ყველაფერი, გარდა ხაფანგებისა და მოთხოვნისა, შეზღუდეთ 192.168.0.2 noquery notrap limit 192.168.0.5 noquery notrap # LAN-ისთვის ჩვენ ასევე ვუშვებთ ყველაფერს გარდა ხაფანგებისა და ცვლილებების შეზღუდვისა 192.168.0.1 mask 255.255.255.0 noquery notrap time sources : შეზღუდოს ntp2.ntp-servers.net შეზღუდოს ntp1.vniiftri.ru შეზღუდოს ntp2.vniiftri.ru შეზღუდოს ntp4.vniiftri.ru შეზღუდოს ntp0.ntp-servers.net შეზღუდოს ntp1.ntp-servers.net შეზღუდოს ntp3.vniiftri. ntp.corbina.net # და ეს არის ჰაკი, რომელიც ადგენს სერვერის (ფენების) ნდობის დონეს თავისთავად 3 #-ის ტოლი მოკლედ, რაც უფრო მაღალია დონე, მით ნაკლებია რიცხვი. 0 არის ატომური საათი, #1 სინქრონიზებულია მასთან, 2 არის პირველთან და ა.შ. სერვერი 127.127.1.1 ფაჯი 127.127.1.1 ფენა 3

სერვერის უფრო სიღრმისეული გაგებისა და კონფიგურაციისთვის, მე აღვწერ ntpd კონფიგურაციის რამდენიმე ვარიანტს, რომლებიც არ მიხსენებია:

  • ჩართვა გამორთვა auth/monitor/pll/pps/stats - ჩართეთ გამორთვა სამუშაო რეჟიმი:
    • ავტორიზაცია- დაუკავშირდით უხსენებელ მეზობლებს მხოლოდ ავთენტიფიკაციის რეჟიმში;
    • მონიტორი- მოთხოვნის მონიტორინგის დაშვება;
    • pll- საშუალებას გაძლევთ დააყენოთ ადგილობრივი საათის სიხშირე NTP-ის საშუალებით;
    • სტატისტიკა- სტატისტიკის შეგროვების დაშვება;
  • სტატისტიკაloopstats- ლოკალური საათის თითოეულ მოდიფიკაციაზე წერს ხაზს ფაილში loopstats;
  • სტატისტიკათანატოლები- მეზობლთან ყოველი კომუნიკაცია ჩაწერილია ფაილში შენახულ ჟურნალში თანატოლები;
  • სტატისტიკასაათის სტატისტიკა- ადგილობრივი საათის დრაივერის თითოეული შეტყობინება იწერება ფაილში შენახულ ჟურნალში საათის სტატისტიკა;
  • statsdir(catalogue_name_with_statistics)- ადგენს დირექტორიას სახელს, სადაც განთავსდება ფაილები სერვერის სტატისტიკით;
  • ფაილგენი - განსაზღვრავს ფაილის სახელების გენერირების ალგორითმს, რომელიც შედგება:
    • პრეფიქსი- ფაილის სახელის მუდმივი ნაწილი, მითითებული ან შედგენის დროს, ან სპეციალური გუნდებიკონფიგურაცია;
    • Ფაილის სახელი- დაემატა პრეფიქსს დახრილობის გარეშე, ორი წერტილი აკრძალულია, შეიძლება შეიცვალოს ფაილის ღილაკით;
    • სუფიქსი- გენერირებულია ტიპის სახელის მიხედვით;
  • შეზღუდოსრიცხვითი-მისამართი- ადგენს წვდომის შეზღუდვას: პაკეტების დალაგება და ნიღბები ხდება, წყაროს მისამართი აღებულია და შედარება თანმიმდევრულად, დროშა აღებულია ბოლო წარმატებული შედარებიდან. წვდომა:
    • დროშების გარეშე- მიეცით წვდომა;
    • იგნორირება- იგნორირება ყველა პაკეტი;
    • ნოკერი- NTP 6 და 7 პაკეტების იგნორირება (მოთხოვნა და მდგომარეობის შეცვლა);
    • ნომოდიფიცირება- NTP 6 და 7 პაკეტების იგნორირება (მდგომარეობის მოდიფიკაცია);
    • შეზღუდული- ემსახურება მხოლოდ შეზღუდული რაოდენობის კლიენტებს მოცემული ქსელიდან;
    • არა- ემსახურეთ მასპინძელს, მაგრამ არ მოახდინოთ მასთან სინქრონიზაცია;
  • კლიენტის ლიმიტიზღვარი- დროშისთვის შეზღუდულიგანსაზღვრავს მომსახურე კლიენტების მაქსიმალურ რაოდენობას (ნაგულისხმევად 3);

საერთო ჯამში, ჩვენ მივიღეთ ntpd სერვერი, რომელიც სინქრონიზებულია გარე სამყაროსთან, საშუალებას გაძლევთ მიიღოთ დრო კლიენტებისთვის ლოკალური ქსელიდან 192.168.0.1 ნიღბით 255.255.255.0 და ასევე შესაძლებელია ლოკალურ სერვერთან სინქრონიზაცია (თუ რამდენიმე სტრიქონს გააუქმებთ კომენტარებს). ჩვენ უბრალოდ უნდა დავაყენოთ კლიენტები და ვისწავლოთ ჩვენი სერვერის მონიტორინგი.

ntpd სერვერის მონიტორინგი და სინქრონიზაცია

როცა ყველაფერი მზად ხარ. NTP დაიცავს დროს სინქრონულად. ამ პროცესის დაკვირვება შესაძლებელია NTP Query (ntpq) ბრძანების გამოყენებით:

Ntp-სერვერი:~# ntpq -p დისტანციური შესწორება st t, როდესაც გამოკითხვის მიღწევის დაყოვნების ოფსეტური ჟიტერი ============================= =============================================-n3. დრო1. d6.hsd .PPS. 1 u 34 64 177 70.162 2.375 8.618 +ntp1.vniiftri.r .PPS. 1 u 33 64 177 43.479 -0.020 10.198 *ntp2.vniiftri.r .PPS. 1 u 6 64 177 43.616 -0.192 0.688 +ntp4.vniiftri.r .PPS. 1 u 4 64 177 43.623 0.440 0.546 -n1.time1.d6.hsd .PPS. 1 u 53 64 77 92.865 -11.358 38.346 -ns1.hsdn.org .GPS. 1 u 40 64 177 78.057 -3.292 35.083 -ntp3.vniiftri.r .PPS. 1 u 44 64 77 47.667 2.292 2.611 -scylla-l0.msk.c 192.43.244.18 2 u 62 64 77 41.565 -1.564 28.914

ეს ბრძანება -p გადამრთველით გამოსცემს სტანდარტულ გამომავალს დროის წყაროების სიას მათი მახასიათებლებით (ბრძანების სხვა ვარიანტები man ntpq-ში). თითოეული სვეტის მნიშვნელობა შემდეგია:

დისტანციური NTP სერვერის სახელი. თუ დააკონკრეტებთ -n შეცვლას, სახელების ნაცვლად მიიღებთ სერვერის IP მისამართებს.

მიუთითებს, საიდან იღებს დროს თითოეული სერვერი ამჟამად. ეს შეიძლება იყოს ჰოსტის სახელი ან მსგავსი .GPS წყაროს მითითებით გლობალური სისტემაპოზიციონირება (გლობალური პოზიციონირების სისტემა).

Stratum (დონე) არის რიცხვი 1-დან 16-მდე, რაც მიუთითებს სერვერის სიზუსტეზე. ერთი ნიშნავს მაქსიმალურ სიზუსტეს, 16 ნიშნავს, რომ სერვერი მიუწვდომელია. თქვენი დონე უდრის ყველაზე ნაკლებად ზუსტი დისტანციური სერვერის დონეს პლუს 1.

ინტერვალი გამოკითხვებს შორის (წამებში). მნიშვნელობა შეიცვლება კენჭისყრის მინიმალურ და მაქსიმალურ მაჩვენებლებს შორის. დასაწყისში, ინტერვალი მცირე იქნება, რათა სინქრონიზაცია სწრაფად მოხდეს. საათების სინქრონიზაციის შემდეგ, ინტერვალი იწყებს ზრდას, რათა შემცირდეს ტრაფიკი და დატვირთვა დროის პოპულარულ სერვერებზე.

რვა ბიტიანი მასივის რვიანი წარმოდგენა, რომელიც წარმოადგენს სერვერთან დაკავშირების ბოლო რვა მცდელობის შედეგებს. ბიტი დაყენებულია, თუ დისტანციური სერვერი უპასუხა.

დრო (წამებში) სჭირდება პასუხის მიღებას კითხვაზე "რა დროა?".

ყველაზე მნიშვნელოვანი სფერო. განსხვავება ადგილობრივ დროსა და დისტანციური სერვერები. სინქრონიზაციის დროს ეს მნიშვნელობა უნდა შემცირდეს (ნულს უახლოვდება), რაც მიუთითებს იმაზე, რომ ადგილობრივი აპარატის საათი უფრო ზუსტი ხდება.

დისპერსია (Jitter) არის სტატისტიკური გადახრების საზომი ოფსეტური მნიშვნელობიდან (ოფსეტური ველი) რამდენიმე წარმატებული მოთხოვნა-პასუხის წყვილზე. უფრო მცირე დისპერსიის მნიშვნელობა სასურველია, რადგან ის იძლევა დროის უფრო ზუსტი სინქრონიზაციის საშუალებას.

სიმბოლოების მნიშვნელობა სერვერის სახელების წინ

x - ყალბი წყარო გადაკვეთის ალგორითმის მიხედვით;
. - შორი მანძილის გამო კანდიდატთა სიიდან გარიცხულია;
- - ამოღებულია კანდიდატთა სიიდან კლასტერიზაციის ალგორითმით;
+ - შედის კანდიდატთა საბოლოო სიაში;
# - შერჩეულია სინქრონიზაციისთვის, მაგრამ არის 6 საუკეთესო კანდიდატი;
* - შერჩეული სინქრონიზაციისთვის;
o - შერჩეულია სინქრონიზაციისთვის, მაგრამ გამოიყენება PPS;
სივრცე - ძალიან ბევრი დონე, ციკლი ან აშკარა შეცდომა;

ntpd სერვისი"ჭკვიანი" და თავად აშორებს დროის წყაროებს, რომლებიც ზედმეტად სცილდება გონების საზღვრებს. დაწყებიდან გარკვეული დროის შემდეგ, ntpd შეარჩევს მონაცემთა ყველაზე სანდო წყაროებს და სინქრონიზდება მათთან. ჩვენს მიერ მოწოდებული NTP სერვერების სია რეგულარულად განიხილება სერვისის მიერ.

თქვენ შეგიძლიათ შეამოწმოთ ლოკალური სინქრონიზაციის შესაძლებლობა სერვერზე ბრძანებით:

Ntp-სერვერი:~# ntpdate -q ლოკალური მასპინძელი სერვერი 127.0.0.1, ფენა 2, ოფსეტური -0.000053, დაყოვნება 0.02573 სერვერი::1, ფენა 2, ოფსეტური -0.000048, დაყოვნება 0.02571 4:nt სერვერის დარეგულირება 14 იანვ. ::1 ოფსეტი -0.000048 წმ

ბრძანების გამოსვლიდან ჩანს, რომ ჩვენი სერვერი უკვე გახდა ფენის 2 დონე მოცემული დონე, ცოტა დრო სჭირდება. ალბათ პირველ 10-15 წუთში სერვერის დონე უფრო მაღალი იქნება.

ntp სერვერის სწორი ფუნქციონირება ასევე შეიძლება შეფასდეს ntpd დემონის ჟურნალებით:

Ntp სერვერი:~# cat /var/log/ntpstats/ntp 13 იან 20:13:16 ntpd: მოსმენა ინტერფეისზე #5 eth0, fe80::a00:27ff:fec1:8059#123 ჩართულია 13 იან 20:13: 16 ntpd: მოსმენა ინტერფეისზე #6 eth0, 192.168.0.8#123 ჩართულია 14 იან 14:31:00 ntpd: სინქრონიზებულია 62.117.76.142, ფენა 1 14 იან. 14:31:10 იანვ. :31:10 ntpd: ბირთვის დროის სინქრონიზაციის სტატუსის შეცვლა 0001 14 იან 14:34:31 ntpd: სინქრონიზებულია 88.147.255.85-მდე, ფენა 1 14 იან 14:36:04 ntpd: სინქრონიზებულია 111111,476 იანვარზე. 04:36 ntpd: სინქრონიზებულია 62.117.76.142-ზე, ფენა 1 14 იან 15:10:58 ntpd: სინქრონიზებულია 62.117.76.140-ზე, ფენა 1 14 იან 15:17:54 n3 იანვ. : სინქრონიზებულია 62.117.76.140-ზე, ფენა 1 14 იან 15:32:14 ntpd: დროის გადატვირთვა +13.139105 წმ

მიმდინარეობს netfilter (iptables) კონფიგურაცია NTP სერვერისთვის

სერვერის კონფიგურაციის შემდეგ, კარგი იქნებოდა მისი დაცვა. ჩვენ ვიცით, რომ სერვერი მუშაობს პორტზე 123/udp, ხოლო მოთხოვნები ასევე იგზავნება პორტიდან 123/udp. სტატიის წაკითხვისა და პრაქტიკულის წაკითხვის შემდეგ, შეგიძლიათ შექმნათ ქსელის ტრაფიკის ფილტრაციის წესები:

Ntp ~ # iptables-save # ზოგადი iptables წესები DNS-ისთვის *ფილტრი:INPUT DROP :FORWARD DROP :OUTPUT DROP -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -jINACPUT -m conntrack --ctstate INVALID -j DROP # დაუშვას LAN წვდომა NTP სერვერზე: -A INPUT -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 123 -m conntrack - - ctstate NEW -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A OUTPUT -p icmp -j ACCEPT -A OUTPUT -p udp -m udp --sport 32768:61000 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 32768:61000 -j ACCEPT -A OUTPUT -m contrack --ctstate RELATED,SETABLISHED -j ACCEPT # დაუშვას NTP სერვერზე წვდომა გამავალი მოთხოვნების განსახორციელებლად -A OUTPUT -p udp -m udp --sport 123 --dport 123 -m conntrack --ctstate NEW -j ACCEPT COMMIT

ეს ტიპიური მაგალითია! iptables-ის წესების დასაყენებლად თქვენი ამოცანებისა და ქსელის კონფიგურაციისთვის, თქვენ უნდა გესმოდეთ, როგორ მუშაობს netfilter Linux-ში ზემოაღნიშნული სტატიების წაკითხვით.

კლიენტის მანქანების დაყენება

UNIX მანქანებზე დროის სინქრონიზაციისთვისლოკალური ქსელი, მიზანშეწონილია გამოიყენოთ ntpdate პროგრამა, დღეში რამდენჯერმე გაშვება, მაგალითად, ყოველ საათში. ამისათვის თქვენ უნდა დაამატოთ შემდეგი ხაზი:

0 * * * * /usr/sbin/ntpdate -s

-s შეცვლა ხელმძღვანელობს ბრძანების გამომავალს. თუ კლიენტის აპარატებს აქვთ რამდენიმე დამატებითი მეგაბაიტი ოპერატიული მეხსიერება, მაშინ შეგიძლიათ დაიწყოთ ntpd დემონი, ისევე როგორც სერვერზე შემდეგი კონფიგურაციით:

სერვერი ნაგულისხმევი შეზღუდვა, იგნორირება შეზღუდვა noquery notrap limit 127.0.0.1 nomodify notrap

ვფიქრობ, ამ კონფიგურაციაში ყველაფერი ნათელია: დროის წყარო (სერვერი) არის ლოკალური ntpd სერვერი, უარყავით წვდომა ყველასთან, დაუშვით მხოლოდ ლოკალური ntpd სერვერი.

ასევე, კლიენტებზე, სწორად უნდა მიუთითოთ, რომელ ფორმატში შეინახოთ დრო და აირჩიოთ სწორი დროის ზონა, .

Windows NTP კლიენტის კონფიგურაციისთვის, თქვენ უნდა შეასრულოთ შემდეგი ბრძანებები კონსოლში:

C:\>nettime /setsntp: ბრძანება წარმატებით დასრულდა. C:\>net stop w32time Windows Time სერვისი ჩერდება. Windows Time სერვისი წარმატებით შეჩერდა. C:\>net start w32time Windows Time სერვისი იწყება. Windows Time სერვისი წარმატებით დაიწყო. C:\>net დრო /querysntp მიმდინარე SNTP მნიშვნელობა არის: ბრძანება წარმატებით დასრულდა.

დასკვნა

ისე, როგორც ყველაფერი! სტატიის მოცულობა უზარმაზარი აღმოჩნდა ... მე თვითონაც არ ველოდი ამას. ნება მომეცით ცოტა შევაჯამოთ. ამ სტატიაში, იმედი მაქვს, ჩვენთვის ნათელი გახდა, რა არის და როგორ მუშაობს NTP სერვერი. ვისწავლეთ სერვერის და კლიენტების დაყენება UNIX-ზე და ვინდოუსის მანქანები. რამდენიმე სიტყვით, ლოკალურ ქსელში დროის სინქრონიზაციის სტრუქტურა ასეთია: ლოკალურ ქსელში არის 1.2 ან მეტი ზუსტი დროის სერვერი, ისინი სინქრონიზებენ დროს გარე წყაროებთან გლობალური ქსელი. სერვერისა და კლიენტის პარამეტრები ეფუძნება /etc/ntp.conf (მთავარი ntpd დემონის კონფიგურაციის ფაილი), /etc/localtime (საათი ზონის მიმდინარე ფაილი), /etc/sysconfig/ntp (RH-სთვის) და /etc/default /ntp (ამისთვის Deb) - დემონის გაშვების პარამეტრის ფაილები. ლოკალური ntp სერვერისთვის კონფიგურაციის ფაილში მითითებულია გარე სერვერები დროის მისაღებად და წვდომა ნებადართულია ამ სერვერებისთვის შეზღუდვის პარამეტრით, ასევე ლოკალური ქსელის კომპიუტერებისთვის, კლიენტებისთვის მითითებულია დროის წყარო - ლოკალური სერვერებილოკალურ ქსელში და წვდომა ასევე აკრძალულია ყველასთვის ლოკალურ ქსელში დროის წყაროს გარდა. ყველაფერი. მადლობა ყველას ყურადღებისთვის! სიამოვნებით დავწერ კომენტარებს!

  • (სტატიის არქივი) აღწერს, თუ როგორ დააკავშიროთ GPS სერვერს თქვენი Stratum1 დონის ზუსტი დროის სერვერის ორგანიზებისთვის.
  • აღწერს, თუ როგორ უნდა დააკონფიგურიროთ ავტორიზაცია ntp სერვერზე.

შუადღე მშვიდობისა, ძვირფასო მკითხველებო და ბლოგის საიტის სტუმრებო, რამდენი ადამიანი საუბრობს დროზე, რომ ის სწრაფად ან ნელა გადის და ყველას ესმის, რომ ის ფასდაუდებელი და მნიშვნელოვანია. ასე რომ, Active Directory ინფრასტრუქტურაში, ის ერთ-ერთია კრიტიკული ფაქტორები, დომენის სწორი ფუნქციონირება. დომენში ყველა ერთმანეთს ენდობა და მას შემდეგ, რაც შესულია და მიიღებს ყველა ბილეთს Kerberos-დან, მომხმარებელი მიდის სადმე, მხოლოდ მისი ხელმისაწვდომი უფლებებით შეზღუდული. ასე რომ, თუ არ გაქვთ ზუსტი დრო თქვენს სამუშაო სადგურებზე დომენის კონტროლერამდე, მაშინ შეგიძლიათ ჩავთვალოთ, რომ გეწყებათ სერიოზული პრობლემები, რომლებსაც ქვემოთ განვიხილავთ და განვიხილავთ, თუ როგორ უნდა გამოვასწოროთ ისინი. Windows NTP სერვერის პარამეტრები.

დროის სინქრონიზაცია Active Directory-ში

შემდეგი დროის სინქრონიზაციის სქემა მუშაობს Active Directory-ში მონაწილე კომპიუტერებს შორის.

  • root დომენის კონტროლერი AD ტყეში, რომელიც ფლობს PDC ემულატორის FSMO როლს (მოდით დავარქვათ მას root PDC) არის დროის წყარო ამ დომენის ყველა სხვა დომენის კონტროლერისთვის.
  • ბავშვთა დომენის კონტროლერები სინქრონიზებენ დროს დომენის კონტროლერებთან ზემოთ AD ტოპოლოგიაში.
  • დომენის ჩვეულებრივი წევრები (სერვერები და სამუშაო სადგურები) სინქრონიზებენ დროს მათთან უახლოეს ხელმისაწვდომ დომენის კონტროლერთან, AD ტოპოლოგიის გათვალისწინებით.

root PDC-ს შეუძლია თავისი დროის სინქრონიზაცია როგორც გარე წყაროსთან, ასევე საკუთარ თავთან, ეს უკანასკნელი ნაგულისხმევად არის დაყენებული და აბსურდულია, რადგან სისტემაში შეცდომებს პერიოდულად მიანიშნებს.

root PDC კლიენტების სინქრონიზაცია შეიძლება განხორციელდეს როგორც მისი შიდა საათიდან, ასევე გარე წყაროდან. პირველ შემთხვევაში, root PDC-ის დროის სერვერი თავს აცხადებს, როგორც "სანდო".

შემდეგი, მე მივცემ root PDC დროის სერვერის ოპტიმალურ კონფიგურაციას ჩემი გადმოსახედიდან, რომელშიც თავად root PDC პერიოდულად სინქრონიზებს დროს სანდო წყაროდან ინტერნეტში და სინქრონიზებს მასზე წვდომის კლიენტების დროს მის შიდა საათთან. .

შედი netdom შეკითხვა fsmo.ჩემს მაგალითში, PDC და NTP სერვერის როლი ეკუთვნის dc7 კონტროლერს

NTP სერვერის კონფიგურაცია Root PDC-ზე

Windows დროის სერვერის (NTP სერვერის) კონფიგურაცია შეიძლება განხორციელდეს ბრძანების ხაზის კომუნალური პროგრამის გამოყენებით w32tmდა რეესტრის მეშვეობით. სადაც შესაძლებელია, ორივე ვარიანტს შემოგთავაზებთ. მაგრამ დასაწყისში გადახედეთ თქვენს სრულ პარამეტრებს კომპიუტერზე, ეს კეთდება ბრძანებით:

w32tm /შეკითხვა /კონფიგურაცია

EventLogFlags: 2 (ადგილობრივი)
ანონსი დროშები: 10 (ადგილობრივი)
TimeJumpAuditOffset: 28800 (ლოკალური)
MinPollInterval: 6 (ადგილობრივი)
MaxPollInterval: 10 (ადგილობრივი)
MaxNegPhaseCorrection: 172800 (ლოკალური)
MaxPosPhaseCorrection: 172800 (ლოკალური)
MaxAllowedPhaseOffset: 300 (ლოკალური)

სიხშირის კორექტული მაჩვენებელი: 4 (ადგილობრივი)
PollAdjustFactor: 5 (ლოკალური)
Large Phase Offset: 50000000 (ლოკალური)
SpikeWatchPeriod: 900 (ადგილობრივი)
LocalClockDispersion: 10 (ლოკალური)
შენახვის პერიოდი: 5 (ადგილობრივი)
PhaseCorrectRate: 7 (ადგილობრივი)
განახლების ინტერვალი: 100 (ადგილობრივი)

NtpClient (ლოკალური)

ჩართულია: 1 (ადგილობრივი)
შეყვანის პროვაიდერი: 1 (ლოკალური)
CrossSiteSyncFlags: 2 (ლოკალური)

ResolvePeerBackoffMinutes: 15 (ადგილობრივი)
ResolvePeerBackoffMaxTimes: 7 (ადგილობრივი)
თავსებადობის დროშები: 2147483648 (ადგილობრივი)
EventLogFlags: 1 (ლოკალური)
LargeSampleSkew: 3 (ადგილობრივი)
სპეციალური გამოკითხვის ინტერვალი: 3600 (ადგილობრივი)
ტიპი: NT5DS (ლოკალური)

NtpServer (ლოკალური)
DllName: C:\Windows\system32\w32time.dll (ლოკალური)
ჩართულია: 1 (ადგილობრივი)
შეყვანის პროვაიდერი: 0 (ლოკალური)
AllowNonstandardModeCombinations: 1 (ლოკალური)

VMICTimeProvider (ლოკალური)
DllName: C:\Windows\System32\vmictimeprovider.dll (ლოკალური)
ჩართულია: 1 (ადგილობრივი)
შეყვანის პროვაიდერი: 1 (ლოკალური)

შიდა საათის სინქრონიზაციის ჩართვა გარე წყაროსთან


NTP სერვერის ჩართვა

NTP სერვერი ნაგულისხმევად ჩართულია დომენის ყველა კონტროლერზე, მაგრამ მისი ჩართვა შესაძლებელია წევრ სერვერებზეც.


სინქრონიზაციისთვის გარე წყაროების სიის დაყენება


ბოლოში 0x8 დროშა ნიშნავს, რომ სინქრონიზაცია უნდა მოხდეს NTP კლიენტის რეჟიმში, ამ სერვერის მიერ შემოთავაზებული ინტერვალებით. იმისათვის, რომ დააყენოთ საკუთარი სინქრონიზაციის ინტერვალი, უნდა გამოიყენოთ 0x1 დროშა.

სინქრონიზაციის ინტერვალის დაყენება გარე წყაროსთან

დრო წამებში სინქრონიზაციის წყაროს გამოკითხვებს შორის, ნაგულისხმევი 900 წამი = 15 წთ. მუშაობს მხოლოდ 0x1 დროშით მონიშნულ წყაროებზე.


  • "SpecialPollInterval"=dword:00000384

მინიმალური დადებითი და უარყოფითი კორექტირების დაყენება

მაქსიმალური დადებითი და უარყოფითი დროის კორექტირება (განსხვავება შიდა საათსა და სინქრონიზაციის წყაროს შორის) წამებში, რომლის ზემოთაც სინქრონიზაცია არ ხდება. მე გირჩევთ მნიშვნელობას 0xFFFFFFFF, რომელზედაც შესწორება ყოველთვის შესაძლებელია.


"MaxPosPhaseCorrection"=dword:FFFFFFFF
"MaxNegPhaseCorrection"=dword:FFFFFFFF

ყველაფერი რაც თქვენ გჭირდებათ ერთ ხაზზე

w32tm.exe /config /manualpeerlist:"time.nist.gov,0x8 ntp1.imvp.ru,0x8 ntp2.imvp.ru,0x8 time.windows.com,0x8 pool.ntp.org,0x8" /syncfromflags:manual / საიმედო: დიახ / განახლება

სასარგებლო ბრძანებები

  • გამოიყენეთ დროის სერვისის კონფიგურაციაში განხორციელებული ცვლილებები
    w32tm /config /განახლება
  • იძულებითი სინქრონიზაცია წყაროდან
    w32tm / ხელახლა სინქრონიზაცია / ხელახლა აღმოჩენა
  • დომენის კონტროლერების სინქრონიზაციის სტატუსის ჩვენება დომენში
    w32tm /მონიტორი
  • მიმდინარე სინქრონიზაციის წყაროების ჩვენება და მათი სტატუსი
    w32tm /query /peers

NTP სერვერისა და კლიენტის კონფიგურაცია ჯგუფური პოლიტიკის მიხედვით

ვინაიდან ჩვენ გვაქვს Active Directory დომენი, სისულელეა არ გამოიყენოთ ჯგუფური პოლიტიკა სერვერებისა და სამუშაო სადგურების მასობრივი კონფიგურაციისთვის, მე გაჩვენებთ როგორ დააკონფიგურიროთ თქვენი NTP სერვერი Windows-ში და კლიენტში. გახსენით Group Policy Editor snap-in. ჩვენი NTP სერვერის Windows-ზე დაყენებამდე, ჩვენ უნდა შევქმნათ WMI ფილტრი, რომელიც გამოიყენებს პოლიტიკას მხოლოდ PDC მთავარ სერვერზე.

შეიყვანეთ მოთხოვნის სახელი, სახელთა სივრცე, იქნება "root\CIMv2" და მოთხოვნა "Select * from Win32_ComputerSystem, სადაც DomainRole = 5". ჩვენ ვინახავთ მას.

შემდეგ შექმნით პოლიტიკას Domain Controllers კონტეინერზე.

პოლიტიკის ბოლოში გამოიყენეთ თქვენი შექმნილი WMI ფილტრი.

გადადით ფილიალში: Computer Configuration > Policies > Administrative Templates > System > Windows Time Service > Time Providers.

აქ ჩვენ ვხსნით "Windows NTP Client-ის კონფიგურაციის" პოლიტიკას. პარამეტრების დაყენება

  • NtpServer: 0.ru.pool.ntp.org.0x1, 1.ru.pool.ntp.org.0x1, 2.ru.pool.ntp.org.0x1, 3.ru.pool.ntp.org.0x1
  • ტიპი: NTP
  • CrossSiteSyncFlags: 2. ორი ნიშნავს, რომ თუ ეს პარამეტრი დაყენებულია 2-ზე (ყველა), შეიძლება გამოყენებულ იქნას ნებისმიერი სინქრონიზაციის წევრი. ეს მნიშვნელობა იგნორირებულია, თუ NT5DS არ არის დაყენებული. ნაგულისხმევი მნიშვნელობა: 2 (ათწილადი) (0x02 (თექვსმეტობითი))
  • ResolvePeerBackoffMinutes: 15. ეს მნიშვნელობა, გამოხატული წუთებში, განსაზღვრავს რამდენ ხანს ელოდება W32time სერვისი DNS სახელის ამოხსნამდე, თუ ის ვერ მოხერხდება. ნაგულისხმევი მნიშვნელობა: 15 წუთი
  • Resolve Peer BAckoffMaxTimes: 7. ეს მნიშვნელობა განსაზღვრავს DNS სახელის გადაჭრის მცდელობების რაოდენობას, რომელსაც W32time სერვისი აკეთებს აღმოჩენის პროცესის გადატვირთვამდე. ყოველ ჯერზე, როდესაც DNS სახელის გარჩევადობა ვერ ხერხდება, მომდევნო მცდელობამდე ლოდინის ინტერვალი ორმაგდება. ნაგულისხმევი მნიშვნელობა: შვიდი მცდელობა.
  • SpecilalPoolInterval: 3600 ეს NTP კლიენტის პარამეტრის მნიშვნელობა, გამოხატული წამებში, განსაზღვრავს, თუ რამდენად ხშირად უნდა გამოიკითხოს ხელით კონფიგურირებული დროის წყარო, რომელიც იყენებს კონკრეტულ გამოკითხვის ინტერვალს. თუ SpecialInterval დროშა დაყენებულია NTPServer პარამეტრზე, კლიენტი იყენებს მნიშვნელობას, რომელიც არის მითითებულ, როგორც SpecialPollInterval, MinPollInterval და MaxPollInterval მნიშვნელობების ნაცვლად, რათა დადგინდეს, რამდენად ხშირად ხდება დროის წყაროს გამოკითხვა. ნაგულისხმევი მნიშვნელობა: 3600 წამი (1 საათი).
  • EventLogFlags: 0

ჩვენ ვაკეთებთ ცალკე ჯგუფის პოლიტიკაკლიენტის სამუშაო მანქანებისთვის, აქ ასეთი პარამეტრებით.

  • NtpServer: თქვენი დომენის კონტროლერის მისამართი PDC როლით.
  • ტიპი: NT5DS
  • CrossSiteSyncFlags: 2
  • ResolvePeerBackoffწუთები: 15
  • გადაჭრით Peer BAckoffMaxTimes: 7
  • SpecilalPoolInterval: 3600
  • EventLogFlags: 0