OpenWrt에 광고제거 위한 adguard home

adguard home은 pc나 모바일기기에 설치하는 응용프로그램이나 adblock 같이 브라우저에 플러그인 형태가 아니라 라우터에 설치하여 네트워크 단에서 dns를 통해 광고, 멀웨어, 추적기 등을 차단하는 오픈소스 프로그램으로 OpenWrt에 설치하여 구동할 수 있습니다.

아래 설치방법은 adguard home이 dns서버에 보내는 쿼리를 OpenWrt 라우터에 별도 설치한 stubby나 https-dns-proxy가 중간에서 DoT/DoH로 처리하는 방법으로 구성하였습니다.

let's encrypt ssl 무료 인증서를 생성해 adguard home이 직접 DoT/DoH로 dns 서버에 쿼리를 보내는 방법은 여기를 참고하세요.

사전준비

  • OpenWrt 라우터에 adguard home을 설치하기 위해서는 최소 20MB의 여유공간이 필요하며 구동시 쿼리로그 등의 데이터가 계속 축척되고 구동을 위한 많은 메모리가 필요하므로 라우터 메모리 확보를 위해 usb 저장장치를 마운트하여 usb에 설치합니다.
  • OpenWrt에 stubby나 https-dns-proxy로 DoT 또는 DoH 구성을 합니다. (아래 예시는 DoT(stubby)입니다)

adguard home 설치

  • 설치 스크립트를 다운받습니다 (아래 install.sh)
  • install.sh 쉘스크립트를 다운받아 확인해 보면 adguard home의 기본 설치경로는 /opt 로 usb에 설치하려는 경로와 다르므로 vi 편집기로 수정하거나 아래처럼 sed명령으로 설치 경로를 /mnt/sda1/opt로 수정한 후 스크립트를 실행하여 OS 및 cpu 아키텍처를 파악해 해당 최신버전의 adguard home을 다운받게 합니다.

opkg update
opkg install curl
mkdir /mnt/sda1/opt
curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh > install.sh
sed -e 's/OUT_DIR=\/opt/OUT_DIR=\/mnt\/sda1\/opt/g' install.sh | sh

adguard home 설정하기

  • 설치를 완료하면 /mnt/sda1/opt/AdGuardHome에 adguard가 설치가 되며 /etc/init.d/AdguardHome 화일이 복사되어 OpenWrt의 서비스로 등록이 됩니다.
  • 웹브라우저 주소창에 http://192.168.1.1:3000으로 접속하여 adguard home설정을 합니다.
  • id/password 생성하고
  • 웹브라우저 접속포트를 변경합니다.(예 3000에서 8080으로)
  • adguard home의 DNS 설정 : 127.0.0.1:5553 으로 설정
  • adguard home에서 dns 쿼리를 보낼 upstream DNS 설정 : 127.0.0.1:5453 으로 설정(stubby 설치시 설정한)
  • adguard home에 내장된 DoT/DoH 구성은 따로 할 필요가 없습니다.(OpenWrt에 stubby로 구성된 127.0.0.1:5453을 사용하므로)
  • ipv6 비활성화 : check
  • dnssec 활성화 : check
  • 기타 필요한 설정은 상황에 따라 하면됩니다.
  • 아래 /etc/config/dhcp 재구성 및 dnsmasq를 재시작하고 adguard home 대시보드에서 보호활성화를 눌러 구동합니다.
adguard home 일반설정
adguard home dns설정
adguard home dns 차단목록
adguard home 차단된 서비스
adguard home 커스텀 필터링
adguard home 대시보드

/etc/config/dhcp 재구성 및 dnsmasq 재시작

  • option dnssec, option dnsseccheckunsigned 주석처리 합니다. (위에서 dnssec은 adguard home에서 수행)
  • DoT 설정한 사용자라면 stubby가 listen하는 127.0.0.1#5453 주석처리 (stubby는 중지시키지 않음)
  • DoH 설정한 사용자라면 https-dns-proxy가 listen하는 127.0.0.1#5053 주석처리(https-dns-proxy 중지시키지 않음)
  • adguard home에서 listen하는 127.0.0.1#5553 새롭게 추가
  • dnsmasq 재시작 합니다.
config dnsmasq
...
        option noresolv '1'
#       option dnssec '1'
#       option dnsseccheckunsigned '1'
#       list server '127.0.0.1#5453'
#       list server '127.0.0.1#5054'
        list server '127.0.0.1#5553'
        list server '/openwrt.pool.ntp.org/1.1.1.1'

/etc/init.d/dnsmasq restart

Before and after

pc에 설치하는 adguard는 광고가 제거되고 웹페이지가 빈 공간없이 깔끔하게 정리되는 반면 adguard home은 광고만 제거되고 그 자리는 구멍이 뚫인 듯한 모습을 볼 수 있는데 어쨋거나 저는 불만없이 사용하고 있습니다.

참고사이트

Comments

No comments yet. Why don’t you start the discussion?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다