Tại sao ntpq -pn báo cáo Kết nối từ chối từ chối?


9

Gần đây tôi đã thiết lập một hệ thống CentOS 6.x với NTPD đang chạy và gặp phải lỗi này khi tôi chạy ntpq -pn:

$ ntpq -pn
ntpq: read: Connection refused

tôi biết điều đó ntpd là lên và hoạt động thông qua ntpstatlệnh:

$ ntpstat
synchronised to NTP server (204.11.201.12) at stratum 3
   time correct to within 71 ms
   polling server every 256 s

Tại sao lại là ntpq -pn không làm việc?

Câu trả lời:


12

Bạn có thể xử lý điều này một chút bằng cách xem xét đầu ra thông qua stracenhư vậy:

$ strace ntpq -pn ::1|& grep -i conn
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET6, sin6_port=htons(123), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
recvfrom(3, 0x7fffc3365a10, 516, 0, 0, 0) = -1 ECONNREFUSED (Connection refused)
write(2, "Connection refused\n", 19Connection refused

Lưu ý rằng đó là sử dụng ipv6 để kết nối. Về cơ bản dòng này:

connect(3, {sa_family=AF_INET6, sin6_port=htons(123), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0

NTPD có nghe trên cổng ipv6 không?

$ netstat -taupn|grep udp|grep ntp
udp        0      0 10.22.7.237:123             0.0.0.0:*                               24213/ntpd
udp        0      0 127.0.0.1:123               0.0.0.0:*                               24213/ntpd
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               24213/ntpd

Vì vậy, nó dường như không nghe trên ipv6, do đó lỗi. Chúng ta có thể giải quyết vấn đề này bằng cách yêu ntpq -pncầu kết nối rõ ràng trên ipv4 thay vì như vậy:

$ ntpq -pn 127.0.0.1
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+69.89.207.199   212.215.1.157    2 u  209  256  377   43.582    2.768   0.076
-72.5.72.15      10.3.255.0       3 u  217  256  377   68.627   -1.833   4.388
*204.11.201.12   66.220.9.122     2 u  244  256  377   61.928   -0.712   0.234
+108.59.2.24     130.133.1.10     2 u  178  256  377    1.824    3.256   0.111

Tốt hơn nhiều. Và bạn có thể xác nhận logic của chúng tôi bằng cách sử dụng stracelại:

$ strace ntpq -pn 127.0.0.1|& grep -i conn
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)

Lưu ý rằng ipv4 sử dụng sa_family=AF_INETtrong khi ipv6 sử dụng sa_family=AF_INET6khi ntpqmáy khách cố gắng kết nối với bạn ntpdthông qua UDP trên cổng 123.

Chúng tôi cũng có thể sử dụng -4-6chuyển sang ntpq -pnlà tốt:

$ ntpq -pn -4
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+69.89.207.199   212.215.1.157    2 u  235  256  377   43.582    2.768   0.047
-72.5.72.15      10.3.255.0       3 u  248  256  377   68.627   -1.833   4.417
*204.11.201.12   66.220.9.122     2 u  265  256  377   61.802   -0.765   0.198
+108.59.2.24     130.133.1.10     2 u  212  256  377    1.824    3.256   0.097

Người giới thiệu


Cảm ơn tôi đã tìm thấy với bài đăng và serverfault.com/questions/573351/ của bạn mà ntp không nghe trong ipV6
Kwaadpepper

2

Gần đây tôi đã gặp vấn đề tương tự với CentOS7. ntpq -p sẽ hiển thị 'đã đọc: Kết nối bị từ chối', cũng như nhiều lệnh khác trong gỡ lỗi ntp, chẳng hạn như 'danh sách đồng hồ' và một số lệnh khác. Các máy chủ NTP tôi đặt trong ntp.conf đã bị bỏ qua. Dưới đây là một số kết quả đầu ra đáng chú ý khác:

[root@server ~]# ntpstat
synchronised to NTP server (69.164.198.192) at stratum 3
   time correct to within 56 ms
   polling server every 1024 s

[root@server ~]# ntpdate
14 Oct 00:02:14 ntpdate[21443]: no servers can be used, exiting

[root@server ~]# systemctl status ntp
Unit ntp.service could not be found.

[root@server ~]# systemctl status ntpd
 ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

ntpq> version
ntpq 4.2.6p5@1.2349-o Thu Aug  8 11:48:03 UTC 2019 (1)

ntpq> clocklist
ntpq: read: Connection refused

ntpq> cooked
Output set to cooked

ntpq> readlist
ntpq: read: Connection refused

Khi tôi kiểm tra IP của máy chủ NTP mà nó đang sử dụng, nó luôn là thứ gì đó từ ARIN (?) Hoặc một nhà cung cấp lớn như Level3. Tôi không thể chọn máy chủ, nhưng các máy chủ mà nó đang sử dụng có vẻ ổn. Nhưng nó vẫn không cho phép tôi chọn máy chủ của riêng mình cho dù tôi đã làm gì/etc/ntp.conf .

Tôi bắt đầu nghi ngờ rằng tôi có một chương trình tồi bằng cách nào đó và tôi bắt đầu nghi ngờ kho lưu trữ epel mà tôi đã tải khi tôi cần một số chương trình khác từ đó.

Chắc chắn, tôi đã thực hiện như sau và giải quyết vấn đề:

yum remove ntp
yum install ntp --disablerepo=epel

Nó được cài đặt lại, bây giờ ntpq -phoạt động và systemctl status ntpdxuất hiện dưới dạng:

[root@server ntpstats]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-10-14 22:14:44 CDT; 3s ago

Cuối cùng, các máy chủ tôi thiết lập /etc/ntp.confđang được sử dụng.

Tôi không biết làm thế nào để thông báo cho epel rằng ntp CentOS7 của họ bằng cách nào đó bị hos, có thể ai đó sẽ thấy điều này và báo cáo.

Lưu ý rằng cả epel và kho lưu trữ CentOS đều hiển thị cùng một phiên bản : ntp-4.2.6p5-29.el7.centos.x86_64.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.