본문 바로가기

Ubuntu 24.04에 타임서버(NTPsec) 구축하기

_Big 2025. 4. 22.

Ubuntu 24.04에 NTPsec을 설치해서 타임서버를 구축하고 0.0.0.0 IP 주소로부터 시간 동기화를 허용하도록 설정하는 방법을 아래와 같이 정리했습니다.

Ubuntu 24.04에 타임서버(NTPsec) 구축하기

 

1단계: NTPsec 패키지 설치

먼저 Ubuntu 시스템에 NTPsec 패키지를 설치해야 합니다. 터미널을 열고 다음 명령어를 실행하세요.

sudo apt update
sudo apt install ntpsec

첫 번째 명령어(sudo apt update)는 패키지 목록을 최신 상태로 업데이트하는 것이고, 두 번째 명령어(sudo apt install ntpsec)는 NTPsec 패키지를 실제로 설치하는 명령어입니다. 설치 과정 중에 비밀번호를 묻는다면 입력해 주세요.

2단계: NTPsec 설정 파일 수정

NTPsec의 주요 설정 파일은 /etc/ntpsec/ntp.conf입니다. 이 파일을 편집해서 시간 동기화 설정을 변경해야 합니다. 다음 명령어를 사용하여 파일을 엽니다. nano는 간단한 텍스트 편집기입니다. 다른 편집기를 선호한다면 vigedit 등을 사용해도 괜찮습니다.

sudo nano /etc/ntpsec/ntp.conf

파일이 열어서 다음과 같은 내용을 찾아서 확인합니다.

  • 시간 서버 설정 (pool directives): 기본적으로 설정된 pool로 시작하는 줄들을 확인합니다. 기본으로 제공하는 공개 NTP 서버를 사용하거나, 내부 NTP 서버가 있다면 해당 주소로 변경할 수 있습니다.만약 특정 서버를 사용하고 싶다면 pool 대신 server를 사용할 수 있습니다.
  • 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
  • 접근 제어 설정 (restrict directives): 시간 동기화를 허용할 IP 주소 또는 네트워크를 설정하는 부분입니다. 0.0.0.0으로부터의 동기화를 허용하려면 다음과 같은 줄을 추가하거나 수정합니다.이 줄의 의미는 다음과 같습니다.
    • restrict 0.0.0.0: 모든 IP 주소에 대한 규칙을 정의합니다.
    • nomodify: 클라이언트가 서버 설정을 변경하는 것을 금지합니다.
    • notrap: 클라이언트가 트랩 요청을 보내는 것을 금지합니다.
    • nopeer: 클라이언트가 피어링을 시도하는 것을 금지합니다.
    • noquery: 클라이언트가 서버 상태를 질의하는 것을 금지합니다.
    • 주의:* 위 설정은 0.0.0.0으로부터의 시간 동기화 요청은 허용하지만, 다른 종류의 NTP 쿼리는 막는 설정입니다. 만약 다른 NTP 쿼리도 허용하고 싶다면 nomodify notrap nopeer noquery 부분을 제거하거나 필요에 따라 조정해야 합니다. 하지만 보안상의 이유로 가능한 최소한의 권한만 부여하는 것이 좋습니다.
      restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap nopeer noquery
      기존에 다른 restrict 줄이 있다면 필요에 따라 수정하거나 추가합니다. 기본적으로 localhost에 대한 접근은 허용하는 설정이 있을 수 있으니 확인해 보세요.
    • 만약 특정 네트워크 대역에서만 시간 동기화를 허용하고 싶다면 다음과 같이 설정할 수 있습니다 (예: 192.168.1.0/24 네트워크).
  • restrict 0.0.0.0 nomodify notrap nopeer noquery

3단계: NTPsec 서비스 재시작

설정 파일을 수정한 후에는 NTPsec 서비스를 재시작하여 변경 사항을 적용해야 합니다. 다음 명령어를 실행합니다.

sudo systemctl restart ntpsec

4단계: NTPsec 서비스 상태 확인

서비스가 제대로 시작되었는지 확인하기 위해 다음 명령어를 실행합니다.

sudo systemctl status ntpsec

출력 결과에서 active (running) 상태인지 확인하고, 에러 메시지가 없는지 살펴보세요.

5단계: 시간 동기화 상태 확인

NTPsec이 제대로 작동하고 있는지, 그리고 시간 서버와 동기화가 잘 되고 있는지 확인하려면 다음 명령어를 사용할 수 있습니다.

ntpq -p

이 명령어는 연결된 NTP 서버 목록과 각 서버와의 상태를 보여줍니다. 출력 결과에서 각 서버의 상태를 나타내는 첫 번째 문자에 * 표시가 있는 서버가 현재 시간 동기화에 사용되고 있는 서버입니다. reach 컬럼은 서버에 얼마나 자주 성공적으로 연결되었는지 나타냅니다 (8진수 값). delay, offset, jitter 컬럼은 시간 동기화의 품질을 나타냅니다.

보안 경고 재 강조:

다시 한번 강조하지만, restrict 0.0.0.0 설정은 모든 IP 주소로부터 시간 동기화 요청을 허용하는 것이므로 보안상 매우 위험할 수 있습니다. 외부의 악의적인 사용자가 시간 동기화 서비스를 악용하여 시스템에 문제를 일으킬 가능성이 있습니다.

가능하다면 특정 신뢰할 수 있는 NTP 서버의 IP 주소나 네트워크 대역으로 접근을 제한하는 것을 강력히 권장합니다.

Ubuntu 22.04에 Node.js + n8n 설치하기

 

Ubuntu 22.04에 Node.js + n8n 설치하기

npm으로 n8n을 설치 하려면 node 20.x 버전 이상이 필요합니다. 그래서 아래에 소개하는 방식으로 Node.js를 설치해야 합니다.  1. NodeSource 저장소 추가Node.js의 원하는 버전에 따라 명령어가 달라집니

bigadmin.org

 

댓글