生产环境轻量级dns服务器dnsmasq搭建文档

时间:2020-12-23 14:26:24

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配置类似