노트북이나 PC에서는 다양한 광고 차단 프로그램을 쉽게 사용할 수 있지만, 스마트폰이나 태블릿 같은 다른 기기에는 적용하기가 쉽지 않습니다. 이 글에서는 Pi-hole을 활용해 라즈베리 파이를 '네트워크 전체 광고 차단기'로 변신시키는 방법을 소개합니다. 설정을 마치면 노트북, PC, 스마트폰, 태블릿 등 네트워크에 연결된 모든 기기에서 광고를 한 번에 차단할 수 있습니다.
참고: 시작하기 전에 Pi-hole이 무엇이고 어떤 점에서 유용한지 다룬 관련 글을 먼저 확인해 보는 것도 좋습니다.
준비물
이 튜토리얼을 진행하려면 아래 항목들이 필요합니다.
- Raspbian(라즈비안)이 설치된 라즈베리 파이 — 아직 설치하지 않았다면 최신 버전을 내려받아 Etcher로 SD 카드에 플래싱하세요.
- 라즈베리 파이와 호환되는 전원 케이블
- 외장 키보드와 연결 수단
- 모델에 맞는 HDMI 또는 micro HDMI 케이블
- 외부 모니터
- 이더넷 케이블 또는 Wi-Fi 연결
준비물을 갖췄다면, 지금부터 네트워크 전체 광고 차단기를 만들어 보겠습니다.
라즈베리 파이에 Pi-hole 설치하기
먼저 외장 키보드, 모니터 등 주변 기기를 라즈베리 파이에 연결한 뒤 전원을 연결하세요.
부팅이 완료되면 터미널을 열어(라즈비안 상단 도구 모음의 터미널 아이콘 클릭) Pi-hole 설치 스크립트를 내려받습니다. 터미널 창에 아래 명령어를 입력하세요.
curl -sSL https://install.pi-hole.net | bash
Enter 키를 누르면 스크립트가 다운로드되고, Pi-hole 사용을 위한 설정이 자동으로 진행됩니다.
잠시 후 Pi-hole 설정 화면이 자동으로 실행됩니다.
소개 화면에서는 Enter 키를 눌러 계속 진행하고, Pi-hole이 Wi-Fi(wlan0)로 작동할지 이더넷(eth0)으로 작동할지 묻는 화면이 나오면 멈춥니다.
방향키로 wlan0 또는 eth0 중 하나를 선택하고(이 튜토리얼은 Wi-Fi 기준) Enter 키를 누릅니다.
DNS 제공업체 선택: Google, Cloudflare, OpenDNS
다음으로 업스트림(upstream) DNS 제공업체를 선택해야 합니다. 이곳은 광고가 아닌 정상 도메인에 대한 요청을 처리하는 역할을 담당합니다.
Pi-hole은 아래 사전 설정된 DNS 제공업체를 지원하며, 'custom'을 선택하면 직접 입력할 수도 있습니다.
- Google (ECS)
- OpenDNS (ECS)
- Level3
- Comodo
- DNS.WATCH
- Quad9 (필터링, DNSSEC)
- Quad9 (필터링 없음, DNSSEC)
- Quad9 (필터링 + ECS)
- Cloudflare
이 튜토리얼에서는 Google을 사용하지만, 원하는 제공업체를 자유롭게 선택하면 됩니다.
Pi-hole이 사용할 차단 목록(블랙리스트) 선택
불필요한 콘텐츠를 식별하고 차단하는 데 사용할 목록을 지정합니다.
특별히 변경할 이유가 없다면 기본값 그대로 두는 것이 좋습니다.
인터넷 프로토콜: IPv4, IPv6, 아니면 둘 다?
IPv4나 IPv6 중 무엇을 선택해도 동작에는 문제가 없지만, 최대한 많은 광고를 차단하고 싶다면 IPv4와 IPv6를 모두 선택된 상태로 유지하는 것이 좋습니다.
고정 IP 주소 설정
현재 네트워크 설정 값을 Pi-hole의 고정 IP 주소로 사용합니다. 화면에 표시된 정보에 문제가 없다면 방향키로 'Yes'를 선택하고 Enter 키를 누르세요.
이후 안내 문구(disclaimer)를 잘 읽어본 뒤 동의하면 'OK'를 선택합니다.
웹 관리 인터페이스로 Pi-hole 모니터링하기
Pi-hole 웹 관리 인터페이스 설치 여부를 묻는 화면이 나타납니다. 이 인터페이스를 통해 네트워크에서 Pi-hole이 어떻게 작동하는지 한눈에 확인할 수 있으므로, 설치를 권장합니다.
웹 관리 인터페이스를 설치한다면, 안내에 따라 'lighttpd 웹 서버'도 함께 설치하세요.
Pi-hole 데이터 로깅 설정
Pi-hole의 로깅 기능을 비활성화할 수도 있지만, 유용한 통계 정보를 얻을 수 있으므로 활성화 상태로 두는 것을 추천합니다.
이어서 FTL의 개인정보 보호 모드(privacy mode), 즉 Pi-hole 통계에 포함될 정보 수준을 선택하게 됩니다. 선택 가능한 옵션은 다음과 같습니다.
- Show everything: 모든 정보를 표시합니다.
- Hide domains: 모든 도메인을 숨긴 상태로 표시하고 저장합니다.
- Hide domains and clients: 도메인은 숨기고, 클라이언트는 0.0.0.0으로 표시·저장합니다.
- Anonymous mode: 가장 익명성이 높은 통계 외의 세부 정보를 모두 숨깁니다.
- Disabled statistics: 쿼리 카운터를 포함한 모든 통계 처리를 비활성화합니다.
Pi-hole 계정 로그인
설정 과정이 끝나면 Pi-hole 웹 관리 인터페이스 주소와 로그인에 필요한 비밀번호가 화면에 표시됩니다. 반드시 이 정보를 메모해 두세요!
제공된 URL로 접속하면 Pi-hole의 기본 웹 인터페이스를 만날 수 있고, 비밀번호로 로그인하면 됩니다.
웹 관리 인터페이스는 크게 다음과 같은 메뉴로 구성되어 있습니다.
- Query log: DNS 서버로 들어온 최근 쿼리 기록을 표시합니다.
- Whitelist: Pi-hole이 절대 차단하지 않아야 할 도메인을 지정할 수 있습니다.
- Blacklist: 일부 광고가 여전히 통과된다면, 해당 광고의 도메인을 파악해 직접 블랙리스트에 추가할 수 있습니다.
- Disable: Pi-hole을 일시적 또는 영구적으로 비활성화하여, 필요할 때 광고를 다시 볼 수 있습니다.
- Update lists: 수동으로 업데이트를 실행해 최신 광고 차단 목록을 유지합니다.
- Query adlists: 특정 URL이 Pi-hole의 광고 차단 목록에 포함되어 있는지 확인하는 도구입니다.
- Tail pihole.log: Pi-hole의 로그 파일을 살펴 들어오는 요청이 어떻게 처리되는지 정확히 확인할 수 있습니다.
- Settings: 업스트림 DNS 제공업체 변경 등 Pi-hole 설정을 조정할 수 있습니다.
여기서 소개한 것은 웹 관리 인터페이스의 일부일 뿐입니다. 시간을 내어 다양한 기능을 직접 탐색해 보는 것도 큰 도움이 됩니다!
문제 해결: could not resolve host 오류
Pi-hole 설정 중 터미널에 다음과 같은 오류 메시지가 나타날 수 있습니다.
"Could not resolve host
FTL Engine not installed."
이 메시지가 표시되면 터미널에서 아래 명령어를 실행하세요.
sudo nano /etc/resolv.conf
Nano 편집기로 resolv.conf 파일이 열립니다. 여기에 선택한 DNS 제공업체의 IP 주소를 추가해야 합니다. 예를 들어 이 튜토리얼처럼 Google을 DNS로 사용한다면, 검색을 통해 '8.8.8.8'을 resolv.conf에 추가하면 됩니다.
nameserver 8.8.8.8
변경 사항을 저장하려면 Ctrl + O를 누른 뒤, 확인 메시지가 나오면 Y를 누릅니다.
Ctrl + X 단축키로 resolv.conf 파일을 닫습니다.
그다음 아래 명령어로 Pi-hole 설정 대화상자를 다시 실행합니다.
curl -sSL https://install.pi-hole.net | bash
이제 오류 없이 설정을 끝까지 완료할 수 있을 것입니다.
라우터 설정 변경: 네트워크 전체 광고 차단기 완성
이제 기기 또는 라우터가 Pi-hole을 사용하도록 설정할 차례입니다. 네트워크에 연결된 모든 기기에서 광고를 차단하려면, 라우터의 DNS 설정을 라즈베리 파이를 가리키도록 변경해야 합니다.
라우터 DNS 설정 변경 방법은 모델마다 다르지만, 일반적인 절차는 다음과 같습니다.
- 라우터 관리자 페이지에 접속합니다.
- 사용자 이름과 비밀번호로 로그인합니다. 정보를 모른다면 제조사 기본 계정을 사용 중일 가능성이 높으니, 제조사 웹사이트나 라우터 설명서에서 확인하세요.
- 'DNS server' 또는 'DHCP server'라는 단어가 포함된 탭, 메뉴, 섹션을 찾습니다. 이 설정은 '고급 설정(Advanced setup)' 메뉴 안에 숨겨져 있는 경우가 많습니다.
- 라우터의 기본(primary) DNS 서버를 라즈베리 파이의 IP 주소로 변경합니다. 주소를 모른다면 라즈비안 터미널에서
hostname -I명령어를 실행해 확인할 수 있습니다.
사용 중인 라우터 모델에 맞는 정확한 방법은 제조사 웹사이트나 제품 설명서를 참고하세요.
특정 기기에서만 온라인 광고 차단하기
라우터가 아니라 특정 기기나 운영체제의 DNS 설정만 변경할 수도 있습니다.
1. Windows
Windows에서 DNS 설정을 변경하는 방법은 다음과 같습니다.
- '제어판(Control Panel)'을 실행합니다.
- '네트워크 및 인터넷 → 네트워크 및 공유 센터 → 어댑터 설정 변경'으로 이동합니다.
- 구성하려는 연결을 선택합니다.
- '로컬 영역 연결'을 마우스 오른쪽 버튼으로 클릭한 뒤 '속성'을 선택합니다.
- '네트워킹' 탭을 선택합니다.
- 'TCP/IPv4' 또는 'TCP/IPv6'를 선택합니다.
- '속성 → 고급 → DNS'로 이동한 뒤 '확인'을 클릭합니다.
- '다음 DNS 서버 주소 사용'을 선택합니다.
- 해당 칸의 주소를 라즈베리 파이의 IP 주소로 교체합니다.
이제 Windows PC가 Pi-hole 광고 차단기를 사용하도록 설정되었습니다.
2. Linux
Linux 사용자라면 아래 순서대로 진행하세요.
- '시스템 → 기본 설정 → 네트워크 연결'로 이동합니다.
- 구성하려는 연결을 선택한 뒤 '편집'을 클릭합니다.
- 'IPv4 설정' 또는 'IPv6 설정' 탭을 선택합니다.
- 'DNS 서버' 입력란에 라즈베리 파이의 IP 주소를 입력합니다.
- '적용'을 클릭해 변경 사항을 저장합니다.
또는 '/etc/resolv.conf' 파일을 직접 수정해 DNS 설정을 변경할 수도 있습니다.
3. macOS
macOS에서 DNS 설정을 변경하는 방법은 다음과 같습니다.
- Mac 상단 메뉴 막대의 'Apple' 로고를 클릭합니다.
- '시스템 환경설정 → 네트워크'로 이동합니다.
- 편집하려는 연결을 선택합니다.
- '고급...'을 클릭합니다.
- 'DNS' 탭을 선택합니다.
- '+' 아이콘을 클릭하고 라즈베리 파이의 IP 주소를 입력합니다.
- '적용 → 확인'을 클릭해 저장합니다.
이후 Pi-hole이 모든 요청을 블랙리스트와 대조하며 최대한 많은 광고를 차단합니다.
4. iPhone
iPhone이나 iPad 사용자라면:
- '설정' 앱을 실행합니다.
- 'Wi-Fi'를 선택하고 목록에서 집 네트워크를 탭합니다.
- 'DNS' 필드를 선택합니다.
- 기존 DNS 서버를 모두 삭제하고 라즈베리 파이의 IP 주소로 교체합니다.
5. Android
Android에서 광고를 차단하려면:
- '설정' 앱을 실행합니다.
- 'Wi-Fi'를 선택합니다.
- 변경하려는 Wi-Fi 네트워크를 길게 누릅니다.
- '네트워크 수정 → 고급 옵션'을 선택합니다.
- 'DHCP'를 탭한 뒤 '고정(Static)'을 선택합니다.
- 'DNS 1'에 라즈베리 파이의 IP 주소를 입력합니다.
- '저장'을 탭합니다.
라즈베리 파이를 광고 차단기로 사용하는 동안, 동시에 Wi-Fi 공유기(AP)나 개인 웹 서버로도 활용할 수 있습니다. 관련 활용법도 함께 확인해 보세요.