운영 체제에는 많은 서비스가 있습니다. 정상적인 기능시스템 시계의 정확도에 따라 다릅니다. 서버에 정확한 시간이 설정되어 있지 않으면 다양한 문제가 발생할 수 있습니다.

예를 들어, 지역 네트워크파일을 공유하는 시스템의 시계가 동기화되어야 합니다. 그렇지 않으면 파일의 수정 시간을 올바르게 설정할 수 없습니다. 그러면 버전 충돌이나 중요한 데이터를 덮어쓸 수 있습니다.

서버에 정확한 시간이 설정되어 있지 않으면 Cron 작업에 문제가 있을 수 있습니다. 언제 실행될지는 확실하지 않습니다. 고장 및 오작동의 원인을 진단하기 위해 시스템 이벤트 로그를 분석하는 것은 매우 어려울 것입니다 ...

오래오래 가셔도 됩니다...

설명된 모든 문제를 방지하려면 시스템 시계의 동기화를 설정해야 합니다. Linux는 이를 위해 NTP(Network Time Protocol)를 사용합니다. 이 기사에서는 서버에 NTP를 설치하고 구성하는 방법에 대해 자세히 설명합니다. 약간의 이론적인 소개부터 시작하겠습니다.

NTP 프로토콜은 어떻게 작동합니까?

NTP 프로토콜은 정확한 시간 서버의 계층 구조를 기반으로 하며 여기에서 다른 수준(영어 계층)이 구별됩니다. 레벨 0은 기준 시계(원자 시계 또는 GPS 시계)를 나타냅니다. 레벨 0에서는 NTP 서버가 작동하지 않습니다.

Tier 2 서버의 소스인 Tier 1 NTP 서버는 참조 시계와 동기화하고 Tier 2 서버는 Tier 1 서버와 동기화하지만 서로 동기화할 수도 있습니다. Tier 3 이하 서버는 동일한 방식으로 작동합니다. 총 256개의 레벨이 지원됩니다.

NTP 프로토콜의 계층 구조는 내결함성과 중복성을 특징으로 합니다. 업스트림 서버와의 연결 실패 시 백업 서버동기화 프로세스를 인수합니다. 중복성은 NTP 서버를 항상 사용할 수 있도록 합니다. 여러 서버와 동기화하여 NTP는 모든 소스의 데이터를 사용하여 가장 정확한 시간을 계산합니다.

NTP 서버 설치 및 구성

가장 유명하고 널리 퍼진 소프트웨어 도구시간 동기화의 경우 ntpd 데몬입니다. 에 지정된 설정에 따라 구성 파일(이는 아래에서 논의됨) 서버와 클라이언트 모두로 작동할 수 있습니다(즉, 원격 호스트에서 시간을 수신하고 다른 호스트에 배포할 수 있음). 아래에서는 OC Ubuntu에서 이 데몬을 설치하고 구성하는 방법을 자세히 설명합니다.

설치

NTP 프로그램은 대부분의 최신 Linux 시스템 배포판에 포함되어 있으며 표준 패키지 관리자를 사용하여 설치됩니다.

$ sudo apt-get install ntp

환경

설치가 완료되면 다음에서 엽니다. 텍스트 에디터/etc/ntp.conf 파일. 모든 프로그램 설정을 저장합니다. 그것들을 더 자세히 고려해 봅시다.

로깅 옵션

구성 파일의 첫 번째 줄은 다음과 같습니다.

드리프트 파일 /var/lib/ntp/ntp.drift

시간 오프셋의 빈도에 대한 정보를 저장하기 위한 파일을 지정합니다. 이 파일은 이전 시간 조정 결과 값을 저장합니다. 어떤 이유로 외부 NTP 서버를 사용할 수 없게 되면 이 서버에서 값을 가져옵니다.

로그 파일 /var/log/ntp.log

동기화를 위한 서버 목록

구성 파일은 동기화가 수행될 NTP 서버 목록을 지정합니다. 기본적으로 다음과 같습니다.

서버 0.ubuntu.pool.ntp.org 서버 1.ubuntu.pool.ntp.org 서버 2.ubuntu.pool.ntp.org 서버 3.ubuntu.pool.ntp.org

각 라인은 우리 서버에 정확한 시간을 보고할 서버 그룹을 의미합니다. iburst 옵션을 사용하여 동기화 정확도를 향상시킬 수 있습니다(하나가 아니라 여러 패킷이 동기화를 위해 서버로 전송되어야 함을 나타냄).

서버 0.ubuntu.pool.ntp.org iburst 서버 1.ubuntu.pool.ntp.org iburst 서버 2.ubuntu.pool.ntp.org iburst 서버 3.ubuntu.pool.ntp.org iburst

또한 선호 옵션을 사용하여 선호하는 서버를 지정할 수도 있습니다.

서버 0.ubuntu.pool.ntp.org iburst 선호

NTP 서버는 전 세계에 흩어져 있습니다(예: 사용 가능한 공용 NTP 서버 목록). 시스템 시계를 보다 정확하게 설정하려면 당사 서버가 지리적으로 위치한 지역의 ntp 서버와만 동기화하는 것이 좋습니다. 이렇게 하려면 /etc/ntp.conf 구성 파일에서 서버 주소에서 pool.ntp.org에 대한 지역 하위 도메인을 지정합니다.

  • 아시아 - asia.pool.ntp.org;
  • 유럽 ​​- europe.pool.ntp org;
  • 아프리카 — africa.pool.ntp.org;
  • 북미 - north-america.pool.ntp.org;
  • 남아메리카 - south-america.pool.ntp.org;
  • 오세아니아 - Oceania.pool.ntp.org.

개별 국가에 대한 하위 도메인을 지정할 수도 있습니다(자세한 내용은 참조). 러시아에 대한 하위 도메인도 있습니다 - ru.pool.ntp.org

백업 시간 서버

어떤 이유로든 인터넷 연결이 끊긴 NTP 서버는 동기화를 위해 시스템 시계 데이터를 전송할 수 있습니다. 이렇게 하려면 구성 파일에 다음 줄을 추가합니다.

서버 127.127.1.0

제한

최근에는 DDoS 공격에서 NTP 서버를 사용하여 트래픽을 증폭하는 경우가 증가하고 있습니다(자세한 내용은 예를 들어 참조). 우리 서버가 남용의 피해자가 되는 것을 방지하려면 외부 클라이언트에 대한 액세스 제한을 설정하는 것이 좋습니다. 기본적으로 다음 제한 사항이 /etc/ntp.conf 파일에 설정됩니다.

제한 -4 기본 kod notrap nomodify nopeer noquery 제한 -6 기본 kod notrap nomodify nopeer noquery

nomodify, notrap, nopeer 및 noquery 옵션은 타사 클라이언트가 서버의 어떤 것도 수정하지 못하도록 합니다. kod 매개변수(이 약어는 죽음의 키스를 의미합니다 - "죽음의 키스")는 다음을 제공합니다. 추가 보호: 너무 많은 요청을 보내는 클라이언트는 먼저 소위 kod 패킷(서비스 거부 경고)을 수신한 다음 서버에서 연결을 끊습니다.

로컬 네트워크의 시스템이 NTP 서버와 동기화되도록 하려면 구성 파일에 다음 줄을 추가합니다.

제한 192.168.1.0 마스크 255.255.255.0 nomodify notrap

로컬 호스트의 경우 제한 없이 NTP 서버에 대한 액세스를 설정할 수 있습니다.

제한 127.127.1.0

동기화 확인

구성 파일에 필요한 모든 변경 사항을 적용하고 저장한 후 NTP 서버를 다시 시작합니다.

$ 서비스 재시작 NTP

그런 다음 다음 명령을 실행합니다.

$ ntpq -pn

출력은 테이블 형식으로 표시됩니다.

원격 refid st t 때 poll 도달 지연 오프셋 지터 ===================================== ====================================== *62.76.96.4 130.173.91.58 2 u 207 256 37 10.985 - 215.79 256.992 +85.21.78.91 89.175.22.41 2 U 193 256 37 32.623 -207.70 259.121 +31.131.249.27 89.175.22.41 2 U 19621 -216.90 257.037 +85.21.11.11111.11.111111.11.1111111111.1AND 207.41 259.863 +91.189.94.4 193.79.237.14 2 u 192 256 37 50.573 -206.62 259.542

표는 다음 매개변수를 나타냅니다.

  • 원격 — 정확한 시간 서버 주소(이 열에는 구성 파일의 목록에 있는 서버가 표시됨).
  • refid - 업스트림 서버(이전 열의 서버가 동기화를 수신하는 서버);
  • st — 서버의 레벨(계층)
  • t — 피어 유형(u-유니캐스트, m-멀티캐스트);
  • 마지막 동기화 시간은 언제입니까?
  • poll은 NTP 데몬이 피어와 동기화하는 데 걸리는 시간(초)입니다.
  • 도달 - 서버 가용성 상태; 8번의 성공적인 동기화 시도 후에 이 매개변수의 값은 377이 됩니다.
  • 지연 — 서버의 응답 지연 시간.
  • offset은 우리 서버와 동기화 서버 사이의 시차입니다. 이 매개변수의 양수 값은 시계가 빠르다는 것을 의미하고 음수 값은 시간이 늦음을 의미합니다.
  • jitter는 원격 서버의 시간 오프셋입니다.

서버 주소 왼쪽에 다음 문자를 지정할 수 있습니다.

  • * 동기화를 위해 선택된 서버;
  • + 업데이트에 적합한 서버(동기화할 수 있음)
  • — 서버와 동기화하지 않는 것이 좋습니다.
  • x 서버를 사용할 수 없습니다.

다음 명령을 사용하여 목록의 서버가 동기화에 적합한지 확인할 수 있습니다.

Ntpdate -q 서버 хх.ххх.ххх.ххх, 계층 2, 오프셋 −0.127936, 지연 0.02600 7 Jul 14:30:23 ntpdate: 시간 서버 조정 хх.ххх.ххх.ххх 오프셋 −0.127936sec

위의 출력에서 ​​서버는 동기화에 적합하고 레벨은 2, 오프셋은 0.127936ms, 지연은 0.026ms임을 알 수 있습니다.

또한 로그에서 동기화가 성공적으로 진행되었는지 또는 오류가 발생했는지 확인할 수 있습니다.

7월 7일 15:17:17 ntpd: 91.198.10.4로 동기화됨, 계층=2 7월 7일 15:17:17 ntpd: 커널 시간 동기화 비활성화 0041 7월 7일 15:17:21 ntpd: 커널 시간 동기화 활성화 0001

현지 날짜 및 시간 설정

ntpdate 명령을 사용하여 NTP 서버에 요청을 보내 서버의 로컬 날짜 및 시간을 설정할 수 있습니다.

소개.

대부분의 다른 최신 운영 체제와 마찬가지로 Linux 시스템에는 실제로 두 개의 시계가 있습니다. 첫 번째 클럭은 하드웨어 클럭으로, RTC(Real Time Clock), 축약형(RTC) 또는 BIOS 클럭이라고도 하며 일반적으로 하루에 최대 몇 초의 정확도를 갖는 진동 수정 수정과 관련됩니다. 정확도는 주변 온도와 같은 다양한 변동에 따라 달라집니다. 두 번째 클럭은 시스템 중단 시간을 포함하여 지속적으로 실행되는 내부 소프트웨어 클럭입니다. 높은 시스템 부하 및 인터럽트 지연과 관련된 변동에 영향을 받습니다. 그러나 시스템은 일반적으로 부팅 시 하드웨어 시계를 읽은 다음 시스템 시계를 사용합니다. date 명령은 하드웨어 시계가 아니라 시스템 시계를 설정합니다.

NTP를 사용하면 시스템을 처음 설치할 때 하드웨어 시계를 설정할 수 있으며 다시는 그것에 대해 걱정할 필요가 없습니다.

에 사용되는 실시간 클록(RTC) 칩 마더보드, 특히 정확하지 않으며 일반적으로 매일 특정 시간만큼 지연되거나 앞서갑니다.

hwclock 명령을 -w 또는 --systohc 옵션과 함께 사용하여 하드웨어 시계를 시스템 시계와 동기화하고 시스템 시계를 -s 또는 --hctosys 옵션과 함께 hwclock 명령을 사용하여 하드웨어 시계와 동기화할 수 있습니다.

환경.

먼저 /etc/ntp.conf 파일에 다음 행을 추가합니다.

시간은 지정된 서버에서 동기화됩니다. 첫 번째 항목을 사용할 수 없으면 목록의 다음 항목이 사용됩니다. 첫 번째 처방 로컬 서버 NTP.

다음 순간, 사용할 현지 또는 세계 시간을 설정합니다.

#고양이 /etc//etc/sysconfig/clock

우리는 가지고 있지 않습니다:

우리는 ZONE을 지배합니다 - "유럽/모스크바"

우리는 다음을 얻습니다.

UTC=참시스템 시계는 세계시를 사용하지 않습니다.

아크=참일반 UNIX 에포크가 사용됩니다.

Linux에서 시간대는 /etc/localtime에서 /usr/lib/zoneinfo(또는 /usr/share/zoneinfo) 디렉토리의 파일로 심볼릭 링크를 통해 설정되며, 이는 현재 시간대를 나타냅니다.

그림. /usr/share/zoneinfo의 내용

우리는 명령을 실행합니다.

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

모든 것이 작동합니다!

ntpd 데몬이 실행 중인 경우 ntp 서버와 동기화를 시도하면 다음 메시지가 표시됩니다.

이 명령은 연결할 서버를 보여줍니다.

덧셈:

하드웨어 시계 설정

하드웨어 시계를 설정하려면 먼저 시스템 시간을 설정한 다음 "/sbin/clock -w"(또는 세계시를 사용하는 경우 "/sbin/clock -wu") 프로그램을 사용하여 하드웨어 시간을 설정합니다. 하드웨어 시간을 찾으려면, 매개변수 없이 시계를 실행합니다. 하드웨어 시계가 현지 시간으로 설정되어 있고 세계 시간 유형을 보려면 "/sbin/clock -u"

시스템 시계 설정

Linux에서 시스템 시계를 설정하려면 날짜 프로그램을 사용하십시오. 예를 들어, 현재 시간(시스템!)과 날짜를 7월 31일 23:16으로 설정하고 "날짜 07312316"을 입력합니다(시간은 24시간 표기법으로 표시됨). 연도를 변경하려면 "날짜 073123161998". 초를 설정하려면 "날짜 07312316.30" 또는 "날짜 073123161998.30"을 누르십시오. 시스템 시간을 얻으려면 인수 없이 date를 실행하십시오.

사용된 소스입니다.

때로는 Ubuntu 컴퓨터의 시계가 느려지거나 빠릅니다. 이 상황은 중요하지 않지만 매우 불쾌하고 시간의 모호성으로 인한 로그의 혼란에서 잘못된 시간을 믿었기 때문에 회의에 늦는 것에 이르기까지 재앙적인 결과를 초래할 수 있습니다. 또한 Tor anonymizer와 같은 일부 프로그램의 올바른 작동을 위해서는 정확한 시간이 중요합니다.

다행히도 이것은 자주 발생하지 않으며 일반적으로 시스템 시간을 저장하거나 BIOS 메모리를 재설정하기 위해 다른 알고리즘을 사용하여 운영 체제를 로드하는 것과 같은 비표준 작업과 관련이 있습니다. 인터넷을 통해 현지 시간 동기화를 설정합니다. 시계를 자주 두드리고 매번 설정하기에는 너무 게으른 경우에는 여전히 매우 편리한 기능입니다. Ubuntu는 이를 수행하기 위해 NTP 서비스와 ntpd 데몬을 사용합니다. 이 기사에서 논의 할 것은 그들에 관한 것입니다.

먼저 Ubuntu의 터미널에서 시간을 보는 방법에 대해 알아보겠습니다. 현재 시간을 확인하려면 다음 명령을 실행하십시오.

UTC 형식으로 데이터를 보려면 다음을 입력하십시오.

Ubuntu 시간이 참조보다 얼마나 지연되는지 알아 보겠습니다.

sudo ntpdate -q ntp.ubuntu.com

더군다나 이론이 많은데, 설치 안내만 받으러 왔다면 주저 없이 아래로 스크롤을 내려주세요. UTC는 협정 세계시(Coordinated Universal Time), 즉 협정 세계시(Coordinated Universal Time)의 약자입니다. 이 GMT 표준은 전 세계적으로 동일하며, Ubuntu를 포함하여 Linux에 시스템 시간이 저장되는 형태이며, 각 사용자에 대해 이미 로컬에 시간대 수정이 추가되어 있습니다. 여기에 시간 실패의 원인이 있습니다. Windows 사용그리고 유닉스.

내가 말했듯이 Ubuntu는 시간을 UTC 형식으로 저장하는 반면 Windows는 시간대를 추가하여 이미 로컬 형식을 사용합니다. 컴퓨터를 끄거나 다시 시작할 때마다 운영 체제는 BIOS 타이머에 타이머 값을 저장하고 부팅할 때 거기에서 읽습니다.

그리고 Microsoft의 OS가 현지 시간을 절약하고 Ubuntu는 UTC라고 생각합니다. 무슨 일이 일어나고 있는지 이미 이해하고 계십니까? 맞습니다. 재부팅이 많을수록 실제 시간과 차이가 더 많이 납니다. 그러나 나는 이미 주제에서 벗어났습니다. 두 시스템에서 동기화 알고리즘을 설정하는 방법은 여기에서 말하지 않겠습니다. 오늘의 목표는 Ubuntu에서 시간 동기화하는 것입니다.

우분투에 NTP 설치

ntpdate 시간 동기화 유틸리티는 우분투와 함께 제공되며 시작 시 자동으로 시작됩니다. 이제 터미널에서 실행되도록 시간을 동기화하려면:

ntpdate -s ntp.ubuntu.com

ntpd 서비스는 표준 패키지에 포함되어 있지 않으며, 그 임무는 시스템 시계를 지속적으로 모니터링하고 편차를 수정하는 것입니다. ntpd를 설치하려면 다음을 입력하십시오.

sudo apt-get install ntp

데몬을 시작하려면 다음을 입력하십시오.

sudo 서비스 ntp 시작

그리고 자동 로드에 추가하려면:

sudo rc-update ntp 기본값 추가

Ubuntu가 /etc/ntp.conf 파일에서 확인할 서버를 구성할 수 있습니다. 항목 형식은 서버 주소입니다. 예를 들어 표준 구성은 다음과 같습니다.

# NTP 풀 프로젝트의 서버를 사용합니다. Ubuntu 기술 위원회 승인
# 2011-02-08 (LP: #104525). http://www.pool.ntp.org/join.html을 참조하십시오.
# 추가 정보.
server0.ubuntu.pool.ntp.org
server1.ubuntu.pool.ntp.org
server2.ubuntu.pool.ntp.org
server3.ubuntu.pool.ntp.org

구성을 편집한 후 서비스를 다시 시작하는 것을 잊지 마십시오.

sudo 서비스 ntp 다시 시작

문제 해결

동기화 서비스는 포트 123을 사용하여 서버에 연결하므로 방화벽을 사용하는 경우 이러한 포트에 대한 액세스가 차단될 수 있으므로 다음 규칙을 추가하여 액세스를 허용해야 합니다.

iptables -A 출력 -p udp -s 192.168.1.1 --sport 1024:65535 -d 0/0 --dport 123 -m 상태 --상태신규, 설립 -j 수락

iptables -A 입력 -p udp -s 0/0 --sport 123 -d 192.168.1.1 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

이제 컴퓨터의 시계가 항상 올바르게 실행됩니다.


많은 사람들이 그것에 대해 생각하지 않았지만 시간 동기화는 중요한 작업입니다. 글쎄, 서버 시간에 도망가는 것이 무엇이 잘못 되었습니까? 많은 시계 문제가 암호화와 관련된 프로토콜에 영향을 미친다는 것을 알고 계셨습니까? 이러한 이유로, 액티브 디렉토리클럭 차이가 5분보다 크면 Kerberos 인증 문제가 발생합니다.

시간당 수준. 지층.

NTP 장치를 이해하려면 개념에 대해 알아야 합니다. 지층또는 지층. GPS 위성, 세슘 원자시계, WWVB 전파와 같은 신뢰할 수 있는 시간 소스 - 이 모든 것 0층. 그들은 매우 정확한 시간 기록을 유지하는 방법이 있다는 점에서 권위가 있습니다. 물론 일반 쿼츠 시계를 사용해도 되지만 한 달에 15초를 잃기 쉽다는 것을 알기 때문에 시간의 척도로 사용하지 않는 것이 좋습니다. 0층이것은 30만년 동안 1초도 잃지 않는 때입니다!

직접(네트워크를 통하지 않고!) 시간이 걸리는 컴퓨터 0층- 이것은 1층. 신호 전송으로 인한 지연과 시간 설정 비용이 항상 있기 때문에 컴퓨터는 1층정확하지 않다 0층, 그러나 실생활에서 그 차이는 몇 마이크로초(1 µs = 10 -6 s)에 이르며 이는 상당히 수용 가능한 편차입니다.

네트워크를 통해 시간이 걸리는 차세대 컴퓨터 1층- 이건... 드럼롤... 음모... 2층! 다시 말하지만, 다양한 지연으로 인해(확실한 네트워크), 2층조금 뒤에 1층그리고 확실히에서 0층. 실제로 이 차이는 몇 마이크로초(1μs = 10 -6초)에서 몇 밀리초(1ms = 10 -3초)까지 다양합니다. 많은 사람들이 더 이상 레이어와 동기화하기를 원하지 않습니다. 2층.

도표에서 알 수 있듯이, 4층상사로부터 시간이 걸린다 3층. 5층~에 4층등등. 16층가장 낮은 레이어로 간주되고 시간이 거기에서 고려됩니다. 동기화되지 않음.

NTP 프로토콜을 사용하여 시간을 동기화하려면 먼저 수동으로 시간을 설정해야 합니다. 정확한 시간과 시계의 1000초 이상의 차이는 허용되지 않습니다. 사용 중인 시간 서버가 1000밀리초(1초) 이상 거짓말을 하면 목록에서 삭제되고 다른 시간 서버가 대신 사용됩니다. 이 메커니즘을 사용하면 잘못된 시간 소스를 필터링할 수 있습니다.

시간 클라이언트.

/etc/ntp.conf 파일에서 서버 행은 클라이언트에 중요합니다. 최대 10개까지 여러 개 있을 수 있습니다!

얼마나 추가할 것인가? 명심하세요:

  • 서버가 하나만 있는 경우(서버 라인 하나) 이 서버가 거짓말을 하기 시작하면 맹목적으로 따라갑니다. 그의 시간이 5초로 끝나서 당신이 그를 쫓는다면.
  • 2개의 서버가 추가되면(2개의 서버 라인), NTP는 둘 모두를 다음으로 표시합니다. 거짓 시세. 둘 중 하나가 거짓말을 하면 쿼럼이 없기 때문에 NTP는 누가 거짓말을 하는지 이해할 수 없습니다.
  • 타임서버가 3개 이상 추가되면 거짓말쟁이 1명 계산 가능 거짓 시세. 타임서버가 5~6대라면 거짓말쟁이 2명을 찾을 수 있다. 거짓 시세. 서버가 7개 또는 8개라면 3개 거짓 시세. 서버가 9대와 10대라면 4대 거짓 시세.

NTP 풀 프로젝트.

pool.ntp.org/zone/ru/의 주소에는 러시아 사용자에게 권장되는 시간 서버를 찾을 수 있는 NTP 풀과 같은 프로젝트가 있습니다.

server0.ru.pool.ntp.org
server1.ru.pool.ntp.org
server2.ru.pool.ntp.org
server3.ru.pool.ntp.org

Debian 및 Ubuntu와 같은 운영 체제는 사용자에게 자체 시간 서버를 제공합니다.

server0.debian.pool.ntp.org
server1.debian.pool.ntp.org
server2.debian.pool.ntp.org
server3.debian.pool.ntp.org

server0.ubuntu.pool.ntp.org
server1.ubuntu.pool.ntp.org
server2.ubuntu.pool.ntp.org
server3.ubuntu.pool.ntp.org

NTP를 사용하는 Linux 시스템에서 ntpq -pn을 호출하는 경우

원격 refid st t 때 poll 도달 지연 오프셋 지터 ===================================== =======================================+93.180.6.3 77.37.134.150 2 u 62 1024 377 53.658 - 0.877 1.174 +85.21.78.23 193.190.230.65 2 u 1027 1024 377 54.651 0.167 1.531 *62.173.138.130 89.109.251.24 2 u 940 1024 377 52.796 -0.143 1.001 +91.206.16.3 194.190.168.1 2 u 258 1024 377 93.882 -0.680 2.196 - 91.189.94.4 193.79.237.14 2 u 596 1024 377 100.219 1.562 1.482

열 이름은 무엇을 말합니까?

  • 원격- 시간을 동기화하는 원격 서버.
  • 리피드- 이 서버의 상위 계층.
  • - 지층 수준. 0(사용할 수 없음)에서 16(바람직하지 않음)까지입니다. 이상적 - 2.
  • - 연결 타입. " "- 유니캐스트 또는 매니캐스트, " "-브로드캐스트 또는 멀티캐스트, " " 로컬 참조 클럭 " 에스" - 대칭 노드, " " - 매니캐스트 서버, " "-방송 서버, " "- 멀티캐스트 서버.
  • 언제- 서버가 마지막으로 응답한 시간입니다. 매개변수는 숫자를 초 단위로 표시하지만 숫자가 다음과 같을 경우 분 단위일 수 있습니다. 또는 시간 시간.
  • 투표- 폴링 빈도. 최소 16초, 최대 32시간. 숫자는 2n이어야 합니다. 일반적으로 이 매개변수에는 64초 또는 1024가 있습니다.
  • 도달하다- 원격 시간 서버와의 통신 상태를 나타내는 8비트 옥텟: 성공 또는 실패. 비트가 설정되면 성공, 그렇지 않으면 실패입니다. 값 377은 이진수 0000 0000 1111 1111입니다.
  • 지연- 밀리초 단위의 값은 응답을 보내고 받는 사이의 시간을 나타냅니다(왕복 시간 - RTT).
  • 오프셋- 귀하와 시간 서버 간의 오프셋(밀리초). 양수 또는 음수일 수 있습니다.
  • 지터- 오프셋의 표준 편차를 나타내는 밀리초 단위의 절대 값.

NTP 서버의 IP 주소 앞에 기호가 있습니다. 탈리 코드. 종류 탈리 코드:

  • " " - 무효로 처리됩니다. 예를 들어, 그와 연결되어 있지 않거나 오프라인 상태이며, 그는 너무 높은 지위에 있고 당신과 같은 사람들을 섬기지 않습니다.
  • "엑스"- "교차로" 알고리즘에 의해 폐기됩니다. 교차 알고리즘은 동기화 소스가 될 수 있는 후보 파트너 목록을 준비하고 각각에 대한 신뢰 구간을 계산합니다.
  • "." - 테이블 오버플로로 인해 삭제되었습니다.
  • "-" - 클러스터 알고리즘에 의해 폐기됩니다. 클러스터링 알고리즘은 레이어 코드와 동기화 거리를 기준으로 후보 목록을 정렬합니다.
  • "+" - 서버는 "결합 알고리즘"에 의해 활성화됩니다. 이 서버는 현재 시간 서버가 실패하기 시작하는 경우 훌륭한 후보입니다.
  • "#" - 서버는 훌륭한 대체 시간 서버입니다. #이 있는 서버는 /etc/ntp.conf에 10개 이상의 서버 항목이 있는 경우에만 볼 수 있습니다.
  • "*" - 현재 시간 서버. 판독 값은 시계를 동기화하는 데 사용됩니다.
  • "영형"- 초당 펄스(PPS) 서버. 이것은 일반적으로 이 시간 서버가 GPS 위성 및 기타 정확한 시간 신호와 같은 시간 소스를 사용한다는 것을 의미합니다. 그린 경우 ~에 대한, 다른 유형의 탈리 코드는 더 이상 표시되지 않습니다.

현장에서 리피드다음 값이 될 수 있습니다.

  • IP 주소 - 원격 시간 서버의 주소입니다.
  • .ACST.- NTP 매니캐스트 서버.
  • .ACTS.-자동 컴퓨터 시간 서비스미국 국립 표준 기술 연구소에서.
  • .AUTH.- 인증 오류.
  • .AUTO - 자동 키 시퀀스의 오류입니다.
  • .BCST.- NTP 브로드캐스트 서버.
  • .CHU.- 캐나다 온타리오주 오타와에 있는 CHU 스테이션의 단파 라디오 수신기.
  • .CRYPT. - 자동 키 프로토콜 오류입니다.
  • .DCFx.- 독일 Mainflingen에 있는 DCF77 스테이션의 LF 라디오 수신기.
  • .DENY.- 액세스가 거부되었습니다.
  • .GAL.-유럽 갈릴레오 위성 수신기.
  • .GOES.- 미국 정지궤도 운용 환경 위성 수신기.
  • .GPS.- 미국 위성 위치 확인 시스템 수신기.
  • .HBG.- 스위스 Prangins에 있는 HBG 스테이션의 LF 라디오 수신기.
  • .INIT.- 피어 연결이 초기화되었습니다.
  • .IRIG.- 범위간 계측 그룹 시간 코드.
  • .JJY.- 일본 규슈 섬의 후쿠시마 또는 하가네 산 근처 오타카도야 산에 있는 JJY 스테이션의 LF 라디오 수신기.
  • .LFx.- 일반 LF 라디오 수신기.
  • .LOCL. - 호스트의 로컬 시계.
  • .LORC.- 장거리 항법(LORAN-C)의 LF 무선 수신기.
  • .MCST.- NTP 멀티캐스트 서버.
  • .MSF.- 컴브리아의 안톤 근처에 있는 안톤 라디오 방송국.
  • .NIST.-미국 국립 표준 기술 연구소.
  • .PPS.- 초당 클록 펄스.
  • .PTB.- 독일 Brunswick 및 Berlin의 Physikalisch-Technische Bundesanstalt.
  • .RATE.- NTP 폴링 임계값을 초과했습니다.
  • .STEP.- NTP 단계를 변경합니다. 편견 오프셋 1000밀리초 미만이지만 125밀리초 초과입니다.
  • .TDF.- 프랑스 알루이에 있는 TéléDiffusion de France 스테이션의 LF 라디오 수신기.
  • .TIME.- NTP 연결 시간 초과.
  • .USNO.- 미국 해군 천문대.
  • .WWV.- 미국 콜로라도주 포트 콜린스에 있는 WWV 스테이션의 HF 라디오 수신기.
  • .WWVB.- 미국 콜로라도주 포트 콜린스에 있는 WWVB 스테이션의 LF 라디오 수신기.
  • .WWVH.- 미국 하와이 카우아이 섬의 Kekaha에 있는 WWVH 스테이션의 HF 라디오 수신기.

첫째, 시간을 어떻게 보낼 것인가에 대한 생각을 버려라. 1층, 그들은 그들이 정확한 시간에 가장 가깝다고 말합니다. 그들은 지구상에서 가장 정확한 시간에 더 가깝고, 그들 자신만이 과부하가 걸리고 일반 서버에 대해 높은 RTT 지연이 있습니다. 차라리 정상적인걸 찾으세요 2층그리고 그것에 대해 걱정하지 마십시오. 일상 생활에서는 마이크로초와 밀리초에 대해 이야기하고 있다는 것을 잊지 마십시오.

둘째, 가장 가까운 시간 서버에 연결하는 것이 항상 이상적인 것은 아니라는 점을 기억하십시오. 더 중요한 것은 영토적 근접성이 아니라 계층의 수준입니다. NTP 풀 프로젝트는 해당 수준에서만 서버 목록을 게시합니다. 1층그리고 2층그리고 이 목록에서 최대 10개의 시간 서버를 선택하는 것이 좋습니다.

셋째, 당신이 단순한 홈 클라이언트 사용자라면, 당신이 추천하는 서버는 운영 체제추가 제스처가 필요하지 않은 이상적인 옵션이 될 것입니다.

대규모 사무실의 경우 가장 좋은 방법은 업무용 컴퓨터를 위한 자체 시간 서버를 설정하는 것입니다. 이 서버인터넷 시간 서버로부터 정확한 시간을 받아 제공합니다. 로컬 컴퓨터. 데비안 및 우분투 서버에서 행의 주석 처리를 제거하십시오.

제한 192.168.0.0 마스크 255.255.0.0 nomodify notrap

ntpd 데몬 구성 파일에서 - /etc/ntp.conf

192.168/16 네트워크의 사용자는 서버에서 가장 정확한 시계를 얻을 수 있습니다. 내부 서버의 경우 Linux 기반, 시간 서버가 아닌 자체 작업을 수행하는 클라이언트 모드에서 ntpd 데몬을 실행하는 대신 /etc/cron.daily/syncntpd 파일에 지정하면 충분합니다. ntpdate와 ntp의 차이점을 읽고 스스로 결정하는 것이 좋습니다.
#!/bin/sh
/usr/sbin/ntpdate 서버의 IP 주소 > /dev/null 2>&1
0번 출구

그리고 하루에 한 번 ntpdate 명령 덕분에 시간 동기화가 수행됩니다. 오해를 피하려면 시간 서버를 구현하고 NTP 프로토콜을 통해 모든 것을 동기화하기 전에 게으르지 마십시오. 사용 가능한 모든 서버와 워크스테이션에서 올바른 시간을 수동으로 설정하십시오. 동기화되지 않은 시간이 올바른 시간과 너무 다르면 처음에 불필요한 문제를 많이 시작할 수 있습니다.

넷째, NTP는 어떤 국가와 시간대를 사용하는지, 여름과 겨울 시간으로의 전환이 어떻게 발생하는지, 그리고 이러한 전환이 국내에서 이루어졌는지 여부와 관련이 없습니다. 이 책임은 운영 체제에 있으며 국가에서 시계 제작에 변경 사항이 있는 경우 업데이트해야 합니다. Debian 및 Ubuntu 시스템에서는 tzdata 패키지가 이를 담당하며 최신 상태여야 합니다.

다섯째, 부하가 높은 시스템에서는 NTP 서버를 올리지 않는 것이 좋습니다.

네트워크 시간 프로토콜은 패킷 스위칭 기반의 가변 대기 시간 네트워크를 사용하여 컴퓨터의 내부 시계를 동기화하기 위한 네트워크 프로토콜입니다.

전통적으로 NTP는 작동에 UDP를 사용하지만 TCP를 통해 작동할 수도 있습니다. NTP 시스템은 미디어 대기 시간의 변화에 ​​매우 강력합니다.

시간은 NTP 시스템에서 32비트 초 카운터와 32비트 소수 초 카운터로 구성된 64비트 숫자로 표시되며 이론적인 정확도 2로 2-32초 범위에서 시간을 전송할 수 있습니다. -32초. NTP의 시간 척도는 232초(136년)마다 반복되기 때문에 수신자는 현재 시간(정확도 68년)을 최소한 대략적으로 알고 있어야 합니다. 또한 시간은 1970년이 아닌 1900년 1월 1일 자정부터 측정되므로 Windows 또는 Unix 시스템과 시간을 올바르게 맞추려면 NTP 시간에서 거의 70년(윤년 포함)을 빼야 합니다. .

작동 방식

NTP 서버는 계층적 네트워크에서 작동하며 계층의 각 수준을 계층(계층)이라고 합니다. Tier 0은 참조 클럭으로 표시됩니다. 기준으로 삼는다 GPS 신호(Global Positioning System) 또는 ACTS(Automated Computer Time Service). 제로 계층에서는 NTP 서버가 작동하지 않습니다.

Tier 1 NTP 서버는 참조 시계에서 시간 데이터를 수신합니다. Tier 2 NTP 서버는 Tier 1 서버와 동기화되며 총 15개까지 가능합니다.

NTP 서버와 NTP 클라이언트는 Tier 1 서버에서 시간 데이터를 수신하지만 실제로 NTP 클라이언트는 수천 개의 개별 클라이언트 요청이 Tier 1 서버에 너무 많을 것이기 때문에 이 작업을 수행하지 않는 것이 좋습니다. 로컬 NTP를 설정하는 것이 좋습니다. 고객이 시간에 대한 정보를 얻는 데 사용할 서버입니다.

NTP 프로토콜의 계층 구조는 내결함성과 중복성이 있습니다. 그의 작품의 예를 살펴보자. 2개의 Tier 2 NTP 서버는 각각 독립적인 링크에 있는 6개의 서로 다른 Tier 1 서버와 동기화됩니다. 내부 호스트는 내부 NTP 서버와 동기화됩니다. 두 Tier 2 NTP 서버는 서로 시간을 조정합니다. 계층 1 서버 또는 계층 2 서버 중 하나에 대한 링크가 실패하면 중복 계층 2 서버가 동기화 프로세스를 인계받습니다.

마찬가지로 Tier 3 호스트와 장치는 Tier 2 서버를 사용할 수 있습니다.더 중요한 것은 NTP 서버의 중복 네트워크를 통해 시간 서버를 항상 사용할 수 있다는 것입니다. 여러 시간 서버와 동기화하여 NTP는 모든 소스의 데이터를 사용하여 가장 정확한 시간을 계산합니다.

NTP 프로토콜이 가장 순수한 형태로 시간을 설정하지 않는다는 점은 주목할 가치가 있습니다. NTP 서버의 시간과 로컬 시계의 차이인 시간 오프셋을 사용하여 로컬 시계를 수정합니다. NTP 서버와 클라이언트는 다음과 동기화하여 시계를 조정합니다. 현재 시간점차적으로 또는 한꺼번에.