Docker小巧且方便地用于配置DNS和DHCP的工具 DNSmasq

一、概述

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务和DNS服务结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

二、安装

环境说明

操作系统:centos 7.6
docker版本:20.10.5
ip地址:192.168.25.114

下载镜像

docker pull jpillora/dnsmasq

配置文件
新建配置文件

mkdir -p /data/images/dns
vi /data/images/dns/dnsmasq.conf

 

内容如下

#dnsmasq config, for a complete example, see:
#http://oss.segetech.com/intra/srv/dnsmasq.conf
#不加载本地的 /ettc/hosts文件
no-hosts
#本地缓存时间
local-ttl=3600
#另一个DNS服务地址
server=192.168.250.1
#开启日志选项
log-queries
#异步log,缓解阻塞,提供性能
log-async=100
#最大缓存条数
cache-size=1000000
#DNS转发最大值
dns-forward-max=1000000
#需局解析的域名配置
address=/paas.zhangyin.org/192.168.104.248

 

编辑容器启动文件

vim /data/images/dns/start.sh
chmod +x start.sh

 

内容如下

docker run \
--name dnsmasq \
-d -p 53:53/udp \
-p 8081:8080 \
-v /data/images/dns/dnsmasq.conf:/etc/dnsmasq.conf \
--log-opt "max-size=100m" \
-e "HTTP_USER=admin" \
-e "HTTP_PASS=W@gs2021*" \
--restart always \
jpillora/dnsmasq

 

web登录
http://192.168.25.114:8080/

三、测试

本地配置DNS:192.168.25.114

#nslookup paas.zhangyin.org
Server: 192.168.25.114
Address: 192.168.25.114#53

Name: paas.zhangyin.org
Address: 192.168.104.248

解析正常。

阅读剩余
THE END