Blocky DNS服务器安装与配置指南

Blocky DNS服务器安装与配置指南

blocky blocky 项目地址: https://gitcode.com/gh_mirrors/bl/blocky

项目概述

Blocky是一款高性能的DNS服务器软件,具有广告拦截、查询缓存、DNS-over-TLS/HTTPS支持等特性。本文将详细介绍Blocky的多种安装方式及其配置方法。

安装前准备

配置文件准备

Blocky使用YAML格式的配置文件,支持单文件或多文件配置。以下是一个基础配置示例:

upstreams:
  groups:
    default:
      - 46.182.19.48
      - 80.241.218.68
      - tcp-tls:fdns1.dismail.de:853
      - https://dns.digitale-gesellschaft.ch/dns-query
blocking:
  denylists:
    ads:
      - https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
  clientGroupsBlock:
    default:
      - ads
ports:
  dns: 53
  http: 4000

此配置包含:

  • 上游DNS服务器设置
  • 广告拦截列表
  • 服务监听端口

安装方式详解

二进制文件安装

  1. 下载对应系统架构的二进制文件
  2. 赋予执行权限:chmod +x blocky
  3. 运行命令:./blocky --config config.yml

注意事项

  • 在Linux系统上使用53或953端口时,需执行:
    sudo setcap 'cap_net_bind_service=+ep' ./blocky
    
  • 不建议直接使用root权限运行

Docker容器安装

基础Docker运行
docker run --name blocky \
  -v /path/to/config.yml:/app/config.yml \
  -p 4000:4000 -p 53:53/udp \
  spx01/blocky
Docker Compose部署

创建docker-compose.yml文件:

version: "2.1"
services:
  blocky:
    image: spx01/blocky
    container_name: blocky
    restart: unless-stopped
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "4000:4000/tcp"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config.yml:/app/config.yml:ro

启动命令:

docker-compose up -d
高级配置示例
version: "2.1"
services:
  blocky:
    image: spx01/blocky
    volumes:
      - ./config.yml:/app/config.yml:ro
      - queryLogs:/logs
      - ./denylists:/app/denylists/
      - ./allowlists:/app/allowlists/
volumes:
  queryLogs:
    driver: local
    driver_opts:
      type: cifs
      o: username=USER,password=PASSWORD,rw
      device: //NAS_HOSTNAME/blocky

此配置实现了:

  • 日志存储到网络共享
  • 自定义黑白名单目录
  • 配置文件只读挂载

多配置文件支持

对于复杂环境,可将配置拆分到多个YAML文件:

./blocky --config ./config/

注意:相同配置项出现在多个文件中会导致启动失败。

系统集成方案

Linux发行版支持

  • Arch Linux:通过AUR仓库安装
  • Alpine Linux:官方仓库提供
  • Gentoo:启用GURU仓库后安装
  • NixOS:提供专用模块

其他平台

  • macOS:通过Homebrew安装
  • FreeBSD:官方ports支持
  • TrueNAS SCALE:通过TrueCharts应用商店安装

性能优化建议

  1. 资源分配:根据查询量适当调整容器资源限制
  2. 缓存配置:合理设置缓存大小和TTL
  3. 日志轮转:定期清理查询日志避免磁盘空间不足
  4. 网络优化:在高延迟网络环境下考虑使用DNS-over-TLS/HTTPS

常见问题排查

  1. 端口冲突:确保53端口未被systemd-resolved等服务占用
  2. 权限问题:检查容器或二进制文件的网络权限
  3. 配置错误:使用--logLevel debug参数获取详细日志
  4. 上游DNS不可达:配置备用上游服务器提高可靠性

通过本文介绍的各种安装方式,您可以根据实际环境需求选择最适合的Blocky部署方案。建议生产环境使用Docker部署,便于管理和维护。

blocky blocky 项目地址: https://gitcode.com/gh_mirrors/bl/blocky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾蕙梅Wayne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值