VDO logo
Thủ thuật tin học 19-07-2017

Cài đặt ntp server trong RHEL / CentOS 7

Cài đặt NTP Server trong RHEL / CentOS 7: Hướng dẫn chi tiết từ A-Z

Thời gian hệ thống chính xác là yếu tố rất quan trọng đối với mọi máy chủ Linux. Nếu thời gian trên server bị sai lệch, nhiều dịch vụ như logging, authentication, cron job, database replication, monitoring hay các ứng dụng phân tán đều có thể hoạt động không ổn định. Vì vậy, việc cài đặt NTP Server trong RHEL / CentOS 7 là một bước cấu hình cần thiết giúp máy chủ đồng bộ thời gian chuẩn và duy trì tính nhất quán trong toàn bộ hệ thống.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách cài đặt và cấu hình NTP Server trên RHEL / CentOS 7, mở cổng firewall, kiểm tra trạng thái đồng bộ và cho phép các máy client trong mạng nội bộ sử dụng máy chủ này để đồng bộ thời gian.

NTP là gì?

NTP (Network Time Protocol) là giao thức đồng bộ thời gian qua mạng, hoạt động trên cổng UDP 123. Giao thức này cho phép các máy tính, máy chủ và thiết bị mạng đồng bộ thời gian với nhau một cách chính xác.

Trong thực tế, đồng hồ hệ thống của máy tính luôn có xu hướng bị lệch theo thời gian. Sai lệch này tuy nhỏ nhưng nếu kéo dài có thể gây ra nhiều vấn đề như:

  • Sai timestamp log hệ thống

  • Lỗi xác thực SSL/Kerberos

  • Ảnh hưởng đến cron job, backup, replication

  • Khó khăn khi giám sát hoặc phân tích sự cố

  • Không đồng nhất thời gian giữa các máy chủ và máy trạm

Vì vậy, triển khai NTP Server trên CentOS 7 hoặc RHEL 7 sẽ giúp toàn bộ hệ thống đồng bộ thời gian chuẩn, ổn định và dễ quản trị hơn.

Lợi ích khi cài đặt NTP Server trong RHEL / CentOS 7

Khi triển khai NTP Server nội bộ, doanh nghiệp có thể nhận được nhiều lợi ích như:

  • Đồng bộ thời gian giữa các server và client trong cùng hệ thống

  • Giảm lệ thuộc vào việc từng máy tự đồng bộ ra Internet

  • Hỗ trợ tốt cho môi trường domain, database, mail server, monitoring

  • Tăng độ chính xác cho log và audit

  • Dễ quản lý, kiểm soát và tối ưu hạ tầng mạng nội bộ

Cài đặt ntp server trong RHEL / CentOS 7

Điều kiện trước khi cài đặt NTP Server

Trước khi bắt đầu, bạn cần đảm bảo:

  • Máy chủ đang chạy RHEL 7 hoặc CentOS 7

  • Có quyền root hoặc user có quyền sudo

  • Máy chủ có kết nối Internet để đồng bộ với NTP Public Pool

  • Firewall cho phép mở cổng UDP 123

  • Xác định dải mạng nội bộ nào sẽ được phép đồng bộ thời gian từ NTP Server này

Cài đặt NTP Server trong RHEL / CentOS 7

Bước 1: Cài đặt gói NTP

Trên RHEL / CentOS 7, gói NTP có sẵn trong repository chính thức. Bạn chỉ cần cài đặt bằng lệnh sau:

yum install -y ntp

Sau khi cài đặt xong, hệ thống sẽ có daemon ntpd để thực hiện việc đồng bộ thời gian.

Bước 2: Cấu hình file ntp.conf

File cấu hình chính của NTP nằm tại:

/etc/ntp.conf

Mở file để chỉnh sửa:

vi /etc/ntp.conf

Trong file này, bạn nên thay thế các server mặc định bằng các NTP Pool Server gần với vị trí địa lý của máy chủ để tối ưu độ trễ và tăng độ chính xác.

Ví dụ nếu sử dụng pool chung:

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

Hoặc bạn có thể chọn pool theo quốc gia/khu vực phù hợp hơn.

Bước 3: Cho phép client trong mạng nội bộ đồng bộ thời gian

Để các máy client trong LAN có thể sử dụng máy chủ này làm NTP Server, bạn cần thêm dòng restrict trong file cấu hình.

Ví dụ cho phép mạng 192.168.1.0/24:

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Ý nghĩa:

  • nomodify: client không được thay đổi cấu hình server

  • notrap: không cho phép thiết lập trap remote event

Bạn cũng nên giữ các dòng restrict mặc định để tăng bảo mật, ví dụ:

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

Nếu muốn máy chủ nội bộ được truy vấn thời gian nhưng vẫn hạn chế thao tác quản trị, cấu hình này là phù hợp.

Bước 4: Bật log cho NTP để dễ theo dõi lỗi

Nếu muốn ghi log riêng cho dịch vụ NTP để tiện kiểm tra hoặc khắc phục sự cố, bạn có thể thêm dòng sau vào file /etc/ntp.conf:

logfile /var/log/ntp.log

Việc bật log sẽ giúp bạn dễ dàng xác định nguyên nhân nếu NTP daemon không đồng bộ được với upstream server hoặc bị firewall chặn.

Mẫu cấu hình NTP hoàn chỉnh tham khảo

Dưới đây là ví dụ cấu hình cơ bản:

driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

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

logfile /var/log/ntp.log

Lưu file lại sau khi chỉnh sửa xong.

Mở cổng firewall cho NTP Server

Dịch vụ NTP sử dụng UDP port 123, vì vậy bạn cần mở cổng này trên firewall để các máy client có thể truy cập.

Nếu hệ thống đang dùng firewalld, chạy các lệnh sau:

firewall-cmd --permanent --add-service=ntp

firewall-cmd --reload

Hoặc có thể mở trực tiếp cổng UDP 123:

firewall-cmd --permanent --add-port=123/udp
firewall-cmd --reload

Kiểm tra lại rule đã áp dụng:

firewall-cmd --list-all

Khởi động và kích hoạt dịch vụ NTP

Sau khi cấu hình xong, tiến hành khởi động dịch vụ:

systemctl start ntpd
systemctl enable ntpd

Kiểm tra trạng thái dịch vụ:

systemctl status ntpd

Nếu dịch vụ đang hoạt động bình thường, bạn sẽ thấy trạng thái active (running).

Xác minh trạng thái đồng bộ thời gian

Sau khi khởi động NTP daemon, nên chờ vài phút để máy chủ thực hiện đồng bộ với các NTP upstream server. Sau đó kiểm tra bằng các lệnh sau:

ntpq -p

Lệnh này hiển thị danh sách các máy chủ NTP mà server đang kết nối tới, cùng trạng thái đồng bộ.

Kiểm tra thời gian hệ thống:

date

Kiểm tra thông tin đồng bộ chi tiết hơn:

timedatectl

Nếu mọi thứ hoạt động bình thường, bạn sẽ thấy server đã bắt đầu đồng bộ thời gian.


Đồng bộ thủ công bằng ntpdate

Trong một số trường hợp cần đồng bộ ngay lập tức để kiểm tra, bạn có thể dùng ntpdate:

ntpdate 0.pool.ntp.org

Hoặc:

ntpdate 1.pool.ntp.org

Lưu ý: ntpdate thường dùng để đồng bộ nhanh thủ công, còn việc đồng bộ liên tục lâu dài vẫn nên để ntpd đảm nhiệm.

Cấu hình Windows đồng bộ thời gian với NTP Server Linux

Nếu máy Windows không tham gia Domain Controller, bạn vẫn có thể cấu hình đồng bộ thời gian với NTP Server nội bộ như sau:

  1. Nhấp chuột phải vào phần thời gian trên Taskbar

  2. Chọn Adjust date/time hoặc Change date and time settings

  3. Vào tab Internet Time

  4. Chọn Change settings

  5. Tích vào mục Synchronize with an Internet time server

  6. Nhập địa chỉ IP hoặc FQDN của máy chủ NTP Linux

  7. Chọn Update now rồi nhấn OK

Như vậy, máy Windows sẽ sử dụng NTP Server trên CentOS/RHEL 7 để đồng bộ thời gian.

Một số lỗi thường gặp khi cài đặt NTP Server trên CentOS 7

1. Dịch vụ ntpd không khởi động được

Nguyên nhân có thể do:

  • Sai cú pháp trong file /etc/ntp.conf

  • Xung đột với dịch vụ time khác

  • Thiếu quyền hoặc package chưa cài đúng

Cách xử lý:


 

systemctl status ntpd
journalctl -xe

2. Client không đồng bộ được thời gian

Nguyên nhân thường gặp:

  • Chưa mở cổng UDP 123

  • Rule restrict chưa cho phép mạng client

  • Firewall hoặc SELinux chặn kết nối

  • Máy client trỏ sai IP/FQDN NTP Server

3. Không thấy upstream server trong ntpq -p

Nguyên nhân có thể là:

  • Máy chủ không có Internet

  • DNS không phân giải được pool.ntp.org

  • NTP server upstream không phản hồi

  • Chưa chờ đủ thời gian để đồng bộ

Kinh nghiệm tối ưu khi triển khai NTP Server nội bộ

Khi triển khai thực tế, bạn nên lưu ý:

  • Chọn pool NTP gần khu vực địa lý để giảm độ trễ

  • Chỉ cho phép các dải mạng nội bộ cần thiết truy cập

  • Bật log khi cần troubleshooting

  • Không nên để quá nhiều máy client trực tiếp đồng bộ ra Internet nếu đã có NTP Server nội bộ

  • Nên kiểm tra định kỳ trạng thái dịch vụ và độ lệch thời gian

Câu hỏi thường gặp về cài đặt NTP Server trong RHEL / CentOS 7

NTP Server trên CentOS 7 dùng cổng nào?

NTP sử dụng UDP port 123.

Có cần mở firewall không?

Có. Nếu không mở cổng 123/UDP, client sẽ không thể đồng bộ thời gian với server.

Có thể dùng máy chủ này làm NTP nội bộ cho Windows không?

Có. Chỉ cần cấu hình Windows trỏ đến IP hoặc hostname của máy chủ NTP.

Nên dùng ntpd hay ntpdate?

ntpd dùng để đồng bộ liên tục và ổn định. ntpdate chỉ phù hợp để đồng bộ thủ công, tức thời.

Kết luận

Việc cài đặt NTP Server trong RHEL / CentOS 7 là một cấu hình quan trọng giúp đảm bảo thời gian hệ thống luôn chính xác, đồng bộ và ổn định giữa các máy chủ, thiết bị mạng và máy trạm trong doanh nghiệp. Chỉ với vài bước cài đặt package, chỉnh sửa file cấu hình, mở firewall và kiểm tra trạng thái dịch vụ, bạn đã có thể triển khai một máy chủ NTP nội bộ hoạt động hiệu quả.

Nếu bạn đang vận hành hệ thống Linux, máy chủ ứng dụng, database hoặc môi trường doanh nghiệp nhiều thiết bị, thì việc thiết lập NTP Server là một bước gần như bắt buộc để bảo đảm hạ tầng CNTT hoạt động chính xác và đồng nhất.

Hy vọng hướng dẫn trên sẽ giúp bạn cài đặt thành công NTP Server trên RHEL / CentOS 7.

Chia sẻ bài viết

Bình luận

( 0 bình luận )
Không có bình luận nào

Bình luận của bạn

Tin tức liên quan