본문 바로가기

리눅스

우분투 24.04 Stub Resolver 동작 및 설정 정리

반응형

우분투 24.04 Stub Resolver(systemd-resolved) 동작 및 설정 정리

Stub Resolver 개념 (127.0.0.53)

우분투 24.04를 포함한 최신 Linux 시스템에서는 DNS 처리를 위해 systemd-resolved 서비스를 사용하는 구조가 일반적입니다.

이때 /etc/resolv.conf에 설정되는 127.0.0.53은 실제 외부 DNS 서버가 아니라, 로컬에서 동작하는 Stub Resolver(중계용 DNS 서비스) 주소입니다.

테스트 환경

운영체제 정보

$ lsb_release -d
Description:	Ubuntu 24.04.1 LTS

동작 구조

Application
   ↓
127.0.0.53 (Stub Resolver)
   ↓
systemd-resolved
   ↓
실제 DNS 서버 (예: 8.8.8.8, 1.1.1.1)

즉, 애플리케이션은 항상 로컬 DNS(127.0.0.53)만 바라보고, 실제 DNS 서버로의 질의 전달은 systemd-resolved가 담당합니다.

1. 현재 상태 확인

systemctl is-active systemd-resolved
systemctl is-enabled systemd-resolved

확인된 상태

  • masked 상태 → 서비스 사용 불가
  • inactive (dead) → 실행되지 않음

또한 Stub 파일도 존재하지 않는 상태

ls -l /run/systemd/resolve/stub-resolv.conf
ls: cannot access /run/systemd/resolve/stub-resolv.conf

2. 기존 설정 초기화

기존 DNS 충돌 방지를 위해 resolv.conf 제거

sudo rm -f /etc/resolv.conf

3. systemd-resolved 설치

sudo apt update
sudo apt install -y systemd-resolved

4. systemd-resolved 활성화

4.1 Mask 해제

sudo systemctl unmask systemd-resolved

4.2 서비스 활성화

sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved

상태 확인

systemctl status systemd-resolved

5. Stub Resolver 연결 (resolv.conf 설정)

systemd-resolved가 관리하는 Stub 파일을 /etc/resolv.conf에 연결합니다.

sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

확인

ls -l /etc/resolv.conf
728x90

6. Netplan DNS 설정

네트워크 인터페이스에서 실제 DNS 서버를 지정합니다.

sudo vim /etc/netplan/50-cloud-init.yaml
network:
  version: 2
  ethernets:
    eno1:
      dhcp4: no
      addresses:
        - 192.168.0.10/24
      gateway4: 192.168.0.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1

적용

sudo netplan try
Do you want to keep these settings?

Press ENTER before the timeout to accept the new configuration

Changes will revert in 120 seconds

Configuration accepted.
sudo netplan apply

7. DNS 동작 확인

전체 상태 확인

resolvectl status

특정 인터페이스 확인

resolvectl status eno1
Link 2 (eno1)
    Current Scopes: DNS
         Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 8.8.8.8
       DNS Servers: 8.8.8.8 1.1.1.1

8. DNS 캐시 플러시 (Flush)

전체 캐시 초기화

sudo resolvectl flush-caches

또는 (구버전 호환):

sudo systemd-resolve --flush-caches

 

참고URL

- 변군이글루 : 우분투 24.04에서 사용하는 systemd-resolved DNS 캐시 관리 방법

 

728x90
반응형