dnsmasq搭建文档
一.生产环境域名解析问题
之前生产环境设备较少,是通过维护master(192.168.1.1)设备的hosts文件实现的。每次新增设备后,需要在master的hosts文件中新增ip和主机名,再将master的hosts文件批量拷贝到生产所有已部署设备和新增设备。设备少时维护比较简单,随时设备越来越多,维护起来变得很繁琐,批量拷贝也非常消耗精力。
为了减轻维护成本,和提高维护效率,在生产环境搭建一台dns服务器非常有必要。
进过筛选,dnsmasq这个轻量级的dns服务器,具有开源,搭建简单,维护成本低的优点,符合生产环境需求。
二.安装步骤
1.安装包准备
官方文档
http://www.thekelleys.org.uk/dnsmasq/doc.html
下载地址
http://www.thekelleys.org.uk/dnsmasq/
2.选择服务器
服务器最好专门做dns服务。不要和其他业务设备共用,避免重启设备。
3.安装
3.1解压缩安装包,安装
#dnsmasq需要gcc支持
rpm –qa|grep gcc
tar zxvf dnsmasq-2.70.tar.gz
cd dnsmasq-2.70
make && make install
3.2配置
vim /etc/dnsmasq.conf
no-hosts
#不加载本地的/etc/hosts文件
local-ttl=
#本地缓存时间,通常不要求缓存本地,这样更改hosts文件后即使生效
cache-size=
#最大缓存条数
dns-forward-max=
listen-address=127.0.0.1,192.168.1.1
#如果想要这台服务器做解析,就要填上自己的地址,并且填上127.0.0.1的地址
resolv-file=/etc/resolv.dnsmasq.conf
#这个文件是可以自定义的,我就跟随大流,直接复制了一份resolv.conf改了名称就用了
all-servers
#这条语句的意思就是如果本地没查询到,则想我们的resolv.dnsmasq.conf文件中所有的DNS查询,谁查到的快就用谁的
log-queries
#开启日志选项
log-facility=/var/log/dnsmasq/dnsmasq.log
log-async=
#异步log,缓解阻塞,提高性能。默认为5,最大为100
conf-dir=/etc/dnsmasq.d
#这条应该是最后一句,它的作用其实就是说明该目录下的所有.conf文件都是要做解析的
#配置上级dns地址,用户访问外网使用,生产环境不能访问外网,该步骤可以不做
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
vim /etc/resolv.dnsmasq.conf
nameserver 114.114.114.114
#创建域名解析记录。格式为address=/主机名称/ip地址
vim /etc/dnsmasq.d/hosts.conf
address=/host-a/192.168.1.1
address=/host-b/192.168.1.2
address=/host-c/192.168.1.3
address=/host-d/192.168.1.4
3.3启动服务
mkdir /var/log/dnsmasq/
service dnsmasq start
3.4设置服务为开机启动
chkconfig –level dnsmasq on
3.5测试域名解析
vim /etc/resolv.conf
namesever 192.168.1.1
ping host-c
#通过ping可以看到host-c的ip地址
三.维护
在/etc/dnsmasq.d/目录按设备类别新建conf文件,便于维护。
kafka.conf 存放kafka相关设备
vim /etc/dnsmasq.d/kafka.conf
address=/kafka-a/192.168.1.5
address=/kafka-b/192.168.1.6
address=/kafka-c/192.168.1.7
address=/kafka-d/192.168.1.8
elastic.conf 存放elastic相关设备
……和kafka配置类似
hadoop.conf 存放hadoop相关设备
……和kafka配置类似
tomcat.conf 存放tomcat相关设备
……和kafka配置类似