centos7部署dns服务

1、环境准备

准备一台至少1U2G的虚拟机或服务器

2、安装dnsmasq服务

yum install dnsmasq
systemctl enable dnsmasq

3、修改dnsmasq配置文件,把include外部配置文件注释去掉

# vim /etc/dnsmasq.conf

主要修改以下几个方面

resolv-file=/etc/resolv.dnsmasq.conf        #指定上游dns服务器,因linux自身的resolv.conf只可配置三个DNS服务器,可通过resolv.dnsmasq.conf文件,提供多个上游DNS服务器地址

strict-order        #表示严格按照 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止

listen-address=192.168.90.224,127.0.0.1        #设置为公网IP,可以配置多个ip地址

conf-dir=/etc/dnsmasq.d        # 我们的解析记录都写到这个目录下 ,此行配置默认已启用

log-queries        #记录dns查询日志

log-facility=/var/log/dnsmasq/dnsmasq.log        #设置日志文件存储位置

log-async=50        #启用异步log,缓解阻塞,提高性能。默认为5,最大100

4、添加自己的域名服务器配置文件到/etc/dnsmasq.d/下,以my.conf为例,每行一个域名映射

vim /etc/dnsmasq.d/my.conf
address=/zhgelb.cceonp.com/192.168.0.87
address=/zhgha.huawei.com/192.168.0.55  

重启dnsmasq服务

systemctl restart dnsmasq

5、检查域名服务器是成功

dig -p53 @192.168.0.179 zhgha.huawei.com

注意:如果节点没有dig工具,执行以下命令

yum install bind-utils

6、如果系统安装时选用非最小化安装,系统会已经默认写dnsmasq,为系统默认的虚拟网桥virbr0提供服务,并且53端口已经占用,无法启动

 

 

解决方法:

关闭并删除 virbr0 虚拟网桥
brctl show #查看virbr0网桥
ifconfig virbr0 down #停用virbr0网桥
brctl delbr virbr0 #删除virbr0网桥
systemctl stop libvirtd.service #停用libvirtd服务
systemctl disable libvirtd.service #禁止libvirtd服务开机自启

7、开放防火墙端口

开放udp tcp 53 端口
查看端口是否开放
firewall-cmd --query-port=53/tcp
firewall-cmd --query-port=53/udp

 

开放端口

firewall-cmd --add-port=53/tcp --permanent
firewall-cmd --add-port=53/udp --permanent

防火墙重载,配置生效
firewall-cmd --reload

 

 8、新建resolv.dnsmasq.conf ,此文件用来设置上游DNS地址,位置与文件名必须与resolv.dnsmasq.conf中配置的resolv-file一致。

#vim /etc/resolv.dnsmasq.conf

nameserver 114.114.114.114

nameserver 8.8.8.8

nameserver 202.101.172.35

nameserver 202.101.172.47

9、新建域名解析配置文件,此文件名可以任意,但位置必须与resolv.dnsmasq.conf中配置的conf-dir目录一致。

#vim /etc/dnsmasq.d/address.conf    

address=/www.test1.com/192.167.150.205        #正向解析

address=/test2.com/192.167.150.206        #泛域名解析

ptr-record=207.150.167.192.in-addr.arpa,www.test3.com    #反向解析

ptr-record=208.150.167.192.in-addr.arpa,test3.com        #反向解析

10、开机启动与日志查看

systemctl enable dnsmasq    #将dnsmasq设置成开机自启

systemctl start dnsmasq    #启动dnsmasq服务

 

journalctl -u dnsmasq        #查看dnsmasq是否启动正常

/var/log/dnsmasq.log        #查看dnsmasq解析日志

参考博客园地址:https://www.cnblogs.com/xueyixue/p/13291602.html

posted @ 2020-10-30 14:32  陶清刚  阅读(423)  评论(0)    收藏  举报