본문으로 건너뛰기

Pi-Hole로 광고 차단과 내부 DNS 설정하기


왜?

pi-hole0

내부망에서 사용하는 서비스가 많아질 수록 ip를 직접 입력하고 접속하는 것 보다. dns로 접속하고 싶었다. 추가적으로 광고 차단도 되는 Pi-Hole을 사용해보았다.


컨테이너 생성

컨테이너 템플릿 다운로드

pveam update
pveam available | grep debian
  • debian os 컨테이너 템플릿을 확인한다.
pveam download local debian-12-standard_12.12-1_amd64.tar.zst
  • 템플릿 중 cpu 아키텍처와 맞으며, 원하는 컨테이너 템플릿을 다운로드한다.

컨테이너 생성

필수 컨테이너 스펙

  • Network: Static IP (DNS서버이기 때문에 DHCP가 아닌 Static IP를 설정하자)
    • IPv4/CIDR: 원하는IP/24
    • Gateway (IPv4): 게이트웨이IP
    • Firewall 비활성
  • Features: Nesting=1 (필수)

Pi-Hole 설치

apt update && apt upgrade -y
apt install curl -y
curl -sSL https://install.pi-hole.net | bash
  • 여기서 Upstream DNS provider를 선택하는 옵션이 있는데, 이건 상위 DNS 서버를 선택하는 것이다.
  • 예를 들어, https://www.naver.com 은 나의 DNS서버에는 당연히 등록되어있지 않고, 이를 비롯해 많은 우리가 사용하는 인터넷 주소들이 나의 DNS서버에는 없다.
  • 그래서 Pi-hole로 지정한 나의 DNS서버에 없는 주소를 입력했을 경우 찾는 DNS서버를 설정하는 것이다.
    • ex: 1.1.1.1(Cloudflare), 8.8.8.8(Google)
  • 다른 옵션은 모두 디폴트로 선택한다.
pihole setpassword
  • 설치 이후 초기 비밀번호를 위 명령어로 얻은 뒤, 로그인하고 앞으로 사용할 비밀번호를 설정한다.

DNS 등록

pi-hole1

  • 공유기 설정 페이지로 가서 DNS 주소에 Pi-Hole 서버의 IP를 등록한다.
  • 대체로 여기에 각 통신사 DNS서버 주소가 들어가 있을 것이다.
  • 보조 DNS 주소는 비워두자. 왜냐하면, 이를 통해 광고가 차단되지 않을 수 있기 때문이다.

추가 기능

내부 DNS

pi-hole2

  • Settings > Local DNS Records

추가 허용 및 차단

pi-hole3

  • Domains