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:
Dưới đây là các máy chủ chi tiết mà chúng ta sẽ sử dụng:
Bây giờ chúng ta hãy bắt đầu cài đặt Chrony và cấu hình.
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.
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.
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.
Sau đó, hãy xác minh dịch vụ Chronyd bằng lệnh bên dưới lệnh.
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, 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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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ủ"
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.
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'.
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.
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.
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
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
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
Mã:
sudo systemctl enable chronyd
sudo systemctl start chronyd
Mã:
sudo systemctl status chronyd
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
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
Mã:
# allowed clients
allow 192.168.5.0/24
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
Mã:
sudo systemctl restart chronyd
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
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
Mã:
sudo firewall-cmd --list-all
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
Mã:
sudo nano /etc/chrony.conf
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
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
Mã:
chronyc tracking
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
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