一、概述
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#53Name: lb.guxin.com
Address: 172.16.91.165
可以发现,解析记录,正是我们所配置的。
本文参考链接: