Pihole 설치

Pihole 설치

요약: LXC에 Pihole 설치하기

Update: AdGuard를 사용해보고 Pihole은 더 이상 사용하지 않는다.

Pihole은 개인 DNS 서버를 설치하고 광고 사이트를 차단시키는 방법으로 광고를 제거하는 프로젝트이다. 광고 제거를 위해 이렇게까지 해야하나... 생각하고 있었으나, Pihole은 라스베리파이에서 항상 상위권에 있는 프로젝트이다. 궁금해서 설치해 봤고, 몇가지 아쉬운 부분이 있었지만 기능에 대해 매우 만족한다.

설치 방법

설치는 아래의 자동 스크립트를 사용하였다. 문제 없이 잘 설치되었다.

GitHub - tteck/Proxmox: Proxmox Helper Scripts
Proxmox Helper Scripts. Contribute to tteck/Proxmox development by creating an account on GitHub.

설치 후 root password를 수정해야 한다. 수정 방법은:

$ pihole -a -p

설치 후 라우터에서 IP를 고정 시키고, 공유기에서 DNS 서버를 Pihole로 사용하도록 아래와 같이 수정한다. 참고로 KT를 사용하고 있기에 IPTime 공유기에서는 다음 DNS 주소가 기본 설정되어 있었다.

기본 DNS 주소: 168.126.63.1
보조 DNS 주소: 168.126.63.2

보조 DNS 주소는 빈칸으로 둬야한다. 이는 DNS lookup 시 기본과 보조 DNS 주소 둘다 사용되기 때문에 보조 DNS 주소를 통해서 광고가 들어 올 수 있기 때문이다. (물론 Pihole을 두개 돌리면 되지만...)

공유기에서 DNS 변경 후 client (i.e., 지금 사용하고 있는 컴퓨터)의 DNS 변경을 위해 (1) DHCP를 사용하는 경우 client를 재부팅하거나, (2) client의 DHCP를 변경해줘야 한다.

그리고 알다시피 DNS 서버를 로컬에서 돌리는 순간, DNS 서버가 죽으면 집안의 모든 인터넷은 동작 안 된다. "광고 + (밑에서 기술 할) 개인정보" vs "안정성" 이라고 할 수 있다.

설치 이후

Pihole에 대해 알아보며 Pihole unbound라는 것을 알게 되었다. 요약하면 DNS lookup을 위해 외부 DNS 서버에 주소를 물어보면, 그 DNS 서버는 내가 물어본 주소를 알 수 있고 기록해 놓을 수 있기에, 원하면 나의 인터넷 히스토리를 전부 알 수 있다. 만약 이게 싫을 경우, 내가 직접 domain 주소를 알아 내야 하고, unbound가 바로 그 일을 하는 프로그램이다.

예를 들어, test.example.com에 대한 IP를 알고 싶을 경우 Cloudflare DNS 서버에 물어보면 바로 123.456.789.123 이라고 답을 준다. 하지만 unbound를 통하면, 내가 직접 com에 대한 주소를 알려 줄 수 있는 서버를 찾고, 그 다음에는 example.com에 대한 주소를 알려 줄 수 있는 서버를 찾고, 그 다음 test.example.com에 대한 주소를 찾는다. 그 다음에는 이 주소를 로컬에 캐쉬하여 다음에 바로 찾을 수 있도록 한다. 이를 recursive DNS lookup이라고 하고 Cloudflare 등 DNS 서버가 하고 있는 일이다.

내가 직접 recursive domain lookup을 하는 이유는 외부 DNS 서버에서 내가 접속한 주소를 알 수 없게 하기 위해서다. 단점은 DNS lookup 할 때 캐쉬가 생기기 전까지는 느리다는 것이다. 재미있는 아이디어였고 Pihole까지 설치했으니 이정도는 해야 겠다 싶어 설치해보았다.

설치 방법은 Pihole 문서를 따라했다.

unbound - Pi-hole documentation

첫 느낌은 처음 인터넷 연결할 때 체감 될 정도로 반응이 느리다는 것이였다. 내가 이정도의 보안이 필요한가 생각이 들고, 속도가 체감될 정도로 매우 느리기에 이기능은 사용 안하게 되었다.

사용 후기

Pihole을 사용해보니 광고는 잘 제거하는데, 네어버 등을 보니 한국 필터가 더 필요하다는 느낌이 들었다. 그래서 인터넷에 공개되어 있는 한국 필터를 살펴보았는데 (1) 너무 오래되거나, (2) 최신인 것은 Adguard 용으로만 나와있었다.

궁금해서 Pihole vs Adguard를 찾아봤는데, Adguard도 시도해 볼만한 느낌이 들었다. 곧 설치해 봐야겠다. 또한 보안 관련해서 DNS-over-HTTPS 등을 알게 되었는데, 이게 더 유용한 방법이라는 생각이 들어 이것도 시도해 봐야겠다.