목차
- 광고 때문에 인터넷 쓰기가 불편하셨던 적 있으신가요?
- DNS 필터링이 뭔지 먼저 짚고 넘어가겠습니다
- Pi-hole vs AdGuard Home — 뭐가 다른가요?
- Pi-hole 구축 가이드 (Docker 기준)
- 1단계: docker-compose.yml 작성
- 2단계: 실행
- 3단계: 공유기 DNS 설정 변경
- 4단계: 블록리스트 추가
- AdGuard Home 구축 가이드 (Docker 기준)
- 1단계: docker-compose.yml 작성
- 2단계: 초기 설정 마법사 실행
- 3단계: DNS-over-HTTPS 업스트림 설정
- 4단계: 필터링 목록 추가
- ⚠️ 삽질 경험 — 이것만 조심하세요
- 포트 53 충돌 문제 (Ubuntu 기준)
- 정상 사이트가 막히는 경우
- DNS 캐시 문제
- 구축 결과 확인 — 이렇게 달라졌어요
- 어떤 걸 선택해야 할까요? — 제 추천
- 마무리 — 한 번 설정해두면 진짜 편합니다
- 자주 묻는 질문 (FAQ)
- Q. Raspberry Pi 없이도 구축할 수 있나요?
- Q. 유튜브 광고도 막을 수 있나요?
- Q. DNS 서버가 다운되면 인터넷이 끊기나요?
- Q. Pi-hole과 AdGuard Home을 동시에 설치해도 되나요?
광고 때문에 인터넷 쓰기가 불편하셨던 적 있으신가요?
솔직히 말씀드리면, 저도 한동안은 브라우저 확장 프로그램 하나로 버텼거든요. uBlock Origin 설치해두고 '이 정도면 됐지' 싶었는데... 어느 날 스마트TV에서 광고가 막 뜨는 거 보고 현타가 왔습니다. 앱마다 확장 프로그램을 설치할 수도 없고, IoT 기기들은 어떻게 할 방법이 없더라고요.
그때부터 네트워크 레벨 광고 차단(Network-level Ad Blocking)을 본격적으로 알아보기 시작했습니다. DNS 필터링 방식이라서 공유기에 연결된 모든 기기에 한 번에 적용되거든요. 홈랩을 운영하는 입장에서는 이게 진짜 맞는 방향이었어요.
그리고 이 분야에서 가장 많이 언급되는 두 가지가 바로 Pi-hole과 AdGuard Home입니다. 둘 다 직접 써봤는데, 생각보다 차이가 꽤 있더라고요. 오늘은 홈랩 광고 차단 솔루션으로 어떤 걸 선택할지 고민하시는 분들을 위해 제 경험을 정리해봤습니다.
▲ DNS 필터링 기반 홈랩 광고 차단 구조 — 모든 기기의 DNS 요청이 Pi-hole 또는 AdGuard Home을 거쳐 광고 도메인을 차단합니다.
DNS 필터링이 뭔지 먼저 짚고 넘어가겠습니다
쉽게 말해서, 인터넷 주소록(DNS)을 중간에서 가로채는 방식이에요. 브라우저가 ads.example.com의 IP 주소를 물어볼 때, 일반 DNS 서버 대신 Pi-hole이나 AdGuard Home이 먼저 받아서 "그런 주소 없어요"라고 답해버리는 거거든요.
그러면 광고 서버로 연결 자체가 안 되니까 광고가 뜨질 않죠. 브라우저 확장 프로그램과 다른 점은 네트워크에 연결된 모든 기기에 자동으로 적용된다는 겁니다. 스마트폰, TV, 게임기, 심지어 냉장고까지요.
- 장점: 기기별 설정 불필요, 앱 내 광고도 일부 차단 가능, 중앙 집중 관리
- 단점: DNS 우회 광고는 차단 불가, 잘못 설정하면 정상 사이트도 막힘, 서버 운영 필요
Pi-hole vs AdGuard Home — 뭐가 다른가요?
처음에 저도 "둘 다 DNS 필터링이면 거기서 거기 아닌가?" 싶었는데, 실제로 써보니 철학 자체가 좀 달랐습니다.
| 항목 | Pi-hole | AdGuard Home |
|---|---|---|
| 출시 연도 | 2014년 | 2019년 |
| 개발 언어 | Bash / PHP | Go / React |
| 설치 방법 | 쉘 스크립트, Docker | 바이너리 실행, Docker |
| DNS-over-HTTPS(DoH) 지원 | 별도 설정 필요 (cloudflared 등) | 기본 내장 |
| DNS-over-TLS(DoT) 지원 | 별도 설정 필요 | 기본 내장 |
| DHCP 서버 기능 | 지원 | 지원 |
| 클라이언트별 필터링 | 그룹 기반 (v5.0+) | 클라이언트별 세밀 설정 |
| UI 직관성 | 익숙해지면 편함 | 처음부터 쓰기 편함 |
| 커뮤니티 크기 | 매우 큼 | 빠르게 성장 중 |
| 라이선스 | EUPL (오픈소스) | GPL-3.0 (오픈소스) |
제가 느낀 핵심 차이를 한 줄로 정리하면 이렇습니다. Pi-hole은 역사가 길고 커뮤니티가 탄탄하며, AdGuard Home은 최신 기능을 기본 제공하면서 설정이 더 직관적이에요.
Pi-hole 구축 가이드 (Docker 기준)
저는 홈랩 서버에서 Docker로 돌리는 방식을 씁니다. Raspberry Pi에 직접 설치하는 방법도 있지만, 관리 편의성을 생각하면 Docker가 훨씬 낫더라고요.
1단계: docker-compose.yml 작성
version: "3"
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
TZ: 'Asia/Seoul'
WEBPASSWORD: 'your_secure_password' # 반드시 변경하세요!
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
restart: unless-stopped
cap_add:
- NET_ADMIN
2단계: 실행
# 컨테이너 시작
docker compose up -d
# 로그 확인
docker logs pihole
# 정상 실행 여부 확인
docker ps | grep pihole
3단계: 공유기 DNS 설정 변경
여기가 핵심이에요. 공유기 관리 페이지(보통 192.168.0.1 또는 192.168.1.1)에 접속해서 DNS 서버 주소를 Pi-hole이 실행 중인 서버의 IP로 변경해주면 됩니다. 이렇게 하면 공유기에 연결된 모든 기기가 Pi-hole을 DNS로 사용하게 돼요.
# DNS 설정이 제대로 됐는지 테스트
nslookup google.com 192.168.x.x # Pi-hole 서버 IP 입력
# 광고 도메인 차단 확인
nslookup doubleclick.net 192.168.x.x
# 0.0.0.0 또는 NXDOMAIN이 나오면 정상
4단계: 블록리스트 추가
기본 블록리스트도 나쁘지 않지만, 추가해주면 더 좋습니다. Pi-hole 웹 UI에서 Adlists 메뉴로 가서 아래 리스트들을 추가해보세요.
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts— 종합 광고/악성 도메인 차단https://adaway.org/hosts.txt— 모바일 광고 특화https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt— 광고 서버 특화
추가 후 Tools → Update Gravity를 실행하면 적용됩니다.
AdGuard Home 구축 가이드 (Docker 기준)
AdGuard Home은 솔직히 Pi-hole보다 초기 설정이 더 쉬웠어요. DoH/DoT 같은 기능을 별도 설정 없이 바로 쓸 수 있다는 게 특히 마음에 들었습니다.
1단계: docker-compose.yml 작성
version: "3"
services:
adguardhome:
container_name: adguardhome
image: adguard/adguardhome:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "3000:3000/tcp" # 초기 설정 웹 UI
- "80:80/tcp" # 설정 완료 후 웹 UI
- "443:443/tcp" # HTTPS (선택)
volumes:
- './adguard/work:/opt/adguardhome/work'
- './adguard/conf:/opt/adguardhome/conf'
restart: unless-stopped
2단계: 초기 설정 마법사 실행
# 컨테이너 시작
docker compose up -d
# 브라우저에서 초기 설정 접속
# http://서버IP:3000 으로 접속
# 마법사 따라가면 5분 안에 완료됩니다
3단계: DNS-over-HTTPS 업스트림 설정
AdGuard Home의 진짜 강점이 여기서 나옵니다. Settings → DNS Settings → Upstream DNS servers에서 아래처럼 입력하면 돼요.
# Cloudflare DoH
https://cloudflare-dns.com/dns-query
# Google DoH
https://dns.google/dns-query
# Quad9 DoH (악성 도메인 차단 포함)
https://dns.quad9.net/dns-query
이렇게 하면 Pi-hole처럼 별도로 cloudflared 같은 걸 설치할 필요가 없어요. 처음 설정할 때 이 부분에서 "오, 이게 되네?" 싶었습니다 ㅎㅎ
▲ AdGuard Home 웹 UI — DNS-over-HTTPS 업스트림 설정과 필터링 규칙을 직관적인 인터페이스에서 관리할 수 있습니다.
4단계: 필터링 목록 추가
Filters → DNS blocklists → Add blocklist에서 추가합니다. AdGuard Home은 기본으로 AdGuard DNS filter가 포함되어 있어서 별도 추가 없이도 바로 쓸 수 있어요.
- AdGuard DNS filter (기본 포함)
- EasyList (광고 특화)
- EasyPrivacy (추적 특화)
- Malware Domain List (악성 도메인)
⚠️ 삽질 경험 — 이것만 조심하세요
실제로 구축하면서 제가 겪은 문제들입니다. 미리 알면 시간 많이 아낄 수 있어요.
포트 53 충돌 문제 (Ubuntu 기준)
Ubuntu 18.04 이상에서는 systemd-resolved가 이미 53번 포트를 쓰고 있어서 컨테이너가 뜨질 않더라고요. 처음에 이 오류 보고 한참 헤맸습니다.
# 현재 53 포트 사용 확인
sudo lsof -i :53
# systemd-resolved의 stub listener 비활성화
sudo nano /etc/systemd/resolved.conf
# DNSStubListener=no 로 변경
# 재시작
sudo systemctl restart systemd-resolved
# /etc/resolv.conf 심볼릭 링크 재설정
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
정상 사이트가 막히는 경우
가끔 은행 사이트나 업무 사이트가 갑자기 안 열리는 경우가 있는데, 대부분 블록리스트가 너무 공격적으로 잡아버리는 경우예요. Pi-hole이든 AdGuard Home이든 Whitelist(허용 목록)에 해당 도메인을 추가해주면 해결됩니다.
# Pi-hole CLI로 화이트리스트 추가
pihole -w example.com
# 또는 웹 UI에서 Whitelist 메뉴 활용
DNS 캐시 문제
설정을 바꿨는데 적용이 안 되는 것 같을 때는 클라이언트 기기의 DNS 캐시를 지워줘야 해요.
# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux
sudo systemd-resolve --flush-caches
구축 결과 확인 — 이렇게 달라졌어요
설정 완료 후 며칠 사용해보면 대시보드에서 통계가 쌓이기 시작합니다. 저는 처음에 결과 보고 좀 놀랐거든요. 전체 DNS 요청 중 광고/추적 도메인이 차지하는 비율이 생각보다 훨씬 높았어요.
▲ DNS 필터링 대시보드 통계 — 전체 쿼리 중 차단된 비율과 주요 차단 도메인을 실시간으로 확인할 수 있습니다.
확인 방법은 간단합니다. 아래 사이트에 접속해보세요.
# 광고 차단 테스트 사이트
# https://d3ward.github.io/toolz/adblock.html
# 위 사이트에서 차단율을 확인할 수 있습니다
# DNS 응답 직접 확인
nslookup pagead2.googlesyndication.com
# 0.0.0.0 또는 NXDOMAIN이 나오면 정상 차단 중
🎉 정상적으로 동작한다면 유튜브 이외의 대부분 사이트에서 광고가 사라진 걸 느끼실 수 있어요. (유튜브 광고는 같은 도메인을 쓰기 때문에 DNS 필터링으로는 차단이 어렵습니다. 이 부분은 솔직하게 말씀드리는 게 맞는 것 같아요.)
어떤 걸 선택해야 할까요? — 제 추천
결론부터 말씀드리면, 처음 시작하시는 분께는 AdGuard Home을 추천드립니다. 이유는 단순해요.
- ✅ 초기 설정 마법사가 있어서 진입 장벽이 낮음
- ✅ DoH/DoT를 별도 설정 없이 바로 사용 가능
- ✅ 클라이언트별 필터링 설정이 직관적
- ✅ 단일 바이너리라 관리가 단순함
반면 Pi-hole이 더 나은 경우도 있습니다.
- ✅ 커뮤니티가 워낙 크다 보니 문제 발생 시 레퍼런스가 훨씬 많음
- ✅ Gravity 데이터베이스 방식이 대용량 블록리스트 처리에 효율적
- ✅ 오래된 Raspberry Pi에서도 가볍게 돌아감
- ✅ 이미 Pi-hole 사용 경험이 있다면 굳이 바꿀 필요 없음
💡 팁: 두 개를 동시에 운영하면서 하나를 백업 DNS로 쓰는 방법도 있어요. 공유기 설정에서 1차 DNS는 AdGuard Home, 2차 DNS는 Pi-hole으로 설정하면 한 쪽이 다운되더라도 인터넷이 끊기지 않습니다.
▲ Pi-hole vs AdGuard Home 선택 가이드 — 사용 목적과 기술 수준에 따른 추천 기준을 정리했습니다.
마무리 — 한 번 설정해두면 진짜 편합니다
처음 구축할 때는 포트 충돌이니 DNS 설정이니 좀 헤매긴 했는데, 한번 돌아가기 시작하면 진짜 신경 쓸 게 없어요. 그냥 알아서 다 막아주거든요.
제가 홈랩에서 이것저것 실험해보면서 느낀 건데, 네트워크 레벨 광고 차단은 홈랩 입문자가 처음 도전하기에 딱 좋은 프로젝트예요. 결과가 눈에 보이고, 실생활에 바로 도움이 되고, 배우는 것도 많거든요. DNS가 어떻게 동작하는지 자연스럽게 익히게 되는 부수 효과도 있고요.
다음 단계로는 Unbound를 Recursive DNS Resolver(재귀 DNS 리졸버)로 연결해서 외부 DNS 의존도를 완전히 없애는 방법도 있는데, 이건 다음 글에서 다뤄볼게요. 관심 있으신 분들은 기대해 주세요.
혹시 구축하다가 막히는 부분 있으시면 댓글로 남겨주세요. 제가 겪은 삽질이 더 있으면 추가로 공유해드리겠습니다 😄
자주 묻는 질문 (FAQ)
Q. Raspberry Pi 없이도 구축할 수 있나요?
네, 가능합니다. 집에 항상 켜져 있는 NAS, 미니 PC, 또는 기존 홈서버가 있다면 Docker로 바로 실행할 수 있어요. 저도 별도의 Raspberry Pi 없이 기존 홈서버에서 운영 중입니다.
Q. 유튜브 광고도 막을 수 있나요?
아쉽지만 DNS 필터링만으로는 유튜브 광고 차단이 어렵습니다. 유튜브는 광고와 일반 콘텐츠를 같은 도메인에서 제공하기 때문이에요. 유튜브 광고는 브라우저 확장 프로그램(uBlock Origin 등)과 병행해서 사용하시는 걸 권장합니다.
Q. DNS 서버가 다운되면 인터넷이 끊기나요?
공유기에 1차 DNS만 Pi-hole/AdGuard Home으로 설정했다면, 서버가 다운될 경우 인터넷 접속이 안 될 수 있습니다. 2차 DNS로 공개 DNS(예: 1.1.1.1)를 설정해두거나, 앞서 언급한 것처럼 두 솔루션을 이중화하는 방법을 권장합니다.
Q. Pi-hole과 AdGuard Home을 동시에 설치해도 되나요?
같은 서버에 동시 설치는 포트 53 충돌 때문에 어렵습니다. 다른 서버(또는 VM/컨테이너)에 각각 설치해서 이중화 구성으로 운영하는 방식을 추천합니다.
'IT > HomeLabs' 카테고리의 다른 글
| [HomeLabs] 미니PC 홈서버 구축: 저전력 서버 완벽 가이드 (1) | 2026.05.20 |
|---|---|
| [HomeLabs] 홈서버 구축을 위한 미니PC vs NAS 비교: 용도별 최적 선택 가이드 (1) | 2026.05.20 |
| [HomeLabs] 오픈소스 방화벽/라우터 구축: pfSense vs OPNsense 비교 및 설치 가이드 (0) | 2026.05.16 |
| [HomeLabs] UPS와 홈서버 연동: Proxmox/TrueNAS 자동 종료 설정 완벽 가이드 (0) | 2026.05.15 |
| [HomeLabs] 씬클라이언트 홈서버 구축: 저전력 미니PC 활용 완벽 가이드 (0) | 2026.05.13 |
| [HomeLabs] 홈랩 NAS OS 비교: TrueNAS, Unraid, OpenMediaVault 선택 가이드 (0) | 2026.05.13 |