안녕하세요 r/selfhosted 커뮤니티 여러분. 저희는 두 명의 홈랩 사용자(직업은 사이버 보안/인프라 분야)이며, Pi-hole과 AdGuard Home의 정신을 이어받아 MazeDNS라는 자체 호스팅 필터링 DNS 리졸버를 구축해 왔습니다. 이 도구는 여러 장소에서 DNS를 운영하는 사람들을 위해 설계되었습니다. 이는 저희가 자체 홈랩을 위해 만드는 소규모 자체 호스팅 도구 모음인 Maze Labs의 일부입니다: https://amaze-labs.github.io/ AI 공개: 저희는 AI 코딩 어시스턴트와 함께 MazeDNS를 구축했습니다. 저희가 디자인하고, 모든 변경 사항을 검토하며, 자체 랩에서 각 버전을 테스트합니다. 그리고 이 모든 것은 AGPL-3.0이므로 여러분이 코드를 읽어보실 수 있습니다. 왜 또 다른 DNS 필터가 필요한가요? Pi-hole/AdGuard Home은 단일 장치(single box)에서는 훌륭합니다. 저희는 여러 사이트에 대해 수동으로 인스턴스를 동기화할 필요 없이, 하나의 대시보드와 하나의 설정을 원했습니다.
작동 방식: 하나의 제어 평면(Control plane)(웹 UI + API, DNS 기능 없음)과 클라이언트 근처에 배치되는 하나 이상의 에이전트(Agent)(DNS 부분)로 구성됩니다. 에이전트는 키를 사용하여 등록하고, 구성을 복사하며, 제어 평면이 다운된 경우 마지막으로 받은 사본을 기반으로 계속 응답합니다.
사이트, 역할, 유지보수/드레인 모드, 각 에이전트별 상태 및 동기화 상태 기능:
- 블록 목록 (URL/파일/붙여넣기), 허용/거부 규칙, 전체 카테고리 차단, 원클릭 일시 중지
- 로컬 레코드(Local records), 조건부 포워딩(conditional forwarding), 사이트/에이전트별 분할 지평선(split-horizon)
- DoT/DoH (서버 및 업스트림), DNSSEC 투명 포워딩, 캐시, 클라이언트별 속도 제한
- 트래픽 유형(소셜, 스트리밍, 업무 등)을 포함한 장치별 쿼리 분석
- 선택하는 출처로부터의 도메인 위험 점수화 (위협 피드, WHOIS 연령, 이름 형태, 선택적 LLM)
- 로컬 사용자 또는 OIDC SSO, API 토큰, Prometheus /metrics , 선택적 VictoriaMetrics/VictoriaLogs
배포: 두 개의 컨테이너(Docker Compose 또는 Kubernetes)를 사용합니다. 빠른 시작 방법은 README에 있습니다: https://github.com/amaze-labs/MazeDNS
솔직한 한계점: 초기 프로젝트이며 사용자 기반이 작습니다.
- 리졸버에는 클라이언트 ACL이 없습니다: 에이전트는 사설 네트워크에 두고, 절대 :53 포트를 외부에 노출하지 마십시오.
- 제어 평면(control plane)을 인터넷에 직접 노출하지 마십시오 (VPN/리버스 프록시만 사용).
문서: 설치 방법, 사용자 가이드, 구성, 문제 해결은 모두 리포지토리에 있습니다.
피드백을 주시면 감사하겠습니다. 특히 멀티 사이트 설정이나 문제가 발생하는 부분에 대한 피드백을 부탁드립니다. 감사합니다! 제출자: /u/AndrewF17 [link] [comments]