Cách thiết lập Chrony làm máy chủ và máy khách NTP trên Rocky Linux

theanh

Administrator
Nhân viên
NTP hay Network Time Protocol là một giao thức mạng để đồng bộ hóa thời gian và đồng hồ trên mạng máy tính.

Chrony là một triển khai của NTP hay Network Time Protocol và là một giải pháp thay thế cho các ứng dụng khác như up. Chrony có thể chạy trên các hệ điều hành giống Unix, được phát hành theo GNU GPL v2. Chrony được sử dụng làm phần mềm máy chủ NTP mặc định cho một số bản phân phối Linux và cũng có sẵn cho nhiều bản phân phối Linux.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và sử dụng Chrony trên máy chủ Rocky Linux. Bạn sẽ tìm hiểu cách sử dụng Chrony theo hai cách khác nhau:
  • Sử dụng Chrony làm Máy chủ NTP - thường là nếu bạn muốn xây dựng một máy chủ NTP cho môi trường cục bộ của mình. Vì vậy, thay vì kết nối với máy chủ NTP công cộng trên Internet, máy khách sẽ kết nối với máy cục bộ chạy Chrony dưới dạng Máy chủ NTP.
  • Sử dụng Chrony dưới dạng Máy khách NTP - đây là lúc bạn cần đồng bộ hóa thời gian trên máy hoặc máy khách của mình với máy chủ NTP.

Điều kiện tiên quyết​

Hướng dẫn này giả định rằng bạn có hai máy chủ Rocky Linux khác nhau sẽ được sử dụng làm Máy chủ NTP và Máy khách NTP. Bạn có thể sử dụng Rocky Linux v8 hoặc phiên bản mới nhất 9. Ngoài ra, bạn sẽ cần một người dùng không phải root có quyền sudo root trên cả hai máy.

Dưới đây là các máy chủ chi tiết mà chúng ta sẽ sử dụng:
Mã:
Hostname IP Address Used as
-------------------------------------------
rocky8 192.168.5.100 NTP Server
client1 192.168.5.120NTP Client
Bây giờ chúng ta hãy bắt đầu cài đặt Chrony và cấu hình.

Cài đặt gói Chrony​

Chrony là một trong những triển khai NTP (Giao thức thời gian mạng) cho các hệ điều hành giống Unix.

Theo mặc định, gói Chrony có sẵn trên kho lưu trữ Rocky Linux của baseos.

Bạn có thể kiểm tra gói Chriony bằng lệnh dnf bên dưới. Bạn sẽ thấy thông tin chi tiết về gói Chrony.
Mã:
sudo dnf info chrony
Trong ảnh chụp màn hình sau, bạn có thể thấy phiên bản hiện tại của Chrony v4.1 có sẵn trên kho lưu trữ Baseos Rocky Linux.



Bây giờ, để cài đặt Chriony, hãy chạy lệnh dnf sau đây. Khi được nhắc xác nhận cài đặt, hãy nhập y rồi nhấn ENTER để tiếp tục.
Mã:
sudo dnf install chrony
Sau khi Chrony được cài đặt, hãy khởi động và kích hoạt dịch vụ Chronyd bằng lệnh systemctl bên dưới.
Mã:
sudo systemctl enable chronyd
sudo systemctl start chronyd
Sau đó, hãy xác minh dịch vụ Chronyd bằng lệnh bên dưới lệnh.
Mã:
sudo systemctl status chronyd
Bạn sẽ thấy dịch vụ Chrionyd được bật và sẽ tự động chạy khi khởi động hệ thống. Và bây giờ, trạng thái của dịch vụ Chronyd đang chạy.


Thiết lập Chrony làm Máy chủ NTP​

Trong bước này, bạn sẽ tìm hiểu cách thiết lập Chrony làm Máy chủ NTP trên máy chủ ROcky Linux. Trong ví dụ này, chúng ta sẽ sử dụng máy chủ Rocky Linux với tên máy chủ 'rocky8' và địa chỉ IP '192.168.5.100'.

Để thiết lập Chrony, bạn phải chỉnh sửa tệp cấu hình Chrony mặc định '/etc/chrony.conf'.

Mở tệp '/opt/.chrony.conf' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/chrony.conf
Trên chỉ thị máy chủ, bạn có thể chỉ định nguồn của máy chủ NTP mà bạn muốn sử dụng. Bạn có thể tìm nhóm máy chủ NTP gần nhất với vị trí của bạn tại https://www.ntppool.org/en/.

Trong ví dụ này, chúng tôi sẽ sử dụng nhóm máy chủ NTP bên dưới. Ngoài ra, chúng tôi sẽ sử dụng tùy chọn bổ sung 'iburst' cho phép dịch vụ Chronyd thực hiện bản cập nhật đầu tiên của đồng hồ ngay sau khi bắt đầu.
Mã:
# list servers
server 0.se.pool.ntp.org iburst
server 1.se.pool.ntp.org iburst
server 2.se.pool.ntp.org iburst
server 3.se.pool.ntp.org iburst
Bỏ chú thích chỉ thị 'allow' và thêm mạng con của địa chỉ IP được phép truy cập máy chủ NTP. Trong ví dụ này, tất cả các máy khách trong mạng '192.168.5.0/24' sẽ được phép truy cập máy chủ NTP.
Mã:
# allowed clients
allow 192.168.5.0/24
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Các tùy chọn/chỉ thị bổ sung mà bạn cũng có thể muốn thay đổi:
Mã:
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Specify the file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC
Tiếp theo, chạy lệnh sau để khởi động lại dịch vụ Chronyd và áp dụng các thay đổi mới. Và dịch vụ Chronyd hiện đang chạy dưới dạng máy chủ NTP.
Mã:
sudo systemctl restart chronyd
Bây giờ, hãy chạy lệnh chronyc sau đây để xác minh các nguồn của nhóm máy chủ NTP hiện đang được sử dụng. Bạn sẽ thấy danh sách các nguồn máy chủ NTP hiện tại được máy chủ của bạn sử dụng.
Mã:
chronyc sources


Bạn cũng có thể nhận thông tin chi tiết thông qua tùy chọn '-v' dưới dạng chi tiết.
Mã:
chronyc sources -v
Dưới đây là trạng thái chi tiết của nguồn máy chủ NTP được sử dụng trên server.



Cuối cùng, bạn sẽ cần thêm cổng dịch vụ NTP vào firewalld. Điều này sẽ cho phép các máy khách kết nối với Máy chủ NTP của bạn.

Chạy lệnh firewall-cmd bên dưới để thêm dịch vụ NTP vào firewalld. Sau đó, tải lại firewalld. Điều này sẽ cho phép bất kỳ máy nào kết nối với Máy chủ NTP.
Mã:
sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload


Bạn cũng có thể chỉ định các mạng con được phép truy cập Máy chủ NTP thông qua Quy tắc tường lửa. Thêm quy tắc firewalld rich cho phép mạng con '192.168.5.0/24' truy cập Máy chủ NTP thông qua lệnh firewall-cmd bên dưới. Sau đó, tải lại firewalld để áp dụng các quy tắc mới.
Mã:
sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.5.0/24' service='ntp' accept"
sudo firewall-cmd --reload
Bây giờ bạn có thể kiểm tra các quy tắc firewalld bằng lệnh firewall-cmd sau. Bạn sẽ thấy các dịch vụ được bật và các cổng đã mở trên tường lửa của mình.
Mã:
sudo firewall-cmd --list-all
Tại thời điểm này, bạn đã cài đặt và cấu hình Chrony làm Máy chủ NTP trên máy chủ Rocky Linux. Tiếp theo, bạn có thể thiết lập Chrony làm máy khách NTP.

Thiết lập Chrony làm Máy khách NTP​

Bây giờ bạn sẽ học cách thiết lập Chrony làm máy khách NTP trên hệ thống Rocky Linux. Trong ví dụ này, bạn sẽ thiết lập máy khách Chrony NTP trên máy Rocky Linux với tên máy chủ là 'client1'.

Trước khi bắt đầu, hãy đảm bảo gói Chrony đã được cài đặt trên máy của máy khách. Bạn có thể cài đặt nó thông qua lệnh dnf.
Mã:
sudo dnf install chrony -y
Sau khi Chriony được cài đặt, hãy mở tệp cấu hình '/etc/chrony.conf' bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/chrony.conf
Trên chỉ thị máy chủ, hãy thay đổi nguồn máy chủ NTP bằng máy chủ NTP của bạn. Trong ví dụ này, Máy chủ NTP đang chạy máy chủ có địa chỉ IP '192.168.5.100'.

Ngoài ra, bạn có thể thấy các tùy chọn bổ sung trên chỉ thị máy chủ"
  • Tùy chọn iburst cho phép dịch vụ Chronyd thực hiện bản cập nhật đầu tiên của đồng hồ ngay sau khi bắt đầu.
  • Tùy chọn prefer sẽ ưu tiên nguồn Máy chủ NTP trong số các máy chủ khác không có tùy chọn prefer.
Mã:
server 192.168.5.100 iburst prefer
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Bây giờ, hãy chạy lệnh sau để khởi động lại dịch vụ Chrony và áp dụng cấu hình.
Mã:
sudo systemctl restart chronyd
Cuối cùng, chạy lệnh chronyc sau để xác minh trạng thái hiện tại của NTP trên máy 'client1'.
Mã:
chronyc tracking
Bạn sẽ thấy máy 'client1' được kết nối và đồng bộ hóa thời gian với Máy chủ NTP 'ntp.howtoforge.local', là địa chỉ IP của máy chủ '192.168.5.100'.



Bạn cũng có thể xác minh dữ liệu NTP chi tiết thông qua lệnh chronyc bên dưới.
Mã:
chronyc ntpdata
Bây giờ bạn có thể thấy trong phần 'Địa chỉ từ xa' địa chỉ IP của Máy chủ NTP và phần 'Địa chỉ cục bộ' là địa chỉ IP của máy hiện tại.



Tiếp theo, bạn cũng có thể xác minh các nguồn Máy chủ NTP trên máy 'client1' thông qua lệnh chronyc bên dưới. Và bạn sẽ thấy máy khách hiện đang sử dụng Máy chủ NTP 'ntp.howtoforge.local' với địa chỉ IP 192.168.5.100 làm nguồn Máy chủ NTP mặc định và được ưu tiên.
Mã:
chronyc sources
chronyc sources -v

Kết luận​

Xin chúc mừng! Bây giờ bạn đã cài đặt thành công phần mềm triển khai Chrony NTP trên máy chủ Rocky Linux. Bạn cũng đã học được cách sử dụng cơ bản của Chrony có thể được sử dụng cho cả Máy chủ NTP và Máy khách. Cuối cùng, bạn cũng đã học được cách sử dụng cơ bản của dòng lệnh chronyc để kiểm tra trạng thái NTP.
 
Back
Bên trên