基于docker搭建DNSmasq

时间:2022-07-24
本文章向大家介绍基于docker搭建DNSmasq,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、概述

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

效果如下:

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

 点击左侧的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

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