Adguard Home을 집에서 써봅시다 : 클리앙

도입

애드가드는 휴대폰 같은 모바일 환경에서의 광고 차단 앱으로 한번씩 들어보셨을 겁니다. 그런데 프로그램이 모바일 앱과는 조금 다르긴 하지만 무료로 설치해서 집에서 직접 구동해 사용할 수 있다는건 좀 덜 알려져 있습니다.

이 글에서는 이 ‘애드가드 홈’을 설치하고 설정해보는 걸 해볼겁니다.


준비물

DNS를 직접 설정할 수 있는 라우터(공유기) 및 클라이언트(PC,을집에서써봅시다클리앙 휴대폰)

집 공유기가 DNS를 설정할 수 있으면 집의 WIFI에 연결된 모든 기기가 애드가드 홈의 혜택을 볼 수 있게 설정할 수 있고 혹은 애드가드 홈을 사용할 기기에서 직접 DNS를 지정해줘서 사용할 수 있습니다.

네트워크가 24/7 연결되어있고 전원이 24/7 켜져있는 컴퓨터

이 컴퓨터는 거창한 서버여도 좋고 알리를 통해서 한번씩 들어본 N100 칩셋의 저전력 미니PC류도 차고 넘치는 사양이라 좋습니다.

리눅스 OS

Docker를 사용할 OS이고 대부분의 리눅스에서 사용할 수 있긴 하지만 널리 사용되고 편리한 데비안 혹은 우분투 기반을 추천합니다.

Proxmox 하이퍼바이저(옵션)

N100 같은 저전력 미니PC를 포함한 대부분의 컴퓨터들은 애드가드 홈 하나를 구동하기엔 남는 자원이 많습니다. 나중에 관리 편의와 남은 자원들을 다른 용도로 활용하기 위해서 강력히 추천하는 바입니다.


이 포스트에서의 환경

1 코어 CPU + 512MB 램 + 2GB 저장공간 + 1Gbps 네트워크

사양은 이 정도 이상이면 충분합니다. 네트워크 속도도 1GBE면 충분합니다.

Proxmox + Ubuntu LXC

여기에서는 Proxmox 하이퍼바이저가 이미 설치되어 있는 환경에서의 설치와 구동을 다룰 겁니다. 물론 바로 리눅스가 설치된 환경에서도 문제 없습니다만 설치 부분은 공식 홈페이지의 내용을 참고해주세요.


설치

Proxmox 스크립트

저도 이렇게 설치했고 초보라면 그냥 이렇게 설치하면 너무나 편하고 한방에 해결됩니다. 붙여넣기 단축키는 ctrl+shift+v 입니다.

bash -c "$(wget -qLO - <" target="_blank">https://github.com/tteck/Proxmox/raw/main/ct/adguard.sh>)"

스크립트의 내용은 https://raw.githubusercontent.com/tteck/Proxmox/main/ct/adguard.sh 에서 바로 확인 할 수 있으며 직접 살펴보시면 확인할 수 있지만 별다른 것 없이 CT를 만들고 애드가드 홈을 설치하는 것이 전부 입니다.

다른 유용한 스크립트는 https://helper-scripts.com 여기에서 찾아 볼 수 있습니다.

Screenshot 2023-12-30 013511.png

노드의 쉘에서 복&붙 하면 됩니다. 그냥 디폴트 세팅으로 설치하면 컨테이너 템플릿을 다운로드할 스토리지와 컨테이너를 설치할 스토리지를 선택하고 자동으로 진행됩니다. 완료되면 접속할 수 있는 아이피와 포트까지 친절하게 알려줍니다.

여기까지 완료되었으면 설정 항목으로 넘어가시면 됩니다.

Advanced 설치로 넘어가면 세세하게 세팅을 지정해줄 수 있습니다. Proxmox 환경이 익숙하시다면 시스템 자원과 컨테이너 ID와 이름 등등을 다 지정해줄 수 있으니 활용하시면 됩니다.


수동 설치

편리하기만 하면 좀 심심하죠? 수동으로도 설치해봅니다.


CT 템플릿 다운로드

노드를 선택하고 템플릿을 저장할 스토리지를 선택, ‘Templates’ 버튼을 클릭합니다. 검색창에 ‘ubuntu’를 입력하면 아래 스샷과 같이 버전별로 나옵니다.

Screenshot 2023-12-30 014519.png

원하는 버전을 선택해서 설치합니다. 저는 23.04 Lunar를 다운로드 하겠습니다.

선택하고, 아래 Download 를 누르면 다운로드 하고 완료될때 까지 기다립니다.


CT 생성

Screenshot 2023-12-30 015026.png

기본 상태에서 컨테이너 ID와 이름을 지정해주고 접속에 사용할 패스워드를 지정해줍니다.



Screenshot 2023-12-30 015416.png


템플릿은 조금 전에 다운로드한 우분투 23.04를 선택해주시고


Screenshot 2023-12-30 015509.png

디스크는 2GB 혹은 원하시는 만큼 지정합니다.


Screenshot 2023-12-30 015553.png

Screenshot 2023-12-30 015607.png

코어는 1, 메모리는 512 더 많은 자원을 할당해주면 더 큰 트래픽을 감당하고 빠른 속도를 기대할 수 있습니다만 일반적인 가정 환경에서는 1코어 512MB 램 이면 충분합니다.


Screenshot 2023-12-30 015755.png

네트워크 부분 IPv4 부분에 DHCP를 선택하시거나 사용하려고 하시는 IP를 직접 지정해주세요. 나중에 라우터에서 IP를 고정해주시거나 해서 IP변동이 없도록 설정하는 것이 핵심입니다.

DNS는 비워두어도 무관합니다. 필요에 따라 수정해주시면 됩니다.

Start after created 에 체크 해주시면 컨테이너가 생성 후 바로 실행됩니다.


CT 업데이트 및 준비

Screenshot 2023-12-30 020228.png

생성된 컨테이너의 콘솔에 접속해서 로그인 합니다. ID는 root, 비번은 생성시 지정한 비번입니다.


방금 생성한 이 컨테이너는 완전 빈통입니다.

apt-get update

업데이트를 한번 해주고

apt isntall curl -y

기본이 되는 명령어부터 설치해줍니다.

systemctl stop systemd-resolvedsystemctl disable systemd-resolved

시스템 기본 서비스가 우리가 사용해야할 포트를 이미 사용하고 있습니다. 사용하지 않을 서비스이기에 정지하고 비활성화 해줍니다.


Adguard Home 설치

설치는 https://github.com/AdguardTeam/AdGuardHome#getting-started 공식 홈페이지에서 설명하는 방법으로 진행합니다.

복잡해보이는 대체 방법은 제쳐두고 자동 스크립트 3개 중 하나를 사용합니다. 방금 설치한 curl 명령 버전을 사용하겠습니다. 첫번째 curl 부분을 복&붙합니다.

Screenshot 2023-12-30 021653.png

뭔가 막 지나가고 에러가 없었으면 설치 완료입니다.

접속할 수 있는 주소와 포트를 주르륵 보여주는걸 확인할 수 있습니다.


초기 설정

Screenshot 2023-12-30 022101.png

아까 나온 주소로 접속하면 요렇게 안내 페이지가 나타납니다. 예시에서는 http://192.168.1.165:3000 입니다.

따로 사용하는 설정이 있지 않으면 넘겨서 3단계에서 아이디 비밀번호를 설정해주고 쭉 넘겨서 대시보드에 접속, 아이디 비밀번호를 입력하면 초기 페이지가 나타납니다.


Screenshot 2023-12-30 023050.png

아무것도 없는 상태입니다. 모든 설정을 설명할 필요는 없을 것 같고 주요한 부분들만 설정해봅시다.


DNS 세팅

원하는 대로 세팅하시면 됩니다. 예시로 제가 사용하는 세팅을 소개하겠습니다.

1.1.1.18.8.8.88.8.4.4210.220.163.82168.126.63.1192.168.1.1

저는 요 DNS들을 사용합니다.

속도가 빠른 클라우드 플레어, 구글의 2가지 DNS, SKT DNS, KT DNS 그리고 로컬 도메인을 위한 라우터 IP 입니다.

그런 후 쿼리 요청은 ‘병렬 처리 요청’을 사용합니다. 저는 속도를 우선시 했습니다. 별 일 없으면 30ms 이하의 쿼리 속도를 유지할 겁니다.


DNS 차단 목록

차단 목록 추가를 클릭, 원하시는 필터들을 추가하시면 됩니다.

앞쪽에 체크가 되어있는 필터들이 현재 동작하도록 설정된 필터들입니다. 너무 많은 필터를 사용하게되면 쿼리 처리 속도가 느려지므로 필요한 필터들만 사용하시길 권장드립니다.

이렇게 두 가지만 설정해두면 기본적인 기능 준비는 완료되었습니다.


디바이스 설정

설치 안내 페이지로 가시면 초기 설정에서 봤던 각 기기들의 설정 방법들을 다시 확인 할 수 있습니다.

라우터(공유기)에서 DNS를 애드가드 홈의 주소로 해두면 라우터에 접속된 모든 기기들이 광고 차단 효과를 볼 수 있습니다.

개별 기기들을 설정하시려면 각각 OS의 설정방법을 보시면 됩니다.


집 밖에서의 활용

이 부분은 필요한 다른 준비물들이 더 있어서 간단하게 언급만 하고 넘어가겠습니다.

애드가드 홈의 주소를 DDNS 서비스와 역방향 프록시를 통해 로컬 네트워크 외부로 노출 시키고 각 기기에서 이 주소를 DNS로 설정하는 것으로 애드가드 광고 차단을 사용할 수 있습니다. 쿼리만 요청하고 모든 네트워크 트래픽이 요청되는 VPN이 아니므로 네트워크 부담도 적습니다.

좀 더 보안을 높이고 필요할때만 사용하려고 하면 Tailscale 같은 서비스를 같이 활용하면 외부에서 안전하고 간편하게 사용할 수 있습니다.


마무리

오밤중에 급하게 작성해보는거라 미흡한 점이 있을 수 있습니다. 댓글로 알려주시면 바로 수정해서 반영하도록 하겠습니다.

제가 전문가는 아니라 질문 주시는 내용에 대해서 모든 답변을 못해드릴 수도 있는 점 양해 부탁드립니다. 😓

사진게시판