Giao thức Network Time Protocol (NTP) đóng vai trò quan trọng trong việc đồng bộ thời gian trên hệ thống Windows Server 2019. NTP giúp đảm bảo rằng các máy chủ và thiết bị trong mạng hoạt động với cùng một đồng hồ thời gian, đóng vai trò quan trọng đối với các ứng dụng và dịch vụ yêu cầu sự chính xác về thời gian. Trong bài viết này, Vietnix sẽ hướng dẫn cách cấu hình NTP Server trên Windows Server 2019 dễ dàng.
NTP là gì?
NTP server là một máy tính được sử dụng để đồng bộ thời gian cho các máy tính khác trên mạng. NTP sử dụng giao thức Network Time Protocol (NTP) để truyền thông tin thời gian giữa các máy tính.
NTP hoạt động bằng cách sử dụng thuật toán Marzullo để tính toán độ trễ giữa hai máy tính. NTP server sẽ gửi một gói tin thời gian đến máy tính client. Máy tính client sẽ tính toán độ trễ của gói tin và gửi lại cho NTP server. NTP server sẽ sử dụng độ trễ này để tính toán thời gian hiện tại của máy tính client.
NTP có độ chính xác cao, có thể đạt tới mili giây. NTP được sử dụng trong nhiều ứng dụng, chẳng hạn như:
- Đồng bộ thời gian cho các máy tính trong mạng
- Đảm bảo tính toàn vẹn của dữ liệu
- Thống kê thời gian thực
- Giám sát mạng
Một số NTP server phổ biến bao gồm:
- NTP.org
- pool.ntp.org
- time.nist.gov
Lợi ích của việc sử dụng NTP
Để sử dụng NTP, máy tính client cần cài đặt phần mềm NTP client. Phần mềm NTP client sẽ tự động kết nối với NTP server và đồng bộ thời gian.
Một số lợi ích của việc sử dụng NTP:
- Đảm bảo tính chính xác của thời gian
- Tăng cường bảo mật
- Tăng hiệu suất của các ứng dụng
- Tăng cường khả năng tương tác của các hệ thống
Cách hoạt động của NTP
Như đã đề cập NTP có nguyên lý hoạt động dựa trên thuật toán Marzullo để tính toán độ trễ giữa các máy tính client cũng như server với nhau.
NTP server sẽ giao tiếp với các NTP client bao gồm các máy tính hay thiết bị tương tự. Từ đây, các NTP client trên tiếp tục gửi gói tin có timestamp, là thời điểm gói tin được gửi đi, hướng đi về các NTP server. Máy chủ NTP server sau khi nhận sẽ tính toán thời gian, độ trễ của đường truyền dựa trên timestamp đã nhận.
Nếu thời gian chưa trùng khớp sẽ cộng trừ thêm số giây đồng bộ với đồng hồ/NTP server cao cấp hơn (nếu có) đang tham chiếu. Từ đó tiếp tục gửi lại NTP client gói tin khác, trong đó chứa thời điểm gói tin được gửi đi. Các NTP client nhận gói tin này, bắt đầu tính toán độ trễ, dựa trên timestamp có trong gói tin kia cộng với độ trễ của đường truyền để thiết lập lại thời gian của chúng.
Cách cấu hình NTP server trên Windows 2019
Bước 1: Dừng dịch vụ Windows Time trong Services
Mở Task Manager > Services. Tìm đến service có tên là W32Time, nhấp chuột phải và chọn Stop.
Bước 2: Mở Registry Editor
Nhấn tổ hợp Windows + R. Gõ “regedit” và chọn OK để mở bảng Registry Editor.
Bước 3: Tiến hành chỉnh sửa W32time trong regedit
Trong bảng Registry Editor, hãy tìm theo đường dẫn sau:
Nhấp chuột phải vào mục Enabled, sau đó chọn Modify…
Tiếp theo, trong bảng giá trị ở mục Value data sửa từ 0 thành 1 sau đó chọn OK.
Bước 4: Thay đổi giá trị AnnounceFlags
Vẫn trong Registry Editor, tại mục W23Time, tìm mục Config (thường nằm trên cùng). Tại đây, tìm mục tên AnnounceFlags, nhấp chuột phải chọn Modify… và thay đổi Value data từ a thành 5.
Bước 5: Khởi động lại NTP service
Sau khi hoàn tất, mở lại task Manager, vào tab Services, tại mục W32Time nhấp chuột phải và chọn Start.
Hoặc có thể thực thi bằng lệnh trong CMD như sau:
- Nhấn tổ hợp Windows + R, gõ cmd và nhấn Enter.
- Trên bảng CMD gõ lần lượt và cho chạy 2 lệnh sau:
net stop w32time
net start w32time
Bước 6: Cấu hình tường lửa Firewall
Có 2 phương thức ở bước này: Chọn tắt Firewall hoặc mở port 123 UDP
- Tắt Firewall
Mở Control Panel, chọn mục Windows Defender Firewall, ở cột bên trái chọn Turn off Windows Defender Firewall. Chọn Turn off cả 2 Private và Public Network settings.
- Mở port UDP
Phương pháp này sẽ an toàn hơn việc tắt hết Firewall của hệ thống, giảm rủi ro bị xâm phạm. Đầu tiên, tại mục Windows Defender Firewall, ở cột bên trái tìm chọn Advanced settings. Tại đây sẽ mở ra bảng Tuỳ chỉnh Nâng cao cho Firewall, chọn Inbound Rules. Click chuột phải và chọn New Rule như trên hình. Khi này sẽ tiến hành thiết lập mở port UDP cho NTP.
Tiếp theo chọn Port > Next.
Tại đây chọn UDP, phía dưới chọn Specific local ports và nhập 123, sau đó nhấn Next.
Chọn Allow the connection để cho phép kết nối. Nếu không sử dụng và muốn tắt port này, chọn Block the connection. Sau đó tiếp tục nhấn Next.
Chọn những kết nối mà Rule này sẽ được áp dụng như Domain, Private, Public. Sau đó nhấn Next.
Đặt tên cho Rule mới, có thể đi kèm chú thích nếu cần và nhấn Finish.
Hoàn tất thiết lập mở port cho NTP, Rule sẽ thêm như sau:
Rule này qua giao thức UDP cho phép server gửi các gói tin nhỏ trong đó chứa các thông tin về thời gian đến các máy khác.
Bước 7: Kiểm tra hoạt động của NTP
NTP server ở các vị ví khác nhay sẽ có thời gian, múi giờ khác nhau, nên lưu ý set time zone chính xác. Đối với NTP server tại Việt Nam sẽ dùng múi giờ UTC+7:00 Bangkok , Hanoi , Jakarta hoặc GMT+7.
- NTP Server:
Mở Control Panel > Date and Time.
Tiếp theo, chọn tab Internet Time sau đó chọn Change settings…
Đây là nơi sẽ cập nhật thời gian theo các server NTP trên thế giới hoặc là server cao cấp hơn trong hệ thống NTP. Nếu NTP server này là cao nhất và các máy tính bên dưới cần đồng bộ thời gian theo, máy chủ này cần có thời gian chạy chính xác với đồng hồ thế giới.
Chọn server phù hợp và chọn Update now.
Trong tình huống ở phân tầng cao hơn vẫn còn có server khác, thì NTP server này cần phải đồng bộ theo chúng, lúc này cần nhập Domain hoặc IP của các server đó để tiến hành cập nhật.
Sau khi chọn Update now, cần chờ vài giây để xác nhận cập nhật thời gian của đồng hồ. Hệ thống sẽ thông báo thành công cùng mốc thời gian hoàn thành, nếu cập nhật thất bại, cần kiểm tra lại các yếu tố gây ảnh hưởng như đường truyền hay môi trường mạng,… hoặc các bước cấu hình.
- NTP Client:
Ở phía các máy Client và thiết bị tương đương, tiến hành kiểm tra đồng bộ thời gian NTP. Giả định trong trường hợp này là một máy con sử dụng hệ điều hành Windows 10 thuộc hệ thống kết nối NTP, có thời gian bị lệch khoảng 1 giờ so với NTP server. Bắt đầu tiến hành đồng bộ thời gian như sau:
Trong Date and Time chọn Internet Time và thực hiện tương tự như cách làm với NTP server. Trong đó phần chọn server chính là IP của NTP server vừa thực hiện cấu hình.
Bạn cần chờ một lúc để có thể hoàn thành đồng bộ thời gian. Sau khi đồng bộ hệ thống sẽ trả về thông báo thành công.
Ngoài ra, bạn để có thể xem được số thời gian chênh lệch cần cộng trừ giữa các thiết bị với nhau. Chỉ cần mở CMD và gõ lệnh sau:
w32tm /stripchart /computer:domainname_OR_ipaddress /dataonly /samples:5
Thay domain name hoặc IP của server cần kiểm tra vào lệnh, sample sẽ là số lần chạy (có thể thay đổi tuỳ ý). Giả định NTP server đang có thời gian là 3h11 PM, và NTP Client là 3h01 PM, độ lệch là 10 phút, khi chạy lệnh sẽ như sau:
w32tm /stripchart /computer:192.168.223.128 /dataonly /samples:10
Kết quả trả về sẽ được hiển thị như sau:
Lời kết
Vậy là Vietnix đã hướng dẫn cách cấu hình cũng như đồng bộ thời gian qua NTP Server trên Windows Server 2019. Cảm ơn mọi người đã theo dõi bài viết, chúc mọi người thành công.