NTP : Configure NTP Server
2021/12/01
Configure NTP Server to provide time synchronization service to Clients. If the computer that is an Active Directory Domain Controler, NTP Server feature has already been enabled automatically. | |
[1] | Run PowerShell with Admin Privilege and Configure. |
Windows PowerShell Copyright [C] Microsoft Corporation. All rights reserved. # confirm current setting [follows are default settings] PS C:\Users\Administrator> Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpServer" AllowNonstandardModeCombinations : 1 ChainDisable : 0 ChainEntryTimeout : 16 ChainLoggingRate : 30 ChainMaxEntries : 128 ChainMaxHostEntries : 4 DllName : C:\Windows\system32\w32time.dll Enabled : 0 EventLogFlags : 0 InputProvider : 0 RequireSecureTimeSyncRequests : 0 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32 time\TimeProviders\NtpServer PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32 time\TimeProviders PSChildName : NtpServer PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry # enable NTP Server feature PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpServer" -Name "Enabled" -Value 1 # set [AnnounceFlags] to 5 # number means # 0x00 : Not a time server # 0x01 : Always time server # 0x02 : Automatic time server # 0x04 : Always reliable time server # 0x08 : Automatic reliable time server PS C:\Users\Administrator> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\services\W32Time\Config" -Name "AnnounceFlags" -Value 5 # restart Windows Time service PS C:\Users\Administrator> Restart-Service w32Time # if Windows Firewall is running, allow NTP port PS C:\Users\Administrator> New-NetFirewallRule ` -Name "NTP Server Port" ` -DisplayName "NTP Server Port" ` -Description 'Allow NTP Server Port' ` -Profile Any ` -Direction Inbound ` -Action Allow ` -Protocol UDP ` -Program Any ` -LocalAddress Any ` -LocalPort 123
[2] | NTP Server Host also needs to synchronize time with other Hosts as an NTP Client. |
Matched Content
Giao thức NTP [Network Time Protocol – Là giao thức
đồng bộ thời gian mạng] là một giao thức để đồng bộ đồng hồ của hệ thống máy tính thông qua mạng dữ liệu chuyển mạch gói với độ trễ có biến đổi. Khi các client gửi yêu cầu đồng bộ thời gian lên máy chủ, các máy chủ sẽ cập nhật với nhau để có thể đồng bộ chính xác giờ nhất cho client. Giao thức này được thiết kế ra để tránh ảnh hưởng của độ trễ biến đổi bằng cách là sử dụng bộ đệm jitter. NTP cũng được gọi là của phần mềm được triển khai trong một dự án Dịch vụ NTP Công cộng [NTP Public
Services Project].Giới thiệu nội dung
NTP server là gì?
Nguyên lý hoạt động của NTP server
- NTP client gửi đi một gói tin, trong đó có chứa một thẻ thời gian tới cho NTP server.
- NTP server nhận được gói tin, và gửi trả lại NTP client một gói tin khác, có thẻ thời gian là thời điểm nó đã gửi gói tin đó đi.
- NTP client nhận được gói tin đó, rồi tính toán độ trễ, dựa vào thẻ thời gian mà nó nhận được cùng với độ trễ của đường truyền, NTP client sẽ tự động set lại thời gian của nó.
Hoạt động của ntp server
Hướng dẫn cấu hình NTP Server trên CentOs 8
Chuẩn bị mô hình kết nối
Sử dụng 2 Server cho mô hình:
– CentOS 8
– Có kết nối Internet
– Đăng nhập thao tác với user root
Chuẩn bị trước khi cài đặt
Cấu hình timezone.
# timedatectl set-timezone Asia/Ho_Chi_Minh
Kiểm tra timezone sau khi cài đặt.
# timedatectl
Cấu hình allow Firewalld.
# firewall-cmd –add-service=ntp –permanent
# firewall-cmd –reload
Cấu hình disable SElinux.
# sudo setenforce 0
# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/sysconfig/selinux
# sed -i ‘s/SELINUX=permissive/SELINUX=disabled/g’ /etc/sysconfig/selinux
Cài đặt Chrony trên cả 2 Server
Truy cập vào SSH vào cả 2 Server. Sau đó tiến hành cài đặt Chrony.
# yum install -y chrony
Sau khi cài đặt tiến hành start Chrony và cho phép khởi động cùng hệ thống.
# systemctl enable –now chronyd
Kiểm tra dịch vụ đang hoạt động.
# systemctl status chronyd
Mặc định file cấu hình của Chrony nằm ở /etc/chrony.conf, tiến hành kiểm tra file cấu hình.
# cat /etc/chrony.conf | egrep -v ‘^$|^#’
Cấu hình Chrony làm NTP Server
Chrony cho phép chúng ta cấu hình Server thành một NTP Server. Việc này phù hợp cho các mô hình mạng LAN có nhiều máy kết nối. Thay vì phải tốn thời gian đồng bộ từ Internet thì chúng ta có thể cấu hình 1 Server làm NTP Server Local và các máy còn lại sẽ đồng bộ thời gian từ NTP Server này về.
Để lựa chọn pool đồng bộ thời gian chúng ta có thể truy cập vào NTP Pool để lựa chọn NTP Server. Ở đây chúng ta giữ nguyên đồng bộ từ centos.pool.ntp.org.
Tại Server 10.10.10.61 là Server sẽ làm NTP Server. Chúng ta sẽ cấu hình bổ sung cấu hình cho phép các máy Client 10.10.10.62 phía trong có thể đồng bộ thời gian từ Server này.
# sed -i ‘s|#allow 192.168.0.0/16|allow 10.10.10.0/24|g’ /etc/chrony.conf
Trong đó 10.10.10.0/24 chính là dải IP Local mà chúng ta cho phép các Client kết nối vào NTP Server này để đồng bộ thời gian.
Kiểm tra lại file cấu hình.
Restart lại dịch vụ để cập nhật cấu hình.
# systemctl restart chronyd
Sử dụng chronyc để kiểm tra đồng bộ.
# chronyc sources
Kiểm tra đồng bộ sử dụng timedatectl.
Set đồng bộ thời gian cho đồng hồ của BIOS [Đồng hồ phần cứng] hwclock.
# hwclock –systohc
Kiểm tra đồng bộ của date và hwclock đảm bảo đồng bộ
Cấu hình Chrony Client
Sau khi cài đặt và khởi động Chrony thì Server này đã tự động đồng bộ thời gian về từ một trong những NTP Server thuộc pool centos.pool.ntp.org
Bây giờ thay vì đồng bộ thời gian từ Internet chúng ta sẽ đồng bộ từ NTP Server đã cấu hình phía trên.
Tại Server 10.10.10.62 chỉnh sửa cấu hình chrony.
# sed -i ‘s|server 0.centos.pool.ntp.org iburst|server 10.10.10.61 iburst|g’ /etc/chrony.conf
# sed -i ‘s|server 1.centos.pool.ntp.org iburst|#|g’ /etc/chrony.conf
# sed -i ‘s|server 2.centos.pool.ntp.org iburst|#|g’ /etc/chrony.conf
# sed -i ‘s|server 3.centos.pool.ntp.org iburst|#|g’ /etc/chrony.conf
Kiểm tra cấu hình
Khởi động lại Chrony để cập nhật cấu hình.
# systemctl restart chronyd
Sử dụng chronyc kiểm tra đồng bộ.
Kiểm tra đồng bộ sử dụng timedatectl.
Set đồng bộ thời gian cho đồng hồ của BIOS [Đồng hồ phần cứng] hwclock.
# hwclock –systohc
Kiểm tra đồng bộ của date và hwclock đảm bảo đồng bộ.
Tổng kết
Bài viết đã trình bày các khái niệm cơ bản về NTP và hướng dẫn cài đặt cấu hình đồng bộ thời gian trên CentOS 8 sử dụng Chrony. Việc chuyển đổi sử dụng từ NTPD sang Chrony không hệ phức tạp vì Chrony rất thuận tiện trong quá trình cấu hình và thao tác.