Lệnh NTP Là Gì? Đặc Điểm Của NTP

Bài viết này sẽ giới thiệu về Lệnh NTP Là Gì? Đặc Điểm Của NTP. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.

1. Lệnh NTP là gì?

Network Time Protocol (NTP) là một giao thức được sử dụng để đồng bộ hóa thời gian đồng hồ của máy tính trong mạng . Nó thuộc về và là một trong những phần lâu đời nhất của bộ giao thức TCP/IP. Thuật ngữ NTP áp dụng cho cả giao thức và các chương trình máy khách-máy chủ chạy trên máy tính. NTP, được phát triển bởi David Mills tại Đại học Delaware vào năm 1981, được thiết kế để có khả năng chịu lỗi cao và có thể mở rộng.

2. Đặc điểm của lệnh NTP

Máy chủ NTP, trong đó có hàng nghìn máy chủ trên khắp thế giới, có quyền truy cập vào đồng hồ nguyên tử và đồng hồ GPS có độ chính xác cao. Các máy thu chuyên dụng được yêu cầu phải giao tiếp trực tiếp với các máy chủ NTP cho các dịch vụ này.

Việc trang bị cho mỗi máy tính một trong những bộ thu này là không thực tế hoặc hiệu quả về chi phí. Thay vào đó, các máy tính được chỉ định là máy chủ thời gian chính được trang bị với bộ thu và chúng sử dụng các giao thức như lệnh NTP để đồng bộ hóa thời gian đồng hồ của các máy tính nối mạng.

Lệnh NTP sử dụng Giờ phối hợp quốc tế (UTC) để đồng bộ hóa thời gian của đồng hồ máy tính với độ chính xác cực cao, mang lại độ chính xác cao hơn trên các mạng nhỏ hơn – xuống đến một phần nghìn giây trong mạng cục bộ và trong vòng hàng chục mili giây qua internet. Lệnh NTP không tính đến múi giờ, thay vào đó dựa vào máy chủ để thực hiện các phép tính đó.

3. Cách hoạt động của lệnh NTP

Máy khách NTP bắt đầu trao đổi yêu cầu thời gian với máy chủ NTP. Kết quả của việc trao đổi này, máy khách có thể tính toán độ trễ liên kết và độ lệch cục bộ của nó, đồng thời điều chỉnh đồng hồ cục bộ của nó để khớp với đồng hồ trên máy tính của máy chủ. Theo quy định, sáu sàn giao dịch trong khoảng thời gian từ 5 đến 10 phút được yêu cầu để đặt đồng hồ ban đầu.

Sau khi được đồng bộ hóa, máy khách cập nhật đồng hồ khoảng 10 phút một lần, thường chỉ yêu cầu một cuộc trao đổi tin nhắn duy nhất. Ngoài việc đồng bộ hóa máy khách-máy chủ. Giao dịch này xảy ra thông qua Giao thức Dữ liệu Người dùng trên cổng 123. Lệnh NTP cũng hỗ trợ đồng bộ hóa quảng bá của đồng hồ máy tính ngang hàng.

4.Cách khắc phục 

Rất may mắn rằng ngoài phương pháp đồng bộ thời gian qua cổng UDP 123, chúng ta cũng có thể đồng bộ thời gian thông qua HTTP và HTTPS. Chỉ cần sử dụng câu lệnh đơn giản sau (dùng máy chủ thời gian của Google):

date -s "$(curl -H'Cache-Control:no-cache' -sI time.google.com | grep '^Date:' | cut -d' ' -f3-6)Z"

Chúng ta cũng có thể đặt crontab bằng 2 câu lệnh sau trong “crontab -e” để hệ thống luôn được cập nhật giờ mới nhất

0 * * * * date -s "$(curl -H'Cache-Control:no-cache' -sI time.google.com | grep '^Date:' | cut -d' ' -f3-6)Z"

@reboot date -s "$(curl -H'Cache-Control:no-cache' -sI time.google.com | grep '^Date:' | cut -d' ' -f3-6)Z"

Cặp lệnh trên sẽ đồng bộ mỗi giờ một lần và mỗi lần khởi động máy.

Kiểm tra lại xem thời gian đã chuẩn chưa bằng lệnh:

timedatectl

Đầu ra kết quả có dạng tương tự như sau:

Local time: Sat 2021-12-25 09:54:23 +07

Universal time: Fri 2021-12-25 02:54:23 UTC

RTC time: Fri 2021-12-25 02:50:42

Time zone: Asia/Ho_Chi_Minh (+07, +0700)

NTP enabled: yes

NTP synchronized: no

RTC in local TZ: no

Thời gian Hệ điều hành OS chuẩn trên từng giây (Local Time). Nhưng thời gian Mainboard (RTC Time) lại không chuẩn??? Không cần phải lo, chạy ngay lệnh này (chỉ áp dụng cho server vật lý, không áp dụng cho server ảo hóa như KVM, VMWare hay OpenVZ…):

hwclock --systohc

Kiểm tra lại thời gian với timedatectl ta có kết quả:

  • Local time: Sat 2021-12-25 10:21:41 +07
  • Universal time: Sat 2021-12-25 03:21:41 UTC
  • RTC time: Sat 2021-12-25 03:21:41
  • Time zone: Asia/Ho_Chi_Minh (+07, +0700)

Như vậy là chúng tôi đã hướng dẫn xong cách khắc phục sự cố thời gian với lệnh NTP trên máy chủ Linux, bạn đọc có thể tham khảo thực hành ngay nhé. Chúc thành công!

5. Cài đặt lệnh NTP cho Server

[root@localhost ~]# yum -y install ntp

[root@localhost ~]# vi /etc/ntp.conf

# line 18: add the network range you allow to receive requests

restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap

# change servers for synchronization

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

server ntp1.jst.mfeed.ad.jp iburst

server ntp2.jst.mfeed.ad.jp iburst

server ntp3.jst.mfeed.ad.jp iburst

[root@localhost ~]# systemctl start ntpd

[root@localhost ~]# systemctl enable ntpd

6. Kiểm tra hoạt động của lệnh NTP trên Server

[root@techshare ~]# ntpq -p

remote          refid      st t when poll reach   delay   offset jitter

======================================================================

+ntp1.jst.mfeed. 172.29.1.100     2 u  29   64    1  18.826   -0.126   0.000

+ntp2.jst.mfeed. 172.29.2.50      2 u  28   64    1  21.592    0.018   0.000

*ntp3.jst.mfeed. 133.243.236.18   2 u  28   64    1  22.666   -1.033   0.000

Chúc bạn thực hiện thành công!

THAM KHẢO CÁC DỊCH VỤ TẠI VINAHOST

>> SERVER – COLOCATION – CDN

>> CLOUD – VPS

>> HOSTING

>> EMAIL

>> WEBSITE

>> TÊN MIỀN

>> SSL – LICENSE

Đánh giá bài viết
Was this article helpful?
Đánh giá
Đánh giá bài viết
Đăng ký nhận tin

Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vinahost

    Bài viết liên quan
    Bình luận
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận