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机上测试如下,成功:

  • 相关阅读:
    经典测试面试题
    virsh命令来创建虚拟机
    软件开发模式对比(瀑布、迭代、螺旋、敏捷)
    软件测试 --工作内容
    使用WCF进行跨平台开发之一(WCF的实现、控制台托管与.net平台的调用)
    【开源分享:入门到精通ASP.NET MVC+EF6+Bootstrap】从这里开始,一起搭框架(1)开篇介绍
    开源:ASP.NET MVC+EF6+Bootstrap开发框架
    Quartz.Net 使用
    基于.NET平台常用的框架整理
    .NET中Redis安装部署及使用方法简介
  • 原文地址:https://www.cnblogs.com/openxxs/p/4655612.html
Copyright © 2011-2022 走看看