라즈베리 파이

라즈베리 파이

Raspberry Pi는 Centos7 서버에 속하는 단일 외부 IP(모든 포트 포함)에만 액세스할 수 있도록 구성된 방화벽 뒤에 있습니다.

Raspberry Pi의 UTC 시간이 항상 정확하도록 두 장치를 구성하는 방법입니다.

내가 취한 조치들...

  1. 서버에서 ntp를 구성하고, 서버 0.us.pool.ntp.org를 가리키고, 방화벽을 구성하는 등의 작업을 수행합니다.
  2. Pi 클라이언트에서 기본 서버를 주석 처리하고 내 서버를 가리킨 다음 재부팅합니다.

단, 약 1시간 정도의 휴식시간이 있습니다. 클라이언트 액세스를 허용하려면 여전히 서버를 구성해야 합니까? 그렇다면 모든 클라이언트를 허용할 수 있습니까? 아니면 내 클라이언트만 허용해야 합니까?

라즈베리 파이

michael@pi:~ $ ntpq -c lpeer
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 12.345.67.890   .INIT.          16 u    -   64    0    0.000    0.000   0.000
michael@pi:~ $ date -R
Tue, 20 Jun 2017 10:37:17 +0000

약 24시간 후

michael@pi:~ $ ntpq -c lpeer
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 74.208.80.161   .INIT.          16 u    - 1024    0    0.000    0.000   0.000
michael@pi:~ $ date -R
Wed, 21 Jun 2017 11:29:08 +0000

michael@pi:~ $ grep '^[^ #]' /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 12.345.67.890    #This is the Centos server
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

중앙 운영 체제

[michael@centos7 ~]$ ntpq -np
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+104.156.99.226  192.12.19.20     2 u   21 1024  377   68.864    0.518   0.930
+108.59.2.24     130.133.1.10     2 u   68 1024  377   56.934   -0.234   0.881
+66.7.96.1       216.218.254.202  2 u  480 1024  367   71.228    0.149   1.752
*97.107.128.58   209.51.161.238   2 u   87 1024  377   52.881    1.430   1.507
[michael@centos7 ~]$

약 12시간 후

[michael@centos7 ~]$ ntpq -np
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+104.156.99.226  204.123.2.72     2 u  432 1024  377   68.857    0.466   0.128
+108.59.2.24     130.133.1.10     2 u  838 1024  377   56.550   -0.114   0.083
*66.7.96.1       216.218.192.202  2 u  911 1024  377   73.391    0.920   1.763
-97.107.128.58   209.51.161.238   2 u  655 1024  377   56.110    2.394   0.125
[michael@centos7 ~]$ date -R
Wed, 21 Jun 2017 12:30:44 +0000

[michael@centos7 ~]$ grep '^[^ #]' /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
logfile /var/log/ntp.log

답변1

DS3231 RTC 모듈(I2C)을 사용하고 NTP 서버에서 시간을 업데이트합니다. 고급 비즈니스 노트북에 내장된 RTC보다 더 정확합니다.

Raspberry Pi RTC 보드 Amazon용 차세대 DS3231 실시간 클럭 모듈 |

참고: 음극이 배터리의 양극 단자에 직접 연결된 마이크로 SMD 다이오드를 절단/납땜 제거합니다. 이를 찾으려면 DMM에서 200ohm/연속성 테스트를 사용하십시오. 작은 유리구슬처럼 생겼어요. 배터리를 충전할 필요는 없지만 일부 모듈은 여전히 ​​충전합니다.

Raspberry Pi에 DS3231 실시간 클록 추가

DS1307을 사용하지 마십시오. 한 달에 몇 분씩 표류합니다.

업데이트: Si4703 모듈을 사용하여 시간과 날짜를 얻을 수도 있습니다. SparkFuns 사이트를 확인하세요.

답변2

이 답변은 댓글을 통해 해결책을 확인한 후 제공됩니다.

해결해야 할 문제는 다음과 같습니다.

  1. 분명한

    처음에는 CentOS 시스템에서 사용할 수 있는 구성 파일(없음)과 Pi(일부)에서 사용할 수 있는 구성 파일이 명확하지 않았습니다. 나중에 질문을 업데이트하면 이 사실이 훌륭하게 명확해졌습니다.

  2. CentOS 서버는 처음에 업스트림 서버와 동기화되지 않습니다.

    이를 위해서는 폴링 간격을 여러 번 반복해야 하며 이상적으로는 최소한 하나의 서버에 연결할 수 있어야 합니다 377. 이는 최근 성공한 요청 수를 표시하는 비트 필드의 8진수 표현입니다. 각 간격은 1비트 필드의 최하위 끝에 OR을 푸시합니다. 에 해당합니다.037711-111-111

  3. Pi는 CentOS 업스트림 서버와 동기화할 수 없습니다.

    CentOS 서버의 방화벽에는 iptables결함이 없지만 Pi에서 포트 123으로의 인바운드 UDP 쿼리를 허용하고 일치하는 응답을 반환하도록 설정해야 합니다 firewall-cmd --permanent --add-service ntp. 또한 UDP/123을 통한 업스트림 서버에 대한 아웃바운드 요청과 해당 응답을 허용해야 합니다. NTP 풀에서 서버를 사용하면 서버의 IP 주소가 매시간 풀 안팎으로 이동하기 때문에 상황이 약간 더 복잡해집니다. 여기서 한 가지 옵션은 UDP/123 및 일치하는 응답의 모든 아웃바운드 트래픽을 허용하는 것입니다.

    CentOS 시스템은 하드웨어 방화벽으로 보호되지만 Pi의 NTP 트래픽을 허용하도록 구성되지 않은 것으로 나타났습니다.

답변3

Pi가 NTP 서비스에 액세스할 수 없는 것 같습니다. CentOS에서는 기본 제공 방화벽이 기본적으로 활성화되어 있으며 대부분의 수신 트래픽을 차단합니다. 들어오는 NTP 요청을 허용하려면 CentoOS 7 시스템에서 다음을 수행하십시오.

firewall-cmd --permanent --add-service ntp
firewall-cmd --reload

관련 정보