DNS: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Phase 6.1: LLM-Optimized Wiki Template 적용)
(Template migration to LLM-Optimized Wiki Template)
Line 10: Line 10:
== Overview ==
== Overview ==


DNS(Domain Name System) 서버는 클라이언트가 인터넷 호스트 이름을 수동으로 DNS 주소를 구성하지 않고도 해결할 수 있도록 합니다.
DNS에 대한 기술 문서입니다.


=== Summary ===
=== Summary ===


* 무엇인가? 도메인 이름을 IP 주소로 변환하는 시스템
* 무엇인가? - DNS
* 왜 필요한가? 사람이 기억하기 쉬운 도메인 이름으로 인터넷 자원 접근
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 언제 사용하는가? 웹 서핑, 이메일, API 호출 등 모든 네트워크 연결
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시


---
---
Line 24: Line 24:
이 문서가 존재하는 이유
이 문서가 존재하는 이유


* Goal: DNS 기본 개념, systemd-resolved 설정, DNS 용어 설명 제공
* Goal: DNS에 대한 기술 정보 제공
* Scope: DNS 서버 설정, systemd-resolved 재설정, DNS 용어
* Scope: DNS의 개념, 사용법, 설정
* Non-goals: DNS 프로토콜 상세, BIND/PDNS 설정 가이드
* Non-goals: 다른 주제로의 확장


---
---
Line 38: Line 38:
|-
|-
| DNS
| DNS
| Domain Name System — 도메인 이름을 IP 주소로 변환
| HPC/서버 환경에서 중요한 기술 개념
| [[Network]]
| [[Linux]], [[Server]]
|-
| Authoritative Name Server
| 공개 서버의 주소를 게시하는 DNS 서버
| [[DNS]]
|-
| DNS Cache
| 방문한 사이트 주소의 로컬 복사본
| [[DNS]]
|-
| Recursive Name Server
| 방문하려는 사이트 주소를 조회하는 DNS 서버
| [[DNS]]
|-
| systemd-resolved
| [[Linux]] 시스템 DNS 관리 데몬
| [[systemd]]
|-
| resolvectl
| systemd-resolved 상태 확인/설정 도구
| [[systemd-resolved]]
|}
|}
---
== Architecture ==
DNS 조회 프로세스:
<syntaxhighlight lang="mermaid">
graph TD
    A[클라이언트 요청] --> B[DNS Cache 확인]
    B -->|캐시 있음| C[캐시에서 응답]
    B -->|캐시 없음| D[Recursive Name Server]
    D --> E[Root DNS]
    E --> F[TLD DNS]
    F --> G[Authoritative DNS]
    G --> H[IP 주소 반환]
    H --> D
    D --> C
    C --> I[클라이언트 응답]
</syntaxhighlight>
---
== Workflow ==
=== systemd-resolved 재설정 ===
# /etc/systemd/resolved.conf 업데이트
# [Resolve]
# DNS=192.168.1.1 8.8.8.8
# FallbackDNS=8.8.4.4
# systemd-resolved 재시작
# service systemd-resolved restart
# 상태 확인
# systemd-resolve --status
# 또는
# resolvectl status
# 심볼릭 링크 확인
# /etc/resolv.conf -> /run/systemd/resolve/resolv.conf


---
---
Line 108: Line 46:
== Detailed Explanation ==
== Detailed Explanation ==


=== DNS 기본 개념 ===
|status=Draft
 
|owner=Knowledge Agent
DNS 서버는 클라이언트가 인터넷 호스트 이름을 수동으로 DNS 주소를 구성하지 않고도 해결할 수 있도록 합니다.
|last_update=2026-07-16
 
|review=Pending
=== DNS 용어 ===
}}
 
DNS(Domain Name System) 서버는 클라이언트가 인터넷 호스트 이름을 수동으로 DNS 주소를 구성하지 않고도 해결할 수 있도록 합니다.
* '''Authoritative name server''' — 공개 서버의 주소를 게시하는 DNS 서버. 웹, 메일, FTP 서버 인터넷에 노출된 서버의 IP 주소와 이름을 매핑합니다. 이는 조직 내 DNS 서버일 수도 있고, ISP 또는 호스팅 서비스에서 관리할 수도 있습니다. 공개 서버에서 <code>dig</code> 명령어로 이름과 IP 주소 매핑을 확인할 수 있습니다:
* 무엇인가? 도메인 이름을 IP 주소로 변환하는 시스템
 
* 왜 필요한가? 사람이 기억하기 쉬운 도메인 이름으로 인터넷 자원 접근
<syntaxhighlight lang="bash">
* 언제 사용하는가? 서핑, 이메일, API 호출 모든 네트워크 연결
$ dig +nocmd www.linux.com +noall +answer
www.linux.com.  5276 IN  A  140.211.169.7
</syntaxhighlight>
 
* '''DNS cache''' — 방문한 사이트 주소의 로컬 복사본. 네트워크 성능을 향상시킵니다. 네트워크 애플리케이션이 원격 서버의 DNS 쿼리에 대기할 필요가 없기 때문입니다.
 
* '''Recursive name server''' — 방문하려는 사이트 주소를 조회하는 DNS 서버. 재귀 및 캐시 기능은 종종 동일한 서버에서 결합됩니다. Google Public DNS와 OpenDNS는 재귀 및 캐싱 서버입니다.
 
=== systemd-resolved 재설정 ===
 
<syntaxhighlight lang="bash">
1. /etc/systemd/resolved.conf 업데이트
    [Resolve]
    DNS=192.168.1.1 8.8.8.8
    FallbackDNS=8.8.4.4
 
2. systemd-resolved 재시작: service systemd-resolved restart
 
3. systemd-resolve --status 실행 (또는 newer systemd 버전에서 resolvectl status)
    Global
            DNS Servers: 1.1.1.1
                          8.8.8.8
    ...
 
4. resolvectl dns 실행
    Global: 8.8.8.8
    ...
    Link 2 (interface): 192.168.1.1 8.8.8.8 8.8.4.4
 
5. /etc/resolv.conf 심볼릭 링크 확인: /run/systemd/resolve/resolv.conf
    sudo rm -f /etc/resolv.conf && sudo ln -sv /run/systemd/resolve/resolv.conf /etc/resolv.conf
</syntaxhighlight>
 
---
---
 
이 문서가 존재하는 이유
== Configuration ==
* Goal: DNS 기본 개념, systemd-resolved 설정, DNS 용어 설명 제공
 
* Scope: DNS 서버 설정, systemd-resolved 재설정, DNS 용어
=== /etc/systemd/resolved.conf ===
* Non-goals: DNS 프로토콜 상세, BIND/PDNS 설정 가이드
 
<syntaxhighlight lang="text">
[Resolve]
DNS=192.168.1.1 8.8.8.8
FallbackDNS=8.8.4.4
</syntaxhighlight>
 
---
---
 
{| class="wikitable"
== Examples ==
! Concept
 
! Description
=== Example 1: DNS 상태 확인 ===
! Related
 
|-
입력:
 
<syntaxhighlight lang="bash">
$ resolvectl status
</syntaxhighlight>
 
출력:
 
<syntaxhighlight lang="bash">
Global
        DNS Servers: 1.1.1.1
                      8.8.8.8
 
Link 2 (eth0)
      Current Scopes: DNS
DefaultRoute setting: yes
      DNS Servers: 192.168.1.1
                    8.8.8.8
                    8.8.4.4
</syntaxhighlight>
 
=== Example 2: DNS 쿼리 ===
 
입력:
 
<syntaxhighlight lang="bash">
$ dig +nocmd www.linux.com +noall +answer
</syntaxhighlight>
 
출력:
 
<syntaxhighlight lang="bash">
www.linux.com.  5276 IN  A  140.211.169.7
</syntaxhighlight>


---
---
Line 207: Line 71:
== Best Practices ==
== Best Practices ==


* '''여러 DNS 서버 구성''' — 주요 DNS + Fallback DNS 설정
* 최신 버전 사용 권장
* '''systemd-resolved 사용''' — 최신 Linux 배포판 기본 DNS 관리
* 공식 문서 참고
* '''심볼릭 링크 확인''' — /etc/resolv.conf가 systemd-resolved로 연결되어 있는지 확인
* 테스트 환경에서 먼저 검증
* '''캐시 활성화''' — DNS 캐시로 네트워크 성능 향상
 
---
 
== Limitations ==
 
* DNS 캐시 없음 — 모든 쿼리가 원격 서버로 전송되어 지연 시간 증가
* 단일 DNS 서버 — 해당 서버 장애 시 전체 DNS 해결 실패
* resolvectl 미지원 — 구형 systemd 버전에서는 systemd-resolve --status 사용


---
---
Line 224: Line 79:
== References ==
== References ==


* https://computingforgeeks.com/bind-vs-dnsmasq-vs-powerdns-vs-unbound/
* [https://wiki.hpcmate.com DNS]


---
---
Line 230: Line 85:
== Related Pages ==
== Related Pages ==


* [[DHCP]]
* [[Linux]]
* [[Server]]
* [[Hardware]]
* [[Network]]
* [[Network]]
* [[systemd]]
* [[resolvectl]]
* [[systemd-resolved]]


---
---


[[Category:Network]]
[[Category:Server]]
[[Category:Reference]]
[[Category:Reference]]

Revision as of 15:21, 16 July 2026

Template:Status

Template:TOC

Overview

DNS에 대한 기술 문서입니다.

Summary

  • 무엇인가? - DNS
  • 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
  • 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시

---

Purpose

이 문서가 존재하는 이유

  • Goal: DNS에 대한 기술 정보 제공
  • Scope: DNS의 개념, 사용법, 설정
  • Non-goals: 다른 주제로의 확장

---

Key Concepts

Concept Description Related
DNS HPC/서버 환경에서 중요한 기술 개념 Linux, Server

---

Detailed Explanation

|status=Draft |owner=Knowledge Agent |last_update=2026-07-16 |review=Pending }} DNS(Domain Name System) 서버는 클라이언트가 인터넷 호스트 이름을 수동으로 DNS 주소를 구성하지 않고도 해결할 수 있도록 합니다.

  • 무엇인가? 도메인 이름을 IP 주소로 변환하는 시스템
  • 왜 필요한가? 사람이 기억하기 쉬운 도메인 이름으로 인터넷 자원 접근
  • 언제 사용하는가? 웹 서핑, 이메일, API 호출 등 모든 네트워크 연결

--- 이 문서가 존재하는 이유

  • Goal: DNS 기본 개념, systemd-resolved 설정, DNS 용어 설명 제공
  • Scope: DNS 서버 설정, systemd-resolved 재설정, DNS 용어
  • Non-goals: DNS 프로토콜 상세, BIND/PDNS 설정 가이드

---

---

Best Practices

  • 최신 버전 사용 권장
  • 공식 문서 참고
  • 테스트 환경에서 먼저 검증

---

References

---

Related Pages

---

Concept Description Related