美文网首页Awesome DockerDocker容器程序员
用一分钟能搭建DNS服务器信么?

用一分钟能搭建DNS服务器信么?

作者: 大猪大猪 | 来源:发表于2017-12-12 00:56 被阅读121次

    这里我们使用dnsmasq对应的docker版本docker-dnsmasq

    使用指南

    下载镜像

    docker pull docker-dnsmasq
    

    创建最简单的配置 /opt/dnsmasq.conf

    #dnsmasq config, for a complete example, see:
    #  http://oss.segetech.com/intra/srv/dnsmasq.conf
    #dns解析日志
    log-queries
    #定义主机与IP映射
    address=/h0/172.17.205.28
    address=/h1/172.17.205.32
    ...
    

    运行容器

    docker run \
        --name dnsmasq \
        -d \
        -p 53:53/udp \
        -p 8080:8080 \
        -v /opt/dnsmasq.conf:/etc/dnsmasq.conf \
        --log-opt "max-size=100m" \
        -e "HTTP_USER=admin" \
        -e "HTTP_PASS=admin" \
        --restart always \
        jpillora/dnsmasq
    

    参数说明

    名称 说明
    max-size 日志最大保存
    HTTP_USER 登录用户名
    HTTP_PASS 登录密码

    访问地扯http://localhost:8080

    • 使用admin/admin帐号密码登录。
    dnsmasq界面

    DNS配置

    • /etc/resolv.conf文件前面增加下面两句
    • 只增加172.17.205.28 DNS会解析失败
    nameserver 127.0.0.1          #必填
    nameserver 172.17.205.28      #必填[本机主要网卡]
    ...
    

    测试

    • 本机与其它机子的配置一样
    • 必填要在前面加才会生效,因为DNS解析会从上往下解析
    root@center ~# ping h1
    PING h1 (172.17.205.32) 56(84) bytes of data.
    64 bytes from 172.17.205.32 (172.17.205.32): icmp_seq=1 ttl=64 time=0.155 ms
    64 bytes from 172.17.205.32 (172.17.205.32): icmp_seq=2 ttl=64 time=0.203 ms
    ^C
    --- h1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.155/0.179/0.203/0.024 ms
    

    增加解析

    • 点击保存即可,过几秒可自动生效
    address=/h0/172.17.205.28
    address=/h1/172.17.205.32
    address=/h2/172.17.205.33
    address=/h3/172.17.205.34
    address=/h4/172.17.205.35
    ....
    

    注意

    • 建议保持其它机子的hostname与上面的配置一样
    • 否则有可能会出现如下问题
    root@asdf ~# ping h0
    ping: h0: Name or service not known
    

    相关文章

      网友评论

        本文标题:用一分钟能搭建DNS服务器信么?

        本文链接:https://www.haomeiwen.com/subject/gzfgixtx.html