DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式
创建文件夹与拉取镜像文件
# mkdir -p /data/dnsmasq && docker pull storytel/dnsmasq:latest
修改docker配置文件,并且设置dns解析
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"dns":["192.168.99.200"]
}
重启docker服务
serivce docker restart
编辑dnsmasq对应文件
# vi /data/dnsmasq/base.conf
domain-needed
bogus-priv
no-hosts
keep-in-foreground
no-resolv
expand-hosts
server=114.114.114.114
server=8.8.8.8
server=8.8.4.4
# vi /data/dnsmasq/host.conf
address=/www.xxx.com/192.168.99.200
用docker方式启动dnsmasq
docker run -d --name dnsmasq \
--cap-add=NET_ADMIN \
--net=host \
-v /data/dnsmasq:/etc/dnsmasq \
--restart always \
storytel/dnsmasq
进入容器进行测试
# docker exec -it dnsmasq sh
# ping www.xxx.com