zoukankan      html  css  js  c++  java
  • 通过Docker配置DNS服务器

    1. 概述

    DockerHub中的 sameersbn/bind 镜像提供了搭建DNS服务器的功能,本文给出使用该镜像搭建DNS服务器的例子。

    2. 环境

    DNS服务器主机 IP:10.11.150.73  域名:master.open.com

    客户端1的 IP:10.11.150.74  域名:node.open.com

    客户端2的 IP:10.11.150.75  域名:node2.open.com

    测试环境中73、74、75机不能连接DockerHub,中转机可连接73、74、75机和DockerHub。

    3. 搭建

    3.1 导入sameersbn/bind镜像

    在中转机中下载sameersbn/bind镜像:

    docker pull sameersbn/bind:latest

    将镜像存出为tar包:

    docker save -o sameersbn_bind.tar sameersbn:bind

    通过scp将tar包复制到73机的/opt/scs/openxxs/目录下(任意具有读写权限的目录均可):

    scp sameersbn_bind.tar scs@10.11.150.73:/opt/scs/openxxs/

    在73机上将镜像导入:

    docker load --input sameersbn_bind.tar

    此时在73机上即有了sameersbn/bind的镜像了:

    3.2 新建并启动DNS服务器容器

    在73机运行如下命令新建并启动容器:

    docker run --name='bind' -d -p 53:53/udp -e WEBMIN_ENABLED=false -v /opt/scs/openxxs/bind:/data sameersbn/bind:latest

    其中--name是将该容器命名为bind;-p 开放53:53/udp端口便于其它主机访问DNS服务器;sameersbn/bind镜像本身安装了一个webmin服务,提供浏览器界面供用户配置域名项,本文通过修改配置文件进行DNS设置,因此通过 -e WEBMIN_ENABLED=false 禁用webmin的服务;-v 挂载73主机的/opt/scs/openxxs/bind目录(也可为其它目录),新建容器后将在该目录下生成bind/ect和bind/lib目录,其中etc目录下为DNS的相关配置文件。

    3.3 参数配置

    修改73、74、75主机的 /etc/resolv.conf 文件,添加如下内容,表示使用73机作为DNS服务器之一:

    nameserver 10.11.150.73

     在/opt/scs/openxxs/bind/bind/etc目录下,打开named.conf文件,内容如下:

    可看出DNS的相关配置信息被分为了named.conf.options、named.conf.local和named.conf.default-zones三个文件。打开named.conf.options文件,修改allow-query 和 allow-transfer 字段为如下内容,表示允许73、74、75机使用73机上的DNS服务。

    打开named.conf.local文件,增加正向解析和反向解析(注意每个zone后面要加上分号):

    基于db.local新建正向解析文件forward.open(与named.conf.local中的命名一致):

    cp db.local forward.open

    内容如下:

    基于db.127新建反向解析文件reverse.open(与named.conf.local中的命名一致):

    cp db.127 reverse.open

    内容如下:

    修改了配置文件之后,需要进入bind容器中重新加载配置文件:

    docker exec -i -t bind bash

    进入bind容器后,里面的 /etc/bind 目录对应的就是73主机中的 /opt/scs/openxxs/bind/bind/etc 目录。先执行如下命令对配置文件的语法进行检查:

    named-checkconf

    语法没有问题后,使用rndc命令重新加载配置信息:

    rndc reconfig

    如果只是修改了某个区域的一些条目,则更新该区域即可,如下命令更新了open.com区域:

    rndc reload open.com

    3.4 测试

    在73机上测试如下,成功:

    在74机上测试如下,成功:

  • 相关阅读:
    Java学习开篇
    《我的姐姐》
    世上本无事,庸人自扰之
    这48小时
    补觉
    淡定
    es java api 设置index mapping 报错 mapping source must be pairs of fieldnames and properties definition.
    java mongodb groupby分组查询
    linux 常用命令
    mongodb too many users are authenticated
  • 原文地址:https://www.cnblogs.com/openxxs/p/4655612.html
Copyright © 2011-2022 走看看