NTP 구성의 시간 드리프트 및 잘못된 시간대

NTP 구성의 시간 드리프트 및 잘못된 시간대

2개의 VLAN이 있으며 각 VLAN에는 해당 VLAN에 DHCP, DNS 및 NTP를 제공하는 서버가 있습니다. 이 3개 서버는 로컬 NTP 서버에서 시간을 가져옵니다. 다음은 각 VLAN의 NTP 클라이언트 및 서버 구성과 각 설정의 문제입니다.

VLAN 1:

NTP 서버(Scientific Linux 7.3)

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
logfile /var/log/ntp.log
driftfile /var/lib/ntp/drift
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
restrict 127.0.0.1
restrict xx.xx.xx.xx mask XX.XX.XX.XX nomodify notrap

NTP 클라이언트(Scientific Linux 7.3)

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
server yy.yy.yy.yy   # added by /sbin/dhclient-script

시간대가 정확하더라도 서버는 항상 3시간 앞으로 이동합니다.

VLAN 2:

NTP 서버(Scientific Linux 6.4)

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
logfile /var/log/ntp.log
server 127.1.1.0 # local clock
fudge  127.127.1.0
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict xx.xx.xx.xx mask XX.XX.XX.XX nomodify notrap

NTP 클라이언트(Scientific Linux 6.4)

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
server yy.yy.yy.yy   # added by /sbin/dhclient-script

여기서는 시간대를 변경할 수 없습니다. 그래야 하지만 연결된 값에도 불구하고 EET항상 그렇습니다.EEST/etc/localtime

나는 다음을 결정했습니다.

  1. 방화벽 규칙 없음( iptables -F)
  2. ntpd데몬이 실행 중이고 활성화되어 있습니다( chckonfig on).
  3. chronydCentOS 7.x는 "Block ntpdStart" 라는 또 다른 시간 서비스를 사용합니다 . 그래서 나는 그것을 비활성화했습니다 (소스를 잃었습니다 :().

이러한 서비스를 설정한 후 로컬 NTP와 한 번 동기화합니다. NTP 정보는 각 서버의 DHCP 구성을 통해 option ntp-servers xx.xx.xx.xx;DHCP를 통해 배포됩니다 . 로컬 NTP 서버의 주소를 서버 주소에 추가해 보았 /etc/ntp.conf으나 문제가 지속됩니다.

모든 서버는 VMWare ESXi를 통해 가상화됩니다.

답변1

/etc/localtime을 가리키면 시간대 /usr/share/zoneinfo/EET정의에 유럽 서머타임(=유럽 DST)이 포함되며, 3월 마지막 일요일과 10월 마지막 일요일 사이에는 시간대가 EET가 아닌 EEST로 표시됩니다. 이 글을 쓰는 시점에서 개종일은 바로 어제였습니다…

너는 읽어야 해Linux VM에 대한 VMware 타이밍 모범 사례. 간단히 말해서:

  • VMware 호스트가 올바른 시간과 표준 시간대를 사용하는지 확인하십시오.
  • 게스트에서 NTP를 사용하는 경우:
    • VMware Tools 시간 동기화가 비활성화되어 있는지 확인하십시오.
    • tinker panic 0다음으로 추가첫 번째/etc/ntp.conf 라인
    • server 127.127.1.0ntp.conf이와 같은 로컬 시계 정의가 있는 경우댓글을 달다.
    • /etc/ntp/step-tickers네트워크 인터페이스가 활성화되고 데이터베이스와 같이 시간에 민감한 항목이 아직 시작되지 않은 경우 시스템이 시작 시 올바른 시간으로 시계를 점프할 수 있도록 NTP 서버의 호스트 이름이나 IP 주소도 파일에 입력합니다 .

내가 겪은 몇 가지 함정:

  • /etc/adjtime예상 하드웨어 시계를 지정합니다(UTC 또는 LOCAL). 단순히 변수를 변경한다고 해서 /etc/sysconfig/clock반드시 원하는 효과를 얻을 수 있는 것은 아닙니다. 안전을 확보하려면 두 위치가 모두 일치하는지 확인하세요.
  • NTP 서버가 서비스를 제공하고 있는지 확인하세요올바른 표준시시간.
  • 시스템 시간이 정확한 시간 수와 다른 경우 먼저 date -u시스템의 UTC 시간 개념이 올바른지 확인하는 데 사용됩니다. NTP는 UTC만 처리합니다. 현지 시간으로의 변환 오류는 시간대 설정 오류입니다.

답변2

따라서 이러한 서버와 어려움을 겪은 후 문제가 해결되었습니다. 세부사항은 다음과 같습니다:

  1. CentOS 7.X 서버의 경우 클라이언트 유지 관리 중에 비활성화 ntpd하고 사용합니다 . CentOS 7.X부터 지원되는 NTP 데몬인 것으로 보입니다. 구성은 필수이며chronydntpdchronydchronydserver xx.xx.xx.xx prefer iburstallow yy.yy.yy.yy/ZZ/etc/chrony.conf
  2. CentOS 6.4 서버의 경우 새 버전을 설치해야 합니다.tzdata 여기그런 다음 /etc/localtime해당 시간대에 연결합니다. 제 경우에는Asia/Amman

내가 겪은 몇 가지 함정:

  • no server suitable for synchronization foundCentOS 6.4 클라이언트의 악몽 오류는 을 중지 ntpd하고 실행 한 다음 시작하여 ntpdate해결되었습니다 ntpd.
  • 어떤 이유로 기억이 나지 않습니다. CentOS 6.4에서는 restrict 127.0.0.1다음으로 변경해야 했습니다.restrict localhost

관련 정보