인터넷 서핑을 하다 보면 각종 사이트에 지긋지긋하게 따라붙는 광고들이 있다. 홈페이지 운영자도 수익을 내야 하니 어느 정도의 광고는 이해하지만, 메인 콘텐츠조차 가려질 정도로 과도한 광고로 도배된 사이트들을 보면 눈살이 찌푸려진다.
게다가 이제 아이들도 스마트폰과 태블릿을 쓰기 시작하면서, 수위가 높은 광고가 간혹 보이면 괜히 나까지 당황하게 된다. 이런 문제를 해결하기 위해 브라우저나 앱 단에서 광고를 차단하는 다양한 솔루션이 존재한다. 나 역시 **AdGuard 유료 라이선스(패밀리 플랜)**를 구입해서 9대 디바이스에 설치해 만족스럽게 사용하고 있었다.
그런데 어느 순간부터 데스크탑, 휴대폰, 태블릿, IoT 기기 등 디바이스 수가 늘어나고, 아이들 것까지 합치다 보니 9대 제한이 점점 아쉽게 느껴졌다. 그러다 알게 된 것이 바로 AdGuard Home.
AdGuard Home은 로컬 네트워크의 DNS 서버 역할을 하며, 네트워크 단에서 광고 및 추적기를 차단해주는 솔루션이다. 브라우저나 앱 단에서 광고 차단을 하지 않아도 되고, 디바이스 수 제한이 없다는 것이 가장 큰 장점이다.
광고 공해를 줄이고, 아이들의 건전한 인터넷 사용을 돕기 위해 설치해보기로 마음먹었다.
사전 준비
AdGuard Home은 DNS 서버 역할을 하기 때문에, 항상 켜져 있는 장비에 설치해야 한다. 일반적으로 라즈베리파이나 저전력 미니 PC에 설치하는 사례가 많지만, 나는 마침 24시간 켜져 있는 Synology NAS를 사용 중이었기에 NAS에 Docker로 설치하기로 했다.
Docker는 이미 설치되어 있었고, 이전 포스팅에서 Portainer도 설치해둔 상태라 컨테이너 관리는 GUI로 손쉽게 할 수 있었다.
설치 과정
먼저 공식 문서에서 Docker 설정을 확인한다.
docker run --name adguardhome \ --restart unless-stopped \ -v /my/own/workdir:/opt/adguardhome/work \ -v /my/own/confdir:/opt/adguardhome/conf \ -p 53:53/tcp -p 53:53/udp \ -p 67:67/udp -p 68:68/udp \ -p 80:80/tcp -p 443:443/tcp -p 443:443/udp \ -p 3000:3000/tcp -p 853:853/tcp \ -p 784:784/udp -p 8853:8853/udp \ -p 5443:5443/tcp -p 5443:5443/udp \ -d adguard/adguardhome
위 명령어는 많은 포트를 노출하고 있지만, 실제로는 기본적인 DNS 기능과 웹 UI 접속만 사용할 거라면 아래 포트만 열어도 충분하다:
• 53: DNS 요청용 (TCP/UDP)
• 3000: 초기 설정 마법사 접속용
• 80: HTTP UI
• 443: HTTPS UI (옵션)
나머지 포트들은 DoH/DoT, DHCP 등 고급 기능을 위한 것이며, 사용하지 않는다면 열 필요는 없다.
도커 명령어 대신 docker-compose.yml로 관리하면 편리하다:
version: '3.8' services: adguardhome: image: adguard/adguardhome:latest container_name: Adguard_Home restart: unless-stopped network_mode: host # DNS 서버로 사용하기 위해 host 모드 사용 volumes: - adguardhome_work:/opt/adguardhome/work - adguardhome_config:/opt/adguardhome/conf volumes: adguardhome_work: adguardhome_config:
여기서 핵심은 네트워크 모드다. bridge로 하면 안되고 host로 해야 한다. 그런데 host로 하게 되면 NAS에서 다른 포트를 사용하는 서비스들과 포트 충돌을 일으키지 않도록 포트 관리를 잘해야한다.
그리고 나는 NASd의 공유폴더를 사용하지 않고, 내부 Docker 볼륨만으로 데이터 디렉토리를 구성했다. Adguard의 설정은 자주 손댈 일이 없기 때문이다.
docker-compose up -d
명령어로 컨테이너를 실행하면 설치가 완료된다.
Adguard Home 설정
설치가 끝나면 웹 브라우저에서 아래 주소로 접속해서 초기 설정을 진행한다.
http://<NAS IP>:3000
• 관리자 계정 생성
• DNS 리스닝 포트 확인
• 차단 필터 설정
이 과정을 마치면 본격적으로 AdGuard Home이 동작한다.
이후 접속은 설정된 포트 기준으로 접속한다.
http://<NAS IP>:<설정된 포트>
인터넷 공유기와 연동
이제 집 전체 네트워크의 광고를 차단하기 위해 인터넷 공유기 설정에서 기본 DNS 서버를 NAS의 IP 주소로 변경해야 한다.
이렇게 설정하면, 집에 연결된 모든 기기에서 AdGuard Home을 통해 DNS 쿼리가 전달되고, 그 안에서 광고 필터가 적용된다.
마무리
AdGuard Home을 NAS에 설치한 이후로 광고가 대부분 사라지고, 아이들도 더 안전하게 인터넷을 사용할 수 있게 되었다. 무엇보다도 별도의 앱 설치 없이 모든 기기에서 광고 차단이 가능하다는 점이 정말 만족스럽다.
답글 남기기