자체 NTP 서버를 구축하려면 어떻게 해야 합니까?
-응?
NTP (network time protocol) 는 네트워크의 다른 호스트에 대한 시스템 시간을 동기화하는 데 사용됩니다. 관리하는 모든 호스트가 NTP 라는 지정된 호스트와 통신할 수 있습니까? 서버의 시간 서버는 시간을 동기화합니다. 반면 NTP 서버는 공용 NTP 서버 또는 선택한 서버와 시간을 동기화합니다. NTP 로? 모든 관리되는 시스템 시계는 밀리 초 수준으로 동기화됩니다.
회사 환경에서 NTP 전송을 위해 방화벽을 열지 않으려면 내부 NTP 서버를 설정하고 직원들이 공용 NTP 대신 내부 서버를 사용하도록 해야 합니까? 서버。 이 설명서에서는 CentOS 시스템을 NTP 서버로 구성하는 방법에 대해 설명합니다. 세부 사항을 소개하기 전에 먼저 NTP 의 개념을 간단히 살펴보겠습니다.
왜 우리는 NTP 가 필요합니까?
다양한 제조 공정으로 인해 모든 (비원자) 시계가 정확히 같은 속도로 실행되지 않습니다. 어떤 시계는 빨리 가고, 어떤 시계는 느리게 간다. 그래서 시간이 길었고, 한 시계의 시간이 천천히 다른 것에서 벗어났습니다. 즉, 자주 말하는 것입니까? "시계 드리프트" 또는 "시간 드리프트". 클럭 이동의 영향을 최소화하려면 NTP 를 사용하는 호스트는 정기적으로 지정된 NTP 서버와 상호 작용하여 클럭 동기화를 유지해야 합니다.
호스트 간 시간 동기화는 백업 계획, 침입 감지 기록, 분산 작업 스케줄링 또는 트랜잭션 순서 관리에 매우 중요합니다. 그것은 심지어 일상적인 임무의 일부가 되어야 한다.
NTP 의 계층
NTP 시계는 계층 패턴으로 구성됩니다. 계층의 각 레벨을 계층이라고 합니다. Stratum 의 개념은 한 대의 기계가 인가된 시간 소스에 대해 얼마나 많은 NTP 를 가지고 있는지를 설명한다. 점프。
Stratum 0 은 원자 시계와 같이 시간 이동이 없는 시계로 구성됩니다. 이런 시계는 인터넷에서 직접 사용할 수 없다. 형성 n (n > 1) 계층 서버 출처? Stratum N- 1 tier 서버 동기화 시간. Stratum N 시계는 네트워크를 통해 서로 연결될 수 있다.
NTP 는 최대/kloc-레벨 0/5 까지 지원합니다. 지층 16 은 동기화되지 않은 것으로 간주되어 사용할 수 없습니다.
CentOS 서버 준비
이제 CentOS 에 NTP 서버를 설치하겠습니다.
먼저 서버의 표준 시간대 설정이 올바른지 확인해야 합니다. CentOS 7 에서는 timedatectl 을 사용할 수 있습니까? 서버의 시간대를 보고 변경하는 명령 (예: "호주/애들레이드", 중국은 아시아/상하이로 설정할 수 있음).
코드는 다음과 같습니다.
# timedatectl 목록-시간대 | grep 호주
# time date CTL set- 호주/애들레이드 시간대
# 시간 날짜 CTL
Yum 을 사용하여 필요한 소프트웨어를 계속 설치합니다.
코드는 다음과 같습니다.
# yum NTP 설치
그런 다음 글로벌 NTP 서버를 추가하여 시간을 동기화합니다.
코드는 다음과 같습니다.
# vim /etc/ntp.conf
서버 0.oceania.pool.ntp.org
Server 1 .. 오세아니아. pool.ntp.org
서버 2.oceania.pool.ntp.org
서버 3.oceania.pool.ntp.org
기본적으로 NTP 서버의 로그는 /var/log/messages 에 저장됩니다. 사용자 지정 로그 파일을 사용하려는 경우 지정할 수도 있습니다.
코드를 복사합니다
코드는 다음과 같습니다.
로그 파일 /var/log/ntpd.log
사용자 지정 로그 파일을 선택한 경우 해당 소유자 및 SELinux 환경을 변경해야 합니다.
코드를 복사합니다
코드는 다음과 같습니다.
# chown ntp:ntp /var/log/ntpd.log
# chcon-t ntpd _ log _ t/var/log/ntpd.log
이제 NTP 서비스를 초기화하고 부팅에 추가되었는지 확인합니다.
코드는 다음과 같습니다.
# systemctl NTP 재시작
# systemctl NTP 활성화
NTP 서버 시계 확인
Ntpq 명령을 사용하여 로컬 서버의 시계가 NTP 를 통해 어떻게 동기화되는지 확인할 수 있습니다.
다음 표에서는 출력 열에 대해 설명합니다.
원격 소스는 ntp.conf 에 *' 를 정의하여 현재 사용 중인 소스와 최적의 소스를 나타냅니다. "+"는 이러한 소스를 NTP 소스로 사용할 수 있음을 의미합니다.' -'? 표시된 소스를 사용할 수 없습니다.
Refid 로컬 클럭과 동기화하는 데 사용되는 원격 서버의 IP 주소입니다.
St 층 (지층)
T U 형은 유니캐스트를 나타냅니다. 기타 값은 로컬, 멀티캐스트 및 브로드캐스트입니다.
서버와 마지막으로 상호 작용한 이후 경과한 시간 (초) 입니다.
폴링 및 서버 폴링 간격 (초).
Reach 는 서버와 상호 작용할 때 오류가 있는지 여부를 나타내는 8 진수입니다. 값 337 은 100% 성공 (10 진수 255) 을 나타냅니다.
지연된 서버와 원격 서버 간의 왕복 시간입니다.
서버와 원격 서버 간의 시차 (밀리초) 를 보상합니다.
두 샘플 간의 디더링 평균 시간차 (밀리초) 입니다.
NTP 서버에 대한 액세스 제어
기본적으로 NTP 서버는 모든 호스트의 쿼리를 허용합니다. 들어오는 NTP 동기 접속을 필터링하려면 방화벽에 규칙을 추가하여 트래픽을 필터링할 수 있습니다.
# iptables -A-s192.168.1.0/24-p UDP-dport 입력
# iptables-a input-p UDP-dport123-jdrop
이 규칙은192.168.1.0/24 (UDP/123 포트) 에서 nec 를 허용합니다 필요한 경우 규칙을 변경할 수 있습니다.
NTP 클라이언트 구성
1.Linux 운영 체제
NTP 클라이언트 호스트에는 서버와 시간을 동기화하려면 NTP 업데이트 패키지가 필요합니다. Yum 또는 apt-get 을 사용하여 이 패키지를 쉽게 설치할 수 있습니다. 패키지를 설치한 후 서버의 IP 주소를 사용하여 다음 명령을 실행합니다.
코드는 다음과 같습니다.
# ntpdate
RHEL 및 Debian 기반 시스템 명령은 동일합니다.
2.Windows 운영 체제
Windows 를 사용하는 경우 날짜 및 시간 설정에서 인터넷 시간을 찾습니다.
씨스코 장비
Cisco 장치의 시간을 동기화하려면 전역 구성 모드에서 다음 명령을 사용할 수 있습니다.
코드는 다음과 같습니다.
# NTP 서버
다른 제조업체의 NTP 지원 장치에는 고유한 네트워크 시간 매개변수가 있습니다. 디바이스를 NTP 서버와 동기화하려면 해당 디바이스의 설명서를 참조하십시오.
결론
간단히 말해서, NTP 는 모든 호스트에서 시계를 동기화하는 프로토콜입니다. 이미 NTP 서버를 설정하는 방법과 NTP 사용 디바이스와 서버 간에 시간을 동기화하는 방법에 대해 설명했습니다.