Проверить rfkill list all
У меня был следующий вывод
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
Что вызывало ошибку Интерфейс не Не поддерживает сканирование
Чтобы удалить блок, просто выполните следующую команду
sudo rfkill unblock wifi
Вы можете немного отсортировать это, просмотрев вывод через strace
следующим образом:
$ 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
Обратите внимание, что для подключения используется ipv6. В основном эта строка:
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 порт ipv6?
$ 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
Похоже, он не прослушивает ipv6, отсюда и ошибка. Мы можем обойти это, указав ntpq -pn
явно подключаться по ipv4, а не так:
$ 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
Намного лучше. И вы можете снова подтвердить нашу логику, используя strace
:
$ 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)
Обратите внимание, что ipv4 использует sa_family=AF_INET
, тогда как ipv6 использует sa_family=AF_INET6
, когда ntpq
клиент пытается подключиться к вашему ntpd
через UDP на порту 123.
Мы также можем использовать переключатели -4
и -6
для ntpq -pn
а также:
$ 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
Недавно у меня была такая же проблема с CentOS7. ntpq -p будет отображать «чтение :Отказ в соединении», а также многие другие команды в отладке ntp, такие как «список часов» и некоторые другие. Серверы NTP, которые я установил в ntp.conf, игнорировались. Вот некоторые другие примечательные результаты:
[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
Когда я проверял IP-адрес используемого NTP-сервера, это всегда было что-то из ARIN (? )или крупного провайдера, такого как Level3. Я не мог выбрать сервер, но серверы, которые он использовал, выглядели нормально. Но он по-прежнему не позволял мне выбирать свои собственные серверы, независимо от того, что я делал в /etc/ntp.conf
.
Я начал подозревать, что у меня какая-то плохая программа, и я начал подозревать репозиторий epel, который я загрузил, так как мне нужны были какие-то другие программы оттуда.
Конечно же, я выполнил следующие действия и решил проблему:
yum remove ntp
yum install ntp --disablerepo=epel
Переустановил, теперь ntpq -p
работает, а systemctl status ntpd
отображается как:
[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
Наконец-то используются серверы, которые я установил в /etc/ntp.conf
.
Я не знаю, как сообщить, что их ntp на CentOS7 каким-то образом скрыт, может быть, кто-нибудь увидит это и сообщит.
Обратите внимание, что и epel, и репозиторий CentOS отображали одну и ту же версию:ntp-4.2.6p5-29.el7.centos.x86_64
.