ArchlinuxArm на Raspberry: не удаётся синхронизировать дату и время при загрузке

ArchlinuxArm на Raspberry: не удаётся синхронизировать дату и время при загрузке

У меня есть Raspberry Pi, который я использую для системы орошения. Проблема в том, что у него нет аппаратных часов, поэтому при каждой перезагрузке системное время становится неправильным, и я не могу настроить его на автоматическую синхронизацию.

Я обнаружил, что когда системное время неправильное, DNS-запросы не работают, поэтому каждый раз, когда я пытаюсь отправить запрос, я получаю следующее:

[root@alarmpi me]# ntpdate 3.es.pool.ntp.org
Error resolving 3.es.pool.ntp.org: Name or service not known (-2)
12 Aug 15:37:15 ntpdate[2385]: Can't find host 3.es.pool.ntp.org: Name or service not known (-2)
12 Aug 15:37:15 ntpdate[2385]: no servers can be used, exiting

Кстати, я получаю те же ошибки соединения, если пытаюсь использовать pacman, wget, python/requests, даже ping... Так что это определенно проблема DNS.

[me@alarmpi ~]$ ping google.com
ping: google.com: Name or service not known

Если я устанавливаю время и дату вручную, все снова работает, но я живу в 300 км от того места, где находится эта штука, и я не могу делать это вручную каждый день, когда отключают электричество.

[root@alarmpi me]# timedatectl
               Local time: Mon 2019-08-12 15:47:40 CEST
           Universal time: Mon 2019-08-12 13:47:40 UTC
                 RTC time: n/a
                Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no
[root@alarmpi me]# timedatectl set-ntp false
[root@alarmpi me]# timedatectl set-time "2019-08.13 10:45:45 CEST"
[root@alarmpi me]# ping google.com
PING google.com (172.217.168.174) 56(84) bytes of data.
64 bytes from 172.217.168.174 (172.217.168.174): icmp_seq=1 ttl=54 time=22.7 ms
64 bytes from 172.217.168.174 (172.217.168.174): icmp_seq=2 ttl=54 time=31.6 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 292ms
rtt min/avg/max/mdev = 22.739/27.161/31.583/4.422 ms

[root@alarmpi me]# ntpdate 3.es.pool.ntp.org
13 Aug 10:49:54 ntpdate[2498]: adjust time server 37.139.121.60 offset 0.004894 sec

Так что я немного запутался. Как мне синхронизировать часы автоматически, если они не позволяют мне подключиться к сервису из-за того, что я не синхронизирован?

решение1

Некоторые NTP-серверы прослушивают напрямую IP-адреса и рекламируют себя как таковые. Например,НИСТпредоставляет IP для каждого из своих NTP-серверов, так что вы можете выбрать один и сделать это ntpdate <IP>при инициализации. Это не потребует разрешения DNS и должно работать сразу.

В качестве альтернативы вы также можете попробовать использовать пакет fake-hwclock, который сохраняет приблизительное время между перезагрузками. Он не идеален и не предоставляет точное время, но его может быть достаточно для разрешения доменных имен для NTP.

Связанный контент