centos7部署dns服务
准备一台至少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


解决方法:
关闭并删除 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 --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


浙公网安备 33010602011771号