pi-hole(adguard dns) Docker 구축 및 사용 후기

2023. 8. 16. 11:42·개발

오늘은... 아니고 저번 달에 광고 차단 DNS 서버를 구축하였습니다!

사실 만들고 나서 글 써야 했지만... 바쁘던 관계로 어쩔 수 없이 저는 오늘 1달 사용 후기까지 함께 작성해서 올리도록 하겠습니다!

 

우선 광고차단 DNS의 원리를 알아볼까요?

광고를 불러오는 도메인의 IP 요청을 거부하는 방법을 사용합니다!

 

또한 광고뿐만 아니라 다른 개인정보 수집 사이트를 막음으로써 개인정보 또한 안전해집니다!

물론 성인사이트도 차단 할 수 있습니다!

 

Pi-hole Docker compose 설치 방법

version: "3"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server
      - "8001:80/tcp"
    environment:
      TZ: 'Asia/Seoul'
      # WEBPASSWORD: 'set a secure password here or it will be random'
    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    cap_add:
      - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
    restart: always

저는 Portainer를 사용해서 Stack으로 사용하였습니다.

 

하지만 이 코드를 바로 적용을 하려면 오류가 하나 나올 텐데요!

failed to deploy a stack: Network pihole_default Creating Network pihole_default Created Container pihole Creating Container pihole Created Container pihole Starting Error response from daemon: driver failed programming external connectivity on endpoint pihole (b7a36056802a8174eb8d2a6d34c1ca2d555e8166dd01b1eb90da1f8a4af1cd63): Error starting userland proxy: listen tcp4 0.0.0.0:53: bind: address already in use

아마 이런 오류가 나올 거예요.

 

이 오류의 해결방법은 pi-hole 공식 홈페이지에 나오는데 제가 인용해서 해결방법을 작성해 드릴게요!(https://discourse.pi-hole.net/t/setup-on-pi-in-docker-bind-error/19137)

감사하다! 16.04에서 18.04.4 LTS로 방금 업데이트했고 이것에 부딪쳤습니다. Ubuntu 17.04+를 실행 중인 사람이 있는 경우:

$ sudo nano /etc/systemd/resolved.conf#DNSStubListener=yes로 변경합니다 DNSStubListener=no(해당 줄의 주석 처리를 제거해야 함).
$ sudo service systemd-resolved restart

편집: 너무 빨리 말했습니다. 이렇게 하면 컨테이너가 부팅될 수 있지만 호스트의 DNS가 손상됩니다.

EDIT 2: 좋아, 여기에 ME를 위해 작동하는 단계가 있습니다. 다른 요구 사항이 있을 수 있습니다.

$ sudo nano /etc/systemd/resolved.conf (위 내용에 따라 변경)
$ sudo service systemd-resolved restart
$ sudo systemctl disable systemd-resolved.service
$ sudo systemctl stop systemd-resolved
$ sudo rm /etc/resolv.conf
$ sudo shutdown now -r

나는 이것에 대해 많이 생각하지 않았습니다. 실제로 처음 두 단계는 건너뛸 수 있지만(확인할 좋은 방법이 없음) 위의 단계를 따르면 (1) 컨테이너가 부팅되고 (2) 호스트가 도메인 이름을 확인할 수 있습니다.

라고 합니다. 이 내용을 따라 하면 잘 될 거예요!

관리 사이트는 서버 IP(저는 10.122.132.5) + 8001(제가 compose에 설정한 외부포트)로 접속하면 되는데요!

- "8001:80/tcp"

이 코드에서 8001이라고 적혀있는 걸 원하는 대로 바꾸기만 하면 됩니다!

 

접속이 안된다면 포트가 열려있는지 확인하는 사이트에서 확인하면 됩니다!

제가 사용하는 건 추후 포스팅 올려보도록 하겠습니다!
https://www.yougetsignal.com/tools/open-ports/

 

컴퓨터 DNS 세팅까지 완료하셨으면 다음 사이트 2곳에서 잘 되는지 확인해 주세요!

https://test.adminforge.de/adblock.htmlhttps://d3 ward.github.io/toolz/adblock.html

https://d3 ward.github.io/toolz/adblock.html

 

+ 추가 팁

기본적으로 어느 정도 광고는 차단되는데 완벽하게 차단하고 싶다면 PI-hole 관리페이지에 들어가셔서

`adlist` 에 들어간 후 add a new adlist에서

https://raw.githubusercontent.com/apwlq/pi-hole-hosts/main/hosts

를 추가해 주시면 됩니다!

 

이걸 추가만 하면 적용이 안되는데

pi-hole 세팅방법(올리고 알았는데 2번이 없넹)

다음과 같은 순서로 4번을 눌러 업데이트를 해주셔야 정상작동이 됩니다!

다만 이걸 선택하시면 구글 사이트에 있는 검색 광고 클릭 시 작동이 안 된다는ㅋㅋㅋ

 

저작자표시 (새창열림)
'개발' 카테고리의 다른 글
  • Ubuntu 22.04.03 LTS Docker Portainer 설치하기
  • Ubuntu 22.04.3 LTS Docker 최신버전 설치하기
  • Yahboom jetbot-mini 조립
  • 마인크래프트 모드 번역기
JuwonBang
JuwonBang
신라대학교 컴퓨터교육과에서 『기술과 교육이 만들어낼 미래를 함께하는』 방주원입니다.
  • JuwonBang
    메이커집 개발일지
    JuwonBang
  • 전체
    오늘
    어제
  • 공지사항

    • 생성형 AI 확산에 따른 블로그 게시물의 인공지능 학습 및⋯
    • 전체 글 (42)
      • 프로젝트 (0)
      • 개발 (12)
      • 인공지능 (3)
        • Raspberry Pi AI HAT+ (1)
      • 임베디드 (1)
        • 아두이노 (1)
        • Espressif (0)
      • 공부 (0)
        • 25년 정보·컴퓨터 전공A (0)
        • 25년 정보·컴퓨터 전공B (0)
        • 정보처리기사 (0)
      • 강의자료 (1)
      • 아이디어 (6)
      • Portfolio (16)
        • Awards (10)
        • Certificates (6)
  • 최근 글

  • 최근 댓글

  • 블로그 메뉴

    • 홈
    • 소개
    • 방명록
    • 수상 경력
    • 이수 내역
  • 링크

    • 깃허브
  • 태그

    RaspberryPi
    certificates
    광고차단
    Broadcom BCM2712
    Arduino
    성능 비교
    DNS광고차단
    taskbar숨기기
    Awards
    서버구축
    그래픽이 2배 좋아짐
    아두이노
    intel neural compute stick 2
    pi-hole
    파이썬
    라즈베리파이
    pihole
    라이브러리
    인공지능
    taskbar
    google coral accelerator
    Plymouth
    라즈베리파이 최신
    메카솔루션에서 구매함ㅎㅎ
    라즈베리파이5
    숨기기
    CPU도 약 2배 좋아짐
    라파 최신버전
    나는 쩔어
    중등교사임용
  • hELLO· Designed By정상우.v4.10.3
JuwonBang
pi-hole(adguard dns) Docker 구축 및 사용 후기
상단으로

티스토리툴바