10.1docker部署dnsmasq
1.下载镜像
docker pull jpillora/dnsmasq
2.新建 /dns/conf/dnsmasq.conf 配置文件
#输出查询日志信息
log-queries
#do not use hosts nameservers
#默认会使用网关server,若需要配置本地局域网自动使用使用本DNS服务,则须将此选项设置为NO
no-resolv
#配置使用的服务,即本地查询不到时,可通过此服务依次进行查询解析,可配置多个,一般为已知的或代理的外网DNS服务
server=10.10.10.3
server=8.8.8.8
#server=/syq/192.168.248.137
#explicitly define host-ip mappings
address=/abc.syq/192.168.248.136
3.运行容器
docker run \
--name dnsmasq \
-d \
-p 53:53/udp \
-p 8080:8080 \
-v /dns/conf/dnsmasq.conf:/etc/dnsmasq.conf \
-v /etc/localtime:/etc/localtime:ro \
-e "HTTP_USER=admin" \
-e "HTTP_PASS=admin" \
--restart always \
jpillora/dnsmasq
4.访问web UI
访问http://{dns-host}:8080,使用admin/admin登录,进入类似如下界面,可直接修改配置,点击save即可快速生效。

5.测试解析
[root@master dns]# ping abc.syq
PING abc.syq (192.168.248.136) 56(84) bytes of data.
From 192.168.2.1 (192.168.2.1) icmp_seq=10 Time to live exceeded
From 192.168.2.1 (192.168.2.1) icmp_seq=25 Time to live exceeded
From 192.168.2.1 (192.168.2.1) icmp_seq=26 Time to live exceeded
From 192.168.2.1 (192.168.2.1) icmp_seq=28 Time to live exceeded
6.配置网关DNS或客户端DNS
配置网关的首选DNS为本服务,局域网内部自动使用本DNS服务,无需客户端再手动设置DNS。
Last updated
Was this helpful?