基于docker搭建DNSmasq

发布时间:2020-09-03 11:17:14编辑:admin阅读(216)

    一、概述

    DNSmasq是一个小巧且方便地用于配置DNSDHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

     

    二、安装

    环境说明

    操作系统:centos 7.6

    docker版本:19.03.12

    ip地址:192.168.31.74

     

    下载镜像

    docker pull jpillora/dnsmasq

     

    配置文件

    新建配置文件

    mkdir -p /data/dns/
    vi /data/dns/dnsmasq.conf

    内容如下:

    #dns解析日志
    log-queries
    #域名与IP映射
    address=/lb.guxin.com/172.16.91.165

    说明:

    将lb.guxin.com解析成172.17.205.28

     

    启动

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

    参数解释:

    --log-opt 指定docker容器日志大小

    HTTP_USER web ui 用户名

    HTTP_PASS web ui 密码

    web登录

    http://192.168.31.74:8080/

    输入用户名:admin,密码:123456

    效果如下:

    1.png

     

     

    可以直接在网页上,新增一条

    1.png

     

     点击左侧的save按钮,就会保存并加载。

    三、测试

    安装dns解析工具

    yum -y install bind-utils

     

    解析域名lb.guxin.com,指定dns服务器为192.168.31.74

    # nslookup lb.guxin.com 192.168.31.74
    Server:        192.168.31.74
    Address:    192.168.31.74#53
    
    Name:    lb.guxin.com
    Address: 172.16.91.165

    可以发现,解析记录,正是我们所配置的。

     

     

    本文参考链接:

    https://www.jianshu.com/p/10a47b59853e


关键字