광고를 Pi-Hole로 차단하는 방법

Pi-Hole은 네트워크 전체에서 광고를 차단하는 장치로, 네트워크의 모든 장치에서 광고를 가로챕니다. 수천 개의 광고 제공 도메인 목록을 타겟으로 하여 그 콘텐츠를 블랙홀로 보내 시야에서 제거합니다. 추가 소프트웨어 없이 네트워크에 연결된 모든 장치에서 작동할 수 있습니다. 모바일 장치 앱에서도 실행되어 대역폭 사용량을 줄이고 성능을 향상시킵니다. 이 튜토리얼에서는 Linux 머신에서 Pi-Hole을 실행하는 방법을 보여줍니다.
목차
- Pi-Hole이란?
- Pi-Hole 설치하기
- Pi-Hole 업데이트하기
- 사용자 지정 DHCP 서버 설정하기
- Pi-Hole에서 사용자 지정 차단 목록 만들기
- 자주 묻는 질문
알아두면 좋은 점: AdBlock과 Adblock Plus의 차이점과 어떤 것을 사용해야 하는지 알아보세요.
Pi-Hole이란?
Pi-Hole은 “인터넷 광고를 위한 블랙홀“이라고 스스로를 부릅니다. 내부 차단 목록에 대해 모든 아웃바운드 서버 요청을 실행하여 작동합니다. 이를 위해 Pi-Hole을 DNS 서버로 설정해야 합니다. 이렇게 하면 주소 해상도 요청을 처리하고 요청된 정보의 IP 주소를 볼 수 있습니다. 결과적으로 특정 아웃바운드 요청을 IP 주소에 따라 선택적으로 음소거할 수 있는 권한을 갖습니다.

Pi-Hole이 차단 목록과 일치하는 연결 요청을 감지하면 해당 요청이 광고 서버나 목적지에 도달하지 못하도록 차단합니다. 차단 목록에는 10,000개 이상의 도메인이 있으며, 요청이 서버에 도달하는 것을 방지합니다. 광고가 다운로드되지 않으므로 대역폭이 절약되고 연결 속도가 향상됩니다.
Pi-Hole은 광고만 차단하는 것이 아닙니다. 또한 웹 기반 공격 벡터로부터 네트워크를 보호할 수 있습니다. 이 시스템은 Pi-Hole의 작동을 모니터링하고 감사할 수 있는 강력한 웹 기반 포털도 포함되어 있습니다.
더욱이, 모든 것이 무료이며 오픈 소스입니다. 오픈 소스가 아닌 유일한 부분은 이름과 로고로, 이는 상표로 등록되어 있습니다.
Pi-Hole 설치하기
Pi-Hole은 거의 모든 Linux 호환 장치에서 실행할 수 있지만, 프로그램 개발자는 다음 배포판을 공식적으로 지원합니다:
- Raspbian: Buster / Bullseye
- Ubuntu: 20.04 / 22.04 / 22.10
- Fedora: 36 / 37
- Debian: 10 / 11
- CentOS Stream: 8 / 9
아래 단계를 따라 Ubuntu 22.10 데스크탑 머신에 Pi-Hole을 설치하세요.
- 터미널을 열고 아래 명령어를 실행하여 소프트웨어를 설치합니다:
curl -sSL https://install.pi-hole.net |bash
참고: curl 명령어를 bash에 파이프하는 것이므로 약간 긴장될 수 있습니다. 이는 위험할 수 있습니다. 소프트웨어가 악의적이지 않은지 확인하려면 Pi-Hole의 소스 코드를 검토하세요. 또한 Pi-Hole의 Github 저장소에서 소프트웨어를 수동으로 설치할 수도 있습니다.
- 설치 후, 라우터의 구성 페이지에서 Pi-Hole을 DNS 서버로 설정합니다.

Pi-Hole의 IP 주소(예: 192.168.68.53)를 네트워크의 유일한 DNS 서버로 설정합니다. 다른 DNS 서버는 모두 0으로 설정하세요.
새로 설정된 DNS 서버로 Pi-Hole 설정이 완료되었습니다. 이제 네트워크의 모든 장치에서 광고를 차단하기 시작합니다. Pi-Hole의 구성을 조정하려면 네트워크에서 http://pi.hole을 방문하세요.

팁: 네트워크에서 Pi-Hole을 즉시 사용하지 않는 경우가 있습니다. Linux에서 기계의 DNS 캐시를 플러시하여 이를 수정하는 방법을 알아보세요.
Pi-Hole 업데이트하기
- Pi-Hole을 업데이트하는 첫 번째 단계는 머신의 콘솔에 접근하는 것입니다. 머신의 물리적 키보드를 사용하거나 SSH를 통해 로그인하세요:
- 내부에 들어가면 다음 명령어를 실행하세요:
pihole -up
- 새로운 설정과 바이너리를 적용하기 위해 머신을 재시작하세요:
sudo reboot사용자 지정 DHCP 서버 설정하기
Pi-Hole은 네트워크의 DNS 서버 역할 외에도 DHCP를 사용하여 머신에 IP 주소를 할당할 수 있습니다. 이는 네트워크를 사용할 수 있는 새로운 장치의 수를 제어하고 싶을 때 유용할 수 있습니다.
- 라우터의 DHCP 서버를 비활성화하세요. DNS 설정과 유사하므로 이 단계는 사용 중인 라우터에 따라 다를 수 있습니다.

- Pi-Hole의 웹 구성 페이지로 이동하세요.

- 페이지 왼쪽 사이드바에서 “설정” 카테고리를 클릭하세요.

- DHCP 탭을 클릭하세요.

- “DHCP 서버 활성화“ 체크박스를 클릭하세요.

- “IPv6 지원 활성화 (SLAAC + RA)”를 클릭하여 로컬 머신에 IPv6 주소도 할당하세요.

- “할당할 IP 주소 범위” 하위 카테고리 아래의 “To” 텍스트 박스를 선택하세요.

- “To” 텍스트 박스의 내용을 DHCP가 할당할 마지막 IP 주소로 바꾸세요. 제 경우에는 이 값을 “192.168.68.251”로 설정하면 네트워크를 사용할 수 있는 클라이언트 수가 50으로 제한됩니다.

팁: Pi-Hole 외에도 Edge 브라우저에서 광고를 차단할 수 있습니다.
Pi-Hole에서 사용자 지정 차단 목록 만들기
Pi-Hole은 개발자가 유지 관리하는 중앙 차단 목록을 사용합니다. 이 접근 방식은 프로그램이 새로운 악성 도메인이 온라인에 올라오자마자 신속하게 포함할 수 있게 합니다. 또한 사용자 지정 차단 목록에 자신의 도메인을 추가할 수도 있습니다.
- Pi-Hole의 웹 구성 페이지로 이동하세요.

- 페이지 왼쪽 사이드바에서 “도메인” 카테고리를 클릭하세요.

- “도메인” 텍스트 박스를 선택하고 차단하려는 도메인을 입력하세요.

- “차단 목록에 추가“ 버튼을 클릭하세요.

- 이렇게 하면 주소가 머신의 내부 차단 목록에 추가되지만, 주소에 있는 모든 하위 도메인 및 하위 디렉터리는 포함되지 않습니다. 이는 네트워크에서 전체 사이트가 로드되는 것을 차단하려는 경우 문제가 될 수 있습니다. 이를 해결하려면 도메인 하위 페이지에서 “정규 표현식 필터”를 클릭하세요.

- “정규 표현식” 텍스트 박스를 클릭하세요.

- 도메인을 정규 표현식 형식으로 작성하세요. 예를 들어, 다음 텍스트는 “example.com”의 모든 하위 도메인 및 변형을 차단합니다.
^.+example.+\.[a-z]+$
- “차단 목록에 추가“를 클릭하여 사용자 지정 목록을 적용하세요.

알아두면 좋은 점: 정규 표현식은 차단 목록을 만드는 방법 이상입니다. 우리의 치트 시트를 사용하여 정규 표현식의 기본 구문과 고급 기능을 배우세요.
자주 묻는 질문
기존 Pi Hole 설치를 재구성할 수 있나요?
네. Pi-Hole의 머신 콘솔에 로그인하고 pihole reconfigure를 실행하여 재구성할 수 있습니다. 이렇게 하면 초기 설정 프로세스가 다시 실행되고 Pi-Hole의 모든 패키지, 스크립트 및 종속성이 재설치됩니다.
웹 브라우저를 사용하지 않고 Pi-Hole을 확인할 수 있나요?
Pi-Hole의 개발자는 웹 브라우저와 함께 작동하도록 설계했지만, 콘솔을 사용하여 간단한 개요 화면을 인쇄할 수도 있습니다. 다음 명령어를 사용하여 Pi-Hole의 TUI 화면을 실행할 수 있습니다: pihole -c -e.
도메인이 Pi-Hole에 의해 차단되고 있는지 확인할 수 있나요?
네. 머신의 콘솔에 들어가서 쿼리 하위 명령어를 사용하여 확인할 수 있습니다. 예를 들어, pihole -q -exact -all malicious.example.com을 실행하면 “malicious.example.com”의 인스턴스를 포함하는 모든 차단 목록이 인쇄됩니다.
이미지 출처: Unsplash. 모든 수정 및 스크린샷은 Ramces Red에 의해 작성되었습니다.