一、概述
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
可以發現,解析記錄,正是我們所配置的。
本文參考鏈接: