DNS Resolver 란 무엇입니까?
DNS 해결자 (통합적인 해결자 또는 recursive DNS 서버라고도 함)는 클라이언트 장치에서 DNS 쿼리를 수신하고 도메인 이름에 대한 IP 주소를 추적하는 작업을 수행합니다. Resolvers는 클라이언트와 DNS 계층 사이의 중간 역할을하며, 루트, TLD 및 권한 네임서버를 통해 반복을 처리합니다.
DNS Resolvers 작업 방법
해결책 과정
브라우저에서 "example.com"를 입력하면 :
1. Client → Resolver: "What's the IP for example.com?"
2. Resolver checks cache
→ Cache hit: Return cached result
→ Cache miss: Begin recursion
3. Resolver → Root Server: "Where's .com?"
Root → Resolver: "Ask these .com nameservers"
4. Resolver → .com TLD: "Where's example.com?"
.com → Resolver: "Ask these nameservers"
5. Resolver → Authoritative NS: "What's example.com's IP?"
Auth NS → Resolver: "203.0.113.50"
6. Resolver → Client: "203.0.113.50"
(Also caches result based on TTL)
Recursive 대 Iterative 쿼리
Recursive Query (클라이언트 → 리필러):Client: "Give me the final answer for example.com"
Resolver: "Here's the IP: 203.0.113.50"
(Resolver does all the work)
Iterative Query (Resolver → Nameservers):
Resolver: "What's example.com?"
Root: "I don't know, ask .com servers"
Resolver: "What's example.com?"
.com: "I don't know, ask ns1.example.com"
Resolver: "What's example.com?"
ns1: "203.0.113.50"
Resolvers의 유형
Stub 리필러
운영 체계 및 신청으로 건축하는:
- DNS 서버를 구성하는 Forwards 쿼리
- 최소 논리
- 반복을 수행하지 않습니다.
반복성 Resolver
완전한 DNS 해상도를 실행하는 전체 기능 서버:
- 캐치 결과
- 추천을 따르십시오
- 보안 기능 구현
앞으로 Resolver
반복을 수행하는 대신 다른 해결자에게 전달 :
- 기업 네트워크
- 중앙 정책 시행
- 외부 쿼리 감소
Client → Corporate Resolver (forwarding) → ISP Resolver (recursive) → Internet
대중적인 Resolvers
| 회사 소개 | IPv4 지원 | IPv6를 | 주요 특징 |
|---|---|---|---|
| 인기 카테고리 | 1.1.1.1, 1.0.0.1, 러시아 | 2606:4700:4700:1111 | 빠른, 개인 정보 보호 중심, 아니 로깅 |
| 구글 + | 8.8.8.8, 8.8.4.4, 러시아 | 2001:4860:4860::8888 | 믿을 수 있는, 세계적인 anycast |
| 쿼드9 | 9.9.9.9 | 2620:fe::여성 | 보안 필터링, 위협 차단 |
| 오픈DNS | 208.67.222.222 | 2620:119:35::35 | 콘텐츠 필터링, 피싱 보호 |
해결자 변경
윈도우:Control Panel → Network → Adapter Settings
→ Properties → IPv4 → Use these DNS servers:
Preferred: 1.1.1.1
Alternate: 8.8.8.8
마이크 :
System Preferences → Network → Advanced → DNS
→ Add: 1.1.1.1, 8.8.8.8
리눅스 (/etc/resolv.conf):
nameserver 1.1.1.1
nameserver 8.8.8.8
Resolver 특징
뚱 베어
해결사 캐시 DNS 응답을 기반으로 TTL:
First query: example.com
→ Full recursion (50ms)
→ Cached for 300s (TTL)
Subsequent queries: example.com
→ Cache hit (1ms)
→ Served until TTL expires
Cache 통계 쇼는 종종 80-90%를 초과합니다.
부정 캐싱
Resolvers는 또한 부정적인 응답 (NXDOMAIN)를 시동합니다:
Query: nonexistent.example.com
Response: NXDOMAIN
Cached: Based on SOA minimum TTL
이것은 non-existent 도메인에 대한 반복 쿼리를 방지합니다.
Query 최소화
현대 결실은 정보 공개를 극소화합니다:
전통:Query to .com: "What's www.blog.example.com?"
→ Exposes full subdomain structure
쿼리 최소화 (RFC 7816) :
Query to .com: "What's example.com?"
Query to example.com NS: "What's blog.example.com?"
Query to blog.example.com NS: "What's www.blog.example.com?"
→ Reveals only necessary information at each level
DNSSEC 검증
보안 문제 해결사 DNSSEC 서명을 검증:
Query: example.com (DNSSEC-signed)
→ Resolver validates signatures
→ Returns AD (Authentic Data) flag if valid
→ Returns SERVFAIL if signatures invalid
Resolver 보안 기능
HTTPS (DoH) 이상 DNS
HTTPS를 통해 DNS 쿼리를 암호화:
Traditional DNS:
Client → Resolver (UDP port 53, plaintext)
DNS over HTTPS:
Client → Resolver (TCP port 443, encrypted)
제공자: Cloudflare (https://cloudflare-dns.com/dns-query), 구글
TLS (DoT)에 DNS
TLS에서 DNS 쿼리를 암호화:
Client → Resolver (TCP port 853, encrypted)
Benefit: ISP는 DNS 쿼리를 보고 수정하거나 수정할 수 없습니다.
Malware/Phishing 필터링
일부 해결사 차단 알려진 악성 도메인:
Quad9 (9.9.9.9) : 맬웨어와 관련된 Blocks 도메인, 피싱 가족을위한 Cloudflare : 블록 맬웨어 (1.1.1.2) 또는 맬웨어 + 성인 콘텐츠 (1.1.1.3)비율 제한
DNS 증폭 공격에 대한 보호:
If source IP sends > threshold queries/second:
→ Temporarily rate limit or block
현재 Resolver 검사
윈도우:ipconfig /all | findstr "DNS Servers"
마이크 / 리눅스 :
cat /etc/resolv.conf
온라인 도구 : browserleaks.com/dns는 브라우저 사용을 해결하는 보여줍니다
시험 해결책 :
dig example.com
# Look at "SERVER:" in output
Resolver 성능
근무시간
resolver 응답 시간 충격 웹 성과:
| 관련 제품 | 평균 대기시간 | 제품정보 |
|---|---|---|
| 지역 ISP | 10-30ms의 | 빠른, 하지만 변화 |
| 인기 카테고리 | 10-20ms의 | 일관된 빠른 (anycast) |
| 구글 + | 크기: 20-40ms | 신뢰할 수 있는 글로벌 |
| 느린 결심자 | 100-200ms의 | 공지사항 |
전체장편
주요 해결사들은 낮은 대기 시간 동안 어떤 캐스트를 사용:
1.1.1.1 anycast IP
→ Routed to nearest Cloudflare datacenter
→ New York query → New York datacenter
→ London query → London datacenter
→ Result: Global low-latency resolution
측정 Resolver 성과
Namebench (자동 테스트):# Tests multiple resolvers with your actual query patterns
namebench
수동 테스트:
# Test Cloudflare
time dig @1.1.1.1 example.com
# Test Google
time dig @8.8.8.8 example.com
# Test ISP (current)
time dig example.com
일반적인 Resolver 문제
DNS 중독
Attackers는 false 레코드를 해결사 캐시에 주입합니다:
소송 :- DNSSEC 유효성 검사를 통한 해결
- Enable 근원 항구 무작위화
- DoH/DoT를 사용하여 남자에서 중간 공격을 방지합니다.
Resolver 납치
ISP 또는 악성 코드 리디렉션 DNS 쿼리:
Symptom: ISP 광고 검색, 예기치 않은 리디렉션 Solution :- 공개 결산기 변경 (1.1.1.1, 8.8.8.8)
- ISP 방해를 방지하기 위해 DoH/DoT를 사용하십시오
- 악성 코드 확인
Stale 캐시
Resolver 캐시 출력된 기록:
Symptom: DNS 변경은 반영되지 않습니다. Solution :- TTL에 대한 기대
- 일시적으로 다른 해결자 사용
- Flush 로컬 캐시
Resolver 차단
몇몇 네트워크 구획 외부 결심자:
Symptom: 8.8.8.8, 1.1.1.1에 도달할 수 없습니다 Solution :- HTTPS를 통해 DNS 사용 (잠금기)
- 해결자의 DoH endpoint 사용
로컬 Resolver 구성
Unbound 사용
# Install Unbound (Linux)
sudo apt install unbound
# Basic config (/etc/unbound/unbound.conf)
server:
interface: 127.0.0.1
do-ip4: yes
do-udp: yes
do-tcp: yes
# Enable DNSSEC
auto-trust-anchor-file: "/var/lib/unbound/root.key"
# Privacy (query minimization)
qname-minimisation: yes
# Start service
sudo systemctl start unbound
sudo systemctl enable unbound
Pi-hole 사용
Network-wide 광고 차단 DNS 해결자:
# Install Pi-hole
curl -sSL https://install.pi-hole.net | bash
# Configure devices to use Pi-hole as resolver
# Set router DHCP to provide Pi-hole IP as DNS
최고의 연습
1. reputable public resolvers 사용 : Cloudflare, Google, 또는 신뢰성을위한 Quad9
2. Enable DoH/DoT : 개인 정보 보호 및 보안 암호화
3. Consider fixr 기능: 개인 정보 보호, 속도 또는 보안 요구 사항에 따라 선택하십시오.
4. Monitor 해결자 성능: 시험 대기시간
5. 백업 해결사 : 중복을위한 두 번째 DNS 구성
6. DNSSEC 유효성 검사기 사용 : 캐시 중독에 대한 보호
7. 변호사 정책: 일부 필터 내용, 일부 로그 쿼리
8. 변경 후 테스트: DNS 해상도를 올바르게 검증
9. Document 해결자 선택 : 왜 특정 해결자를 선택 했습니까?
10. Update resolv.conf 주의 깊게 : 잘못된 구성은 DNS를 완전히 깰
Resolver vs 권한명서
| 제품 정보 | 관련 제품 | 저자 NS |
|---|---|---|
| 사이트맵 | 고객 문의 | 실제 DNS 레코드 보유 |
| 회사연혁 | 예, 기타 서버 | 아니, 자신의 영역에 대한 유일한 답변 |
| 뚱 베어 | 예, 캐시 응답 | 없음 (특허) |
| 에 의해 사용 | 클라이언트, 최종 사용자 | recursion 도중 녹슬기 |
| 이름 * | 8.8.8.8, 1.1.1.1, 러시아 | ns1.example.com |
DNS 해결자는 빠른 보안, 개인 정보 보호 측면 해결사로 DNS 시스템의 사역이며 브라우징 경험 및 온라인 보안에 크게 영향을 미칩니다.