docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker部署BIind9 DNS服务器

Docker部署BIind9 DNS服务器过程

作者:学亮编程手记

这篇文章主要介绍了Docker部署BIind9 DNS服务器过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、环境准备

安装 Docker 环境

创建持久化存储目录

mkdir -p /opt/docker/bind  # 用于存储配置文件和区域数据

二、部署 BIND DNS 容器

方案一:直接通过 docker run 命令部署

docker run -d --name dns-server \
  --restart=always \
  --publish 53:53/tcp \      # 开放 DNS 服务 TCP/UDP 端口
  --publish 53:53/udp \
  --publish 10000:10000/tcp \  # Webmin 管理界面端口
  --volume /opt/docker/bind:/data \  # 挂载配置目录
  --env ROOT_PASSWORD=your_password \  # 设置 Webmin 登录密码
  --env TZ='Asia/Shanghai' \       # 指定时区
  --env WEBMIN_INIT_SSL_ENABLED=false \  # 可选:禁用 SSL(若通过代理管理)
  sameersbn/bind:9.16.1-20200524

方案二:通过 Docker Compose 部署(推荐)

创建 docker-compose.yml 文件:

version: '3.1'
services:
  dns:
    image: sameersbn/bind:9.16.1-20200524
    container_name: dns-server
    restart: always
    environment:
      TZ: 'Asia/Shanghai'
      ROOT_PASSWORD: your_password  # Webmin 密码
      WEBMIN_ENABLED: 'true'        # 启用 Webmin
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "10000:10000/tcp"
    volumes:
      - ./data:/data                # 数据持久化目录
    networks:
      - dns-network                 # 可选:自定义网络

networks:
  dns-network:
    external: true

启动服务:

docker compose up -d

三、Webmin 管理界面配置

访问 Webmin

基础设置

四、配置 DNS 解析规则

创建主区域(正向解析)

添加 A 记录

反向解析(可选)

应用配置

docker restart dns-server

五、客户端测试与使用

配置客户端 DNS

修改客户端 DNS 服务器地址为 BIND 容器所在宿主机的 IP。

解析验证

nslookup www.example.com 192.168.1.200  # 指定 DNS 服务器查询
ping www.example.com                    # 验证解析结果

缓存刷新(若需)

六、注意事项与优化

防火墙与 SELinux

转发外部 DNS(可选)

性能与安全

常见问题:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文