LinuxTechnology

[Ubuntu] NTP 인터넷 표준 시간 자동 동기화 가이드

14views

0. 환경 및 사전 요구 사항

  • OS: Ubuntu 18.04 LTS 이상 (20.04, 22.04 LTS 포함)
  • 서비스: systemd-timesyncd (Ubuntu 기본 탑재)
  • 권한: sudo 권한
  • 네트워크: 외부 NTP 서버와 통신을 위해 UDP 123번 포트가 개방되어 있어야 합니다.

1. 사전 준비: 기존 서비스 점검

리눅스에는 여러 시간 동기화 도구가 있을 수 있습니다. 충돌을 방지하기 위해 기본 서비스를 확인합니다.

Bash

# 기본 시간 동기화 서비스의 상태를 확인합니다.
timedatectl status

2. 단계별 설정 (Step-by-Step)

Step 1: NTP 동기화 활성화

명령어 한 줄로 시스템의 자동 동기화 기능을 켭니다.

Bash

# NTP 동기화 기능을 활성화(on) 합니다.
sudo timedatectl set-ntp true

Step 2: NTP 서버 주소 설정 (선택 사항)

기본적으로 우분투 서버가 설정되어 있지만, 한국 내에서 더 빠른 응답 속도를 위해 한국 공용 NTP 서버를 추가할 수 있습니다.

Bash

# 설정 파일을 수정하기 전 백업을 생성합니다.
sudo cp /etc/systemd/timesyncd.conf /etc/systemd/timesyncd.conf.bak

# 설정 파일을 수정합니다.
sudo vi /etc/systemd/timesyncd.conf

[수정 가이드] [Time] 섹션 아래의 주석을 해제하고 다음과 같이 입력하세요.

Plaintext

[Time]
NTP=kr.pool.ntp.org time.google.com
FallbackNTP=ntp.ubuntu.com

Step 3: 서비스 재시작 및 적용

설정한 내용을 시스템에 반영합니다.

Bash

# 서비스를 재시작하여 변경된 설정을 적용합니다.
sudo systemctl restart systemd-timesyncd

# 서비스가 정상적으로 실행 중인지 확인합니다.
sudo systemctl status systemd-timesyncd

3. 실행 및 검증

서버가 인터넷 표준 시간과 실제로 동기화되고 있는지 최종 확인합니다.

Bash

# 시간 설정 및 동기화 여부를 상세히 출력합니다.
timedatectl show-timesync --all

[검증 포인트]

  • System clock synchronized: yes : 서버 시계가 표준 시간과 일치됨.
  • NTP service: active : NTP 서비스가 정상 작동 중임.
  • Server: <IP_ADDRESS> (kr.pool.ntp.org) : 지정한 한국 NTP 서버로부터 데이터를 받는 중.

4. 마무리 및 트러블슈팅 팁 💡

  • Tip 1: 방화벽 확인 만약 System clock synchronized: no 상태가 지속된다면, 방화벽에서 아웃바운드 UDP 123번 포트가 막혀있는지 확인하세요.Bash# 방화벽에서 NTP 포트 허용 (필요 시) sudo ufw allow out 123/udp
  • Tip 2: 수동으로 즉시 맞추기 시간 차이가 너무 많이 나면 자동으로 맞춰지는 데 시간이 걸릴 수 있습니다. 이럴 땐 서비스를 껐다 켜는 것이 가장 빠릅니다.Bashsudo systemctl stop systemd-timesyncd sudo systemctl start systemd-timesyncd

이제 서버의 시간대가 한국으로 맞춰졌고, 1초의 오차도 없이 인터넷 표준 시간과 동기화되는 환경이 구축되었습니다!