
관개 시스템에 사용하는 라즈베리 파이가 있습니다. 문제는 하드웨어 시계가 없어서 재부팅할 때마다 시스템 시간이 틀려 자동으로 동기화되도록 설정할 수 없다는 점입니다.
시스템 시간이 잘못되면 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
시간과 날짜를 수동으로 설정하면 다시 작동되는데, 저는 이게 있는 곳에서 300km 떨어진 곳에 살고 있고 매일 정전이 되어 수동으로 할 수는 없습니다.
[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 주소를 직접 수신하고 자신을 그렇게 광고합니다. 예를 들어,NIST각 NTP 서버에 대한 IP를 제공하므로 하나를 선택하고 ntpdate <IP>
초기화할 수 있습니다. DNS 확인이 필요하지 않으며 즉시 작동합니다.
fake-hwclock
또는 재부팅 사이의 대략적인 시간을 보존하는 패키지를 사용해 볼 수도 있습니다 . 완벽하지도 않고 정확한 시간을 제공하지도 않지만 NTP에 대한 도메인 이름을 확인하는 데는 충분할 수 있습니다.