728x90
구성 환경
- OS : ubuntu 18.04
- Master Server : 신뢰할 수 있는 시간 소스에서 시간 정보를 수집하고, 네트워크 내에서 기준 시간을 유지하는 역할
- Client Server : 마스터 서버로부터 시간 정보를 요청하고, 이를 통해 자체 시계를 동기화하여 정확한 시간을 유지
- 클라이언트 서버 -> 마스터 서버 -> 국내 타임 서버(ex)time.bora.net를 바라보게 설정
Network Time Protocol 란?
- NTP는 Network Time Protocol의 약자
- 네트워크를 통해 컴퓨터 및 기기들이 정확한 시간 정보를 동기화하는데 사용되는 프로토콜
- UDP 기반으로 작동하는 프로토콜, 123 포트 사용
국내 타임 서버 리스트
- ntp.kornet.net
- time.bora.net
- time.kriss.re.kr
- time.nuri.net
- time.nist.gov
- time.windows.com
NTP 마스터 서버 설정
1. ntp 서버 설치
ntp 패키지를 설치하여 ntp 서버 소프트웨어를 가져온다.
# 시스템 패키지 업데이트
$ sudo apt update -y
#Ubuntu 18.04에 NTP 서버 설치
$ sudo apt install ntp
#버전 확인
$ sntp --version

2. 구성 파일 편집
마스터 서버는 time.bora.net을 바라보게 설정
$ vi /etc/ntp.conf
#pool 0.ubuntu.pool.ntp.org iburst => 주석 처리해주고 밑에 원하는 공개 NTP서버 적기
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
pool time.bora.net iburst
# Use Ubuntu's ntp server as a fallback.
#pool ntp.ubuntu.com
...
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap # NTP서버에 접속할 클라이언트 네트워크 대역을 설정


참고) iburst 옵션
- 초기 동기화 시간을 단축하기 위해 사용
3. 서비스 재시작
$ sudo systemctl restart ntp
$ sudo systemctl status ntp

leapsecond file Error)

#해결법
$ sudo apt-get update
$ sudo apt-get install --reinstall tzdata #시스템의 시간대 데이터 패키지인 tzdata를 재설치
$ systemctl restart ntp
$ systemctl status ntp
4. 동기화 확인
시간이 좀 지난 후, reach가 ~377이 뜨면 성공 (offset, jitter은 작을수록 좋음)
$ ntpq -p

NTP 클라이언트 서버 설정
1. ntp 서버 설치
ntp 패키지를 설치하여 ntp 서버 소프트웨어를 가져온다.
# 시스템 패키지 업데이트
$ sudo apt update -y
#Ubuntu 18.04에 NTP 서버 설치
$ sudo apt install ntp
#버전 확인
$ sntp --version

2. 구성 파일 편집
클라이언트 서버는 마스터 서버를 바라보게 설정
$ vi /etc/ntp.conf
#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
server <마스터 서버 ip 주소> iburst # NTP (마스터)서버 주소

3. 서비스 재시작
$ sudo systemctl restart ntp
$ sudo systemctl status ntp
4. 동기화 확인
시간이 좀 지난 후, reach가 ~377이 뜨면 성공 (offset, jitter은 작을수록 좋음)
$ ntpq -p

참고)
- remote: NTP 서버의 주소 (IP 주소 또는 호스트 이름).
- refid: 해당 NTP 서버가 참조하는 다른 서버의 식별자.
- st: NTP 서버의 Stratum 레벨 (클럭 계층의 레벨).
- t: 서버 유형. u는 다른 NTP 서버와 통신하는 클라이언트, s는 자체 시스템의 시간 소스, l은 로컬 루프백
- when: 마지막으로 패킷을 보낸 시간 이후 경과한 시간 (초).
- poll: 서버에 대한 폴링 주기 (초).
- reach: 서버에 대한 성공적인 패킷 전송의 수 (비트 패턴으로 표시).
- delay: 시간 전송 소요 시간 (밀리초).
- offset: 서버와 클라이언트 간의 시간 차이 (밀리초).
- jitter: 시간 오차의 변동 (밀리초).
시간 동기화 최종 확인
마스터 서버와 클라이언트 서버 동시에 date 명령어 입력해서 시간 똑같은지 확인
$ date

방화벽 설정
- 마스터 서버 ---TCP, 37 포트 ---> time.bora.net IP(203.248.240.140)
- 클라이언트 서버 ---UDP, 123 포트 ---> 마스터 서버
728x90
'OS > Linux' 카테고리의 다른 글
| [Xshell] xshell 세션 공유 방법 (0) | 2023.11.09 |
|---|---|
| [Linux] 커널 버전 업데이트 방법 (1) | 2023.10.27 |
| [Chrony] 서버 시간 동기화 설정하기 (0) | 2023.10.20 |
| [Linux] 패스워드 변경/만료일/만료기간 확인하기 (0) | 2023.10.12 |
| [Linux] df와 du 용량 차이가 클 경우 해결 방법 _lsof | grep deleted (0) | 2023.08.25 |