一、概述
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了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
可以发现,解析记录,正是我们所配置的。
本文参考链接: