Cách cài đặt NTP server và client trên Ubuntu 24.04

NTP, hay Network Time Protocol, là một giao thức được sử dụng để đồng bộ tất cả các đồng hồ hệ thống trong mạng để sử dụng cùng một thời gian. Khi sử dụng thuật ngữ NTP, bài viết đề cập đến chính giao thức và các chương trình client và server đang chạy trên những máy tính được kết nối mạng. NTP thuộc bộ giao thức TCP/IP truyền thống và có thể dễ dàng được phân loại là một trong những thành phần lâu đời nhất của nó.

Khi bạn thiết lập đồng hồ ban đầu để đồng bộ với NTP, phải mất 6 lần trao đổi trong vòng 5 đến 10 phút trước khi đồng hồ được thiết lập. Sau khi đồng hồ trong mạng được đồng bộ, client sẽ cập nhật đồng hồ của mình với server sau mỗi 10 phút. Điều này thường được thực hiện thông qua một lần trao đổi tin nhắn (giao dịch) duy nhất. Các giao dịch này sử dụng cổng số 123 của hệ thống.

Bài viết này sẽ mô tả quy trình từng bước về cách:

  • Cài đặt và cấu hình NTP server trên máy Ubuntu.
  • Cấu hình NTP client để đồng bộ thời gian với server.

Bài viết đã chạy các lệnh và quy trình được đề cập trên hệ thống Ubuntu 22.04 LTS và Ubuntu 24.04.

Cài đặt và cấu hình NTP server trên máy tính host

Thực hiện theo các bước sau để cài đặt NTP server trên Ubuntu server:

Lưu ý: Bài viết đang sử dụng dòng lệnh Ubuntu, Terminal, để cài đặt và cấu hình NTP. Bạn có thể mở ứng dụng Terminal thông qua tìm kiếm launcher ứng dụng hoặc phím tắt Ctrl + Alt + T.

Bước 1: Cập nhật chỉ mục kho lưu trữ gói

Để cài đặt các phiên bản phần mềm mới nhất từ ​​kho lưu trữ Internet, chỉ mục kho lưu trữ cục bộ của bạn phải phù hợp với chúng. Chạy lệnh sau dưới dạng sudo để cập nhật chỉ mục kho lưu trữ cục bộ của bạn:

$ sudo apt update
Cập nhật danh sách gói Ubuntu
Cập nhật danh sách gói Ubuntu

Bước 2: Cài đặt NTP Server bằng apt-get

Vui lòng chạy lệnh sau dưới dạng sudo để cài đặt daemon NTP server từ kho lưu trữ APT:

$ sudo apt install ntp

Xin lưu ý rằng chỉ người dùng được ủy quyền mới có thể thêm, xóa và cấu hình phần mềm trên Ubuntu.

Cài đặt NTP Server trên Ubuntu
Cài đặt NTP Server trên Ubuntu

Hệ thống có thể yêu cầu bạn nhập mật khẩu sudo và cung cấp cho bạn tùy chọn Y/n để tiếp tục cài đặt. Nhập Y rồi nhấn Enter; NTP server sau đó sẽ được cài đặt trên hệ thống của bạn. Tuy nhiên, quá trình này có thể mất một thời gian, tùy thuộc vào tốc độ Internet của bạn.

Bước 3: Xác minh cài đặt (tùy chọn)

Bạn có thể xác minh cài đặt NTP của mình và cũng kiểm tra số phiên bản bằng cách chạy lệnh sau trong Terminal:

$ sntp --version
Kiểm tra phiên bản NTP
Kiểm tra phiên bản NTP

Bước 4: Chuyển sang NTP server pool gần nhất với vị trí của bạn

Khi bạn cài đặt NTP server, nó thường được cấu hình để lấy thời gian thích hợp. Tuy nhiên, bạn có thể chuyển sang server pool gần nhất với vị trí của mình. Điều này bao gồm thực hiện một số thay đổi trong file /etc/ntp.conf.

Mở file trong trình chỉnh sửa nano dưới dạng sudo bằng cách chạy lệnh sau:

$ sudo nano /etc/ntp.conf
Cấu hình NTP server gần nhất
Cấu hình NTP server gần nhất

Trong file này, bạn sẽ có thể thấy danh sách pool. Nhiệm vụ ở đây là thay thế danh sách pool này bằng pool của time server gần nhất với vị trí của bạn. Dự án pol.ntp.org cung cấp dịch vụ NTP đáng tin cậy từ một cụm time server thời gian. Để chọn danh sách pool theo vị trí của bạn, hãy truy cập trang sau:

https://support.ntp.org/bin/view/Servers/NTPPoolServers
Chọn NTP server pool
Chọn NTP server pool

Trang này yêu cầu chúng ta thêm các dòng sau vào file ntp.conf:

server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org

Đây là giao diện file sau khi thêm các dòng trên vào:

Thêm server pool vào file ntp.conf
Thêm server pool vào file ntp.conf

Thoát file bằng cách nhấn Ctrl + X và nhập y để lưu thay đổi.

Bước 5: Khởi động lại NTP server

Để các thay đổi trên có hiệu lực, bạn cần khởi động lại NTP server. Chạy lệnh sau dưới dạng sudo để thực hiện:

$ sudo service ntp restart

Bước 6: Xác minh rằng NTP server đang chạy

Bây giờ, hãy kiểm tra trạng thái của service NTP thông qua lệnh sau:

$ sudo service ntp status
Kiểm tra trạng thái NTP server
Kiểm tra trạng thái NTP server

Trạng thái Active xác minh rằng NTP server đang hoạt động.

Bước 7: Cấu hình tường lửa để client có thể truy cập NTP server

Cuối cùng, đã đến lúc cấu hình tường lửa UFW của hệ thống để các kết nối đến có thể truy cập NTP server tại cổng UDP số 123.

Chạy lệnh sau dưới dạng sudo để mở cổng 123 cho lưu lượng truy cập đến:

$ sudo ufw allow from any to any port 123 proto udp
Cấu hình tường lửa UFW cho NTP
Cấu hình tường lửa UFW cho NTP

Ubuntu server của bạn hiện đã được cấu hình làm NTP server.

Cấu hình NTP client để đồng bộ thời gian với NTP server

Bây giờ, hãy cấu hình Ubuntu client để đồng bộ thời gian với NTP server.

Bước 1: Cài đặt ntpdate

Lệnh ntpdate sẽ cho phép bạn kiểm tra thủ công cấu hình kết nối của mình với NTP server. Mở ứng dụng Terminal trên client và nhập lệnh sau dưới dạng sudo:

$ sudo apt-get install ntpdate
Cài đặt chương trình ntpdate
Cài đặt chương trình ntpdate

Bước 2: Chỉ định IP và hostname của NTP server trong file hosts

Để NTP server của bạn được giải quyết bằng hostname trong client, bạn cần cấu hình file /etc/hosts của mình.

Mở file hosts dưới dạng sudo trong trình soạn thảo nano bằng cách nhập lệnh sau:

$ sudo nano /etc/hosts

Bây giờ, hãy thêm IP của NTP server và chỉ định hostname như sau trong file này:

Thoát file bằng cách nhấn Ctrl + X rồi lưu bằng cách nhập y.

Bước 3: Kiểm tra xem thời gian của client có được đồng bộ với NTP server không

Lệnh ntpdate sau đây sẽ cho phép bạn kiểm tra thủ công xem thời gian có được đồng bộ giữa hệ thống client và server không:

$ sudo ntpdate NTP-server-host

Đầu ra lý tưởng nhất là hiển thị độ lệch thời gian giữa hai hệ thống.

Bước 4: Vô hiệu hóa service systemd timesyncd trên client

Vì chúng ta muốn client đồng bộ thời gian với NTP server, hãy vô hiệu hóa service timesyncd trên client.

Nhập lệnh sau để thực hiện:

Vô hiệu hóa timesyncd
Vô hiệu hóa timesyncd

Bước 5: Cài đặt NTP trên client

Chạy lệnh sau dưới dạng sudo để cài đặt NTP trên client:

$ sudo apt-get install ntp

Bước 6: Cấu hình file /etc/ntp.conf để thêm NTP server làm time server mới

Bây giờ, chúng ta muốn client của mình sử dụng NTP host server của riêng mình làm time server mặc định. Để thực hiện việc này, chúng ta cần chỉnh sửa file /etc/ntp.conf trên client.

Chạy lệnh sau dưới dạng sudo để mở file trong trình soạn thảo Nano:

$ sudo nano /etc/ntp.conf

Sau đó, thêm dòng sau vào file, trong đó NTP-server-host là hostname bạn đã chỉ định cho NTP server của mình:

server NTP-server-host prefer iburst

Đây là giao diện file sau khi đã chỉ định time server:

Thêm NTP server vào file ntp.conf
Thêm NTP server vào file ntp.conf

Nhấn Ctrl + X để đóng file và nhập y để lưu các thay đổi.

Bước 7: Khởi động lại NTP server

Để các thay đổi trên có hiệu lực, bạn cần khởi động lại service NTP. Chạy lệnh sau dưới dạng sudo để thực hiện:

$ sudo service ntp restart

Bước 8: Xem hàng đợi đồng bộ thời gian

Bây giờ client và server của bạn đã được cấu hình để đồng bộ thời gian. Bạn có thể xem hàng đợi đồng bộ thời gian bằng cách chạy lệnh sau:

$ ntpq -ps

Bạn sẽ có thể thấy NTP-server-host là host/source đồng bộ thời gian trong hàng đợi.

Vậy là đây là tất cả những gì bạn cần biết về việc cài đặt và cấu hình NTP để đồng bộ thời gian trên các máy Ubuntu được kết nối mạng của bạn. Quá trình này có vẻ hơi phức tạp, nhưng nếu bạn thực hiện cẩn thận tất cả các bước trên, máy của bạn sẽ được đồng bộ ngay lập tức.

Chủ Nhật, 27/04/2025 12:36
31 👨 101
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ Linux
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng