Pi-hole은 사용자의 네트워크에 연결된 여러 기기에서 광고와 유해한 사이트를 효과적으로 차단하는 리눅스 기반의 유용한 도구입니다.
인터넷 광고가 급증했다는 것은 주지의 사실입니다. 광고는 비용 효율적일 뿐 아니라, 광고주들은 인터넷 광고를 통해 특정 인구 통계를 기반으로 잠재 고객을 타겟팅하고, TV, 라디오, 신문과 같은 전통적인 매체에서는 불가능했던 광고 성과를 추적할 수 있습니다.
PwC의 2022년 글로벌 엔터테인먼트 및 미디어 전망 보고서에 따르면, 미국 광고주들은 온라인 광고에 1,893억 달러를 지출했습니다. 이는 TV 광고 지출액 697억 달러보다 2.7배 높은 수치입니다.
또한 이 보고서는 2026년까지 온라인 광고 지출이 TV 광고 지출보다 3.8배 더 많을 것으로 예상합니다. 점점 더 많은 광고주가 인터넷을 통해 광고를 하고 있습니다. 이는 사용자의 인터넷 사용 경험에 어떤 영향을 미칠까요?
Global Web Index의 광고 차단 보고서에 따르면, 온라인 인구의 40%가 광고를 차단합니다. 이 보고서에서 사용자들이 광고를 차단하는 주요 5가지 이유는 다음과 같습니다. 너무 많은 광고, 성가시거나 관련 없는 광고, 방해되는 광고, 바이러스나 버그가 포함된 광고, 화면 공간을 과도하게 차지하는 광고입니다.
광고주가 늘어나고 일부는 공격적인 광고 기술을 사용함에 따라, 사용자는 온라인 경험을 제어할 수 없다는 무력감을 느낄 수 있습니다.
하지만 이러한 상황을 바꿀 수 있습니다. Pi-hole과 같은 도구를 사용하면 사용자가 제어권을 되찾고 성가신 광고를 효과적으로 차단할 수 있습니다.
Pi-hole이란 무엇인가?
공식 문서에 따르면 Pi-hole은 클라이언트 측 소프트웨어 설치 없이도 원치 않는 콘텐츠로부터 기기를 보호하는 DNS(도메인 이름 서비스) 싱크홀입니다. Pi-hole의 작동 방식을 이해하려면 컴퓨터가 인터넷을 통해 통신하는 방식을 알아야 합니다.
컴퓨터는 IP(인터넷 프로토콜) 주소를 통해 서로 통신합니다. IP 주소는 인터넷의 리소스를 나타내는 숫자입니다.
그러나 컴퓨터는 도메인 이름을 이해할 수 없으므로 IP 주소로 변환해야 합니다. 이 과정을 담당하는 것이 DNS(도메인 이름 시스템)입니다. 또한 DNS는 DNS 싱크홀링을 통해 특정 사이트 접속을 차단할 수도 있습니다.
DNS 싱크홀은 특정 도메인에 대한 요청을 존재하지 않거나 제어된 IP 주소로 리디렉션하여 악성 사이트나 원치 않는 도메인에 대한 접속을 막는 방법입니다. DNS 싱크홀링은 접속이 제한된 도메인 목록으로 DNS 서버를 구성하여 작동합니다.
DNS 서버는 도메인 이름 접속에 대한 DNS 요청을 가로채고, 요청된 도메인 이름을 금지된 도메인 목록과 비교합니다. 일치하는 항목이 발견되면, DNS 서버는 설정된 제어 또는 잘못된 IP 주소를 반환하여 해당 금지된 도메인에 대한 접속을 차단(싱크홀링)합니다.
DNS 싱크홀의 개념을 고려해볼 때, Pi-hole은 광고와 인터넷 추적기로부터 네트워크를 보호하는 네트워크 수준의 DNS 기반 광고 차단기라고 할 수 있습니다. DNS 싱크홀 역할을 하여 광고를 제공하는 도메인을 차단합니다. Pi-hole은 무료로 사용할 수 있으며, 모든 리눅스 컴퓨터나 Raspberry Pi 미니 컴퓨터에 설치할 수 있습니다.
Pi-hole이 라우터의 DNS로 설정되면, 전체 네트워크에서 광고가 차단됩니다. 즉, 휴대폰, 컴퓨터, 게임 콘솔, 스마트 TV와 같은 모든 기기가 네트워크에 연결되면 광고 없는 경험을 할 수 있습니다. 이는 특정 기기에서만 광고를 차단하는 브라우저 확장 프로그램과는 차이가 있습니다.
광고를 제공하는 도메인을 차단하기 위해 Pi-hole은 광고를 제공하는 웹사이트의 커뮤니티 유지 차단 목록을 활용합니다. 연결된 기기가 광고를 제공하는 도메인에 접속하려고 하면, Pi-hole이 잘못된 IP 주소로 응답하여 광고를 차단합니다. Pi-hole에서 사용하는 유효하지 않은 IP 주소는 0.0.0.0입니다.
Pi-hole을 설치해야 하는 이유
네트워크에 Pi-hole을 설정하는 것은 여러 가지 이점을 제공합니다. 그중 몇 가지는 다음과 같습니다.
네트워크 내 모든 기기에서 광고 및 원치 않는 사이트 차단
Pi-hole은 네트워크 수준에서 광고를 차단하므로, 네트워크를 사용하는 모든 기기에서 광고 없는 환경을 경험할 수 있습니다. 단순한 광고 외에도, Pi-hole을 사용하면 네트워크 사용자에게 안전하지 않다고 판단되는 모든 웹사이트를 차단할 수 있습니다. 여기에는 성인용 웹사이트부터 폭력적인 내용을 담은 웹사이트까지 다양한 콘텐츠가 포함될 수 있습니다. 이러한 방식으로 사용자, 특히 어린이는 유해한 콘텐츠로부터 보호받을 수 있습니다.
Pi-hole은 사용자의 개인 정보를 보호합니다.
광고 회사들은 추적기를 사용하여 사용자의 온라인 활동을 감시하고, 브라우징 습관에 대한 데이터를 수집하여 맞춤형 광고를 제공합니다. Pi-hole을 사용하면 온라인 추적기가 사용자 데이터를 수집하는 것을 효과적으로 차단할 수 있습니다. 반면, 브라우저 기반 광고 차단기는 추적기가 사용자 데이터를 수집하도록 허용할 수 있습니다.
향상된 네트워크 성능
Pi-hole은 원치 않는 콘텐츠를 차단하여 네트워크 기기에서 다운로드하고 처리해야 하는 데이터 양을 줄임으로써 네트워크 성능을 향상시킵니다.
악성코드 및 유해 사이트로부터 기기 보호
이미지 출처: 파이홀
Pi-hole은 사용자에게 광고 없는 경험을 제공하고, 데이터 수집을 방지하며, 유해한 사이트로부터 보호하고, 피싱, 악성코드, 랜섬웨어 사이트로부터 기기를 안전하게 지켜주므로 모든 네트워크에 유용한 도구입니다.
또한 Pi-hole은 코인 채굴 네트워크를 차단하여 사용자의 동의 없이 암호화폐 채굴에 기기가 사용되는 것을 방지합니다.
Pi-hole 설치 요구 사항
가정 네트워크에 Pi-hole을 설치하려면, 공식적으로 지원되는 다음 운영 체제 중 하나가 필요합니다.
- ARM 아키텍처에서 Raspberry Pi OS의 Buster/Bullseye 버전
- ARM/ x86_64 아키텍처의 Ubuntu 20.x/22.x 버전
- ARM/ x86_64/ i386 아키텍처의 Debian 10/11 버전
- ARM/ x86_64/ i386 아키텍처의 Fedora 35/36 버전
- x86_64의 CentOS Stream 8/9 버전
Pi-hole을 설치할 컴퓨터에는 최소 512MB의 RAM이 필요합니다. 권장 사항은 4GB이지만, 최소 2GB의 여유 공간이 필요합니다.
마지막으로, Pi-hole을 설정하고 사용하려면 인터넷 연결과 라우터 관리자 패널에 대한 접근 권한이 필요합니다.
리눅스에서 Pi-hole 설정 방법
리눅스에 Pi-hole을 설치하는 방법을 설명하기 위해, 가장 일반적으로 사용되는 리눅스 배포판인 Ubuntu에 Pi-hole을 설치하는 방법을 살펴보겠습니다. 여기서는 최신 버전인 Ubuntu 22.04.1 LTS를 사용합니다.
Ubuntu에 Pi-hole을 설치하려면 다음 단계를 따르십시오.
#1. 운영 체제 업데이트 – 리눅스에 소프트웨어를 설치하기 전에 운영 체제를 업데이트하는 것이 좋습니다. 터미널에서 다음 명령어를 실행하여 사용 가능한 모든 업데이트를 설치합니다.
sudo apt update && sudo apt upgrade -y
#2. 고정 IP 주소 설정 – Pi-hole은 서버 역할을 하므로 제대로 작동하려면 고정 IP 주소가 필요합니다. 고정 IP 주소는 사용자가 직접 변경하지 않는 한 변경되지 않는 IP 주소입니다. DNS 서버는 고정 IP 주소를 사용하므로, 기기가 접속 방법을 알 수 있습니다. IP 주소가 계속 변경되면, 사용자는 인터넷을 사용하기 위해 컴퓨터에서 DNS 서버를 계속 다시 설정해야 합니다. 고정 IP 주소가 아직 없는 경우, 다음 단계를 따라 고정 IP 주소를 설정합니다.
#3. 설정 > Wi-Fi로 이동한 후 톱니바퀴 아이콘을 클릭합니다. 이더넷을 사용하는 경우, 설정 > 네트워크로 이동한 후 유선 연결 옆의 톱니바퀴 아이콘을 클릭합니다.
#4. IPv4 탭을 클릭하고 다음 스크린샷과 같이 변경합니다.
#5. 제대로 작동하는지 확인하려면 터미널을 열고 다음 명령어를 실행합니다.
ip address show
강조 표시된 줄에 192.168.0.10 IP 주소를 추가했으며, 강조 표시된 텍스트에는 설정된 IP가 고정임을 의미하는 ‘동적’이라는 단어가 없습니다.
#6. 터미널에서 다음 명령어를 실행하여 Pi-hole을 설치합니다.
curl -sSL https://install.pi-hole.net | bash
위의 명령어를 실행하면 필요한 종속성이 설치되고, Pi-hole 설정 프롬프트가 화면에 나타납니다.
#7. 첫 번째 화면에서 Enter 키를 누르기만 하면 됩니다.
#8. Pi-hole은 무료 도구이므로, Pi-hole Donations 페이지를 통해 기부를 고려해 보세요. 계속하려면 Enter 키를 누릅니다.
#9. 이미 고정 IP 주소를 설정했으므로 ‘C’ 키를 눌러 계속합니다.
#10. 위쪽 또는 아래쪽 화살표 키를 사용하여 원하는 DNS 제공자를 선택합니다. 자유롭게 선택할 수 있지만, Quad9(필터링됨, ECS, DNSSEC), Cloudflare(DNSSEC) 또는 OpenDNS(ECS, DNSSEC)는 뛰어난 개인 정보 보호 정책 때문에 일반적으로 권장됩니다. 원하는 항목을 선택한 후 Enter 키를 눌러 계속합니다.
#11. 앞서 언급했듯이 Pi-hole은 커뮤니티에서 관리하는 차단 목록을 사용하여 광고 제공 도메인 및 악성 사이트를 차단합니다. StevenBlack의 통합 호스트 목록은 Pi-hole에서 추가할 것을 제안합니다. ‘Y’ 키를 눌러 추가합니다.
#12. 관리 웹 인터페이스는 Pi-hole을 관리하는 쉬운 방법입니다. 설치하지 않아도 Pi-hole 기능에는 영향을 미치지 않지만 설치하는 것이 좋습니다. ‘Y’ 키를 눌러 설치하고 계속합니다.
#13. ‘Y’ 키를 눌러 이전 단계에서 설치한 관리 웹 인터페이스와 함께 사용할 Lighttpd를 설치합니다.
#14. Pi-hole에서 Pi-hole DNS 활동에 대한 정확한 통계를 표시하려면 쿼리 로깅을 활성화해야 합니다. ‘Y’ 키를 눌러 활성화하고 계속합니다.
#15. 이전 단계에서 로그인을 활성화했으므로, 여기서 보고 싶은 정보의 양을 선택합니다. 레벨 0, 모든 표시를 선택하면 네트워크의 Pi-hole을 사용하여 모든 클라이언트(기기)가 방문한 모든 도메인의 로그가 유지됩니다. 위쪽 및 아래쪽 화살표 키를 사용하여 원하는 로깅 수준을 선택한 다음 Enter 키를 눌러 설치를 마칩니다. 아직 터미널을 닫지 마십시오.
#16. 권장 사항에 따라 관리 웹 인터페이스를 설치한 경우, 관리 웹 페이지에 접근하기 위한 로그인 정보가 제공됩니다. 웹 사이트 링크와 비밀번호가 제공됩니다.
#17. 관리 웹 UI에 접근하려면 브라우저를 열고 주어진 웹 인터페이스 URL(이 경우 주어진 URL은 http://192.168.0.10/admin)을 입력하고 제공된 로그인 비밀번호를 입력합니다. 다음과 같은 화면이 나타납니다.
이 대시보드에는 Pi-hole 사용에 필요한 모든 정보가 표시됩니다. 오른쪽 상단 모서리에 녹색으로 표시된 Adlist의 도메인에는 도메인 수가 표시됩니다. 권장 차단 목록을 추가했으므로 Pi-hole이 차단할 도메인이 표시됩니다.
차단 목록에 새 웹 사이트를 추가하려면 차단된 도메인 수를 표시하는 168,482 바로 아래에 있는 광고 목록 관리를 클릭합니다.
#18. 마지막 단계는 Pi-hole을 DNS 서버로 설정한 Linux 컴퓨터를 사용하기 위해 현재 사용 중인 라우터를 구성하는 것입니다. 라우터 모델이 다양하므로, 설정 방법도 다릅니다. 따라서 라우터 설명서를 참조하여 설정 방법을 확인해야 합니다. Pi-hole Documentation에서도 다른 라우터에서 설정하는 방법에 대한 페이지를 제공합니다. Pi-hole을 DNS 서버로 설정하는 방법을 알아보려면, 해당 페이지를 참고하세요.
다음 단계는 Pi-hole이 정상적으로 작동하는지 확인하는 것입니다.
Pi-hole이 제대로 작동하는지 확인하는 방법
Pi-hole은 네트워크에서 광고를 차단하도록 설정되어 있습니다. 따라서 Pi-hole이 작동하는지 확인하는 가장 간단한 방법은 일반적으로 광고가 많은 웹사이트, 특히 CNN, BBC, Reuters와 같은 뉴스 사이트를 열어보는 것입니다.
더욱 간단한 방법은 Pi-hole 테스트 사이트에 접속하는 것입니다. 페이지에 광고가 표시되지 않으면 Pi-hole이 작동하는 것입니다. 하지만 사이트에 광고가 보인다면, Pi-hole이 제대로 작동하지 않는 것입니다. 이 경우 라우터 설정을 확인해야 합니다.
Pi-hole 설정 시의 어려움
Pi-hole은 다른 도구와 마찬가지로 완벽하지 않습니다. Pi-hole을 사용하는 동안 다음과 같은 문제에 직면할 수 있습니다.
Pi-hole은 모든 광고를 차단하지 않습니다.
광고 회사들은 Pi-hole과 같은 DNS 광고 차단 도구를 잘 알고 있습니다. 일부 회사는 게임과 같이 애플리케이션 코드에 직접 광고를 삽입하거나, 유튜브의 경우처럼 광고를 스트리밍 데이터의 일부로 만들어 DNS 광고 차단기의 장애물을 우회합니다. 유튜브 광고는 스트리밍 중인 비디오의 일부로 제공되며, 별도로 제공되지 않기 때문에 계속 표시됩니다.
Pi-hole은 빈 공간을 남깁니다.
광고가 차지하는 공간을 제거하는 브라우저 기반 광고 차단기와는 달리 Pi-hole은 광고 자체를 제거하지 않습니다. 광고가 표시될 자리에 빈 공간만 남겨둡니다. 작은 화면 기기에서는 이러한 빈 공간이 거슬릴 수 있습니다.
Pi-hole은 네트워크의 모든 기기에서 광고를 차단합니다.
네트워크 수준의 광고 차단 도구이므로, 네트워크의 모든 기기를 차별 없이 차단합니다. 더욱 큰 문제는 일부 기기에는 차단을 쉽게 비활성화할 수 있는 인터페이스가 없다는 것입니다. 따라서 해당 기기의 DNS 설정을 수동으로 변경해야 합니다.
Pi-hole을 끄더라도 라우터나 관련 기기의 DNS 설정을 재설정하지 않으면 인터넷에 접속할 수 없습니다.
이러한 단점에도 불구하고, Pi-hole은 여전히 사용자를 보호하고 인터넷 사용 경험을 개선하는 데 매우 유용한 도구입니다.
저자의 의견
Pi-hole은 인터넷을 사용하는 모든 사람에게 매우 유용한 도구입니다. 성가신 광고를 차단하여 인터넷 사용을 쾌적하게 만들어줄 뿐만 아니라, 사용자의 인터넷 활동을 감시하기 위해 기기에 설치된 인터넷 추적기를 차단하여 개인 정보를 보호할 수 있습니다.
또한 악성코드나 랜섬웨어에 감염될 수 있는 위험한 사이트에 접속하는 것을 방지하여 컴퓨터를 안전하게 지켜줍니다. 네트워크 사용자가 유해한 사이트에 접속하는 것을 막을 수도 있습니다. 설치 과정이 다소 번거로울 수 있지만, Pi-hole은 인터넷을 사용하는 모든 사람에게 매우 유용한 도구입니다.