DNSmasq架设简单DNS服务器

DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务。

实验环境:centos 7.8 mininstall 最小化安装

1 安装dnsmasq软件

yum -y install dnsmasq

启动服务,并设置开机自启,

systemctl enable dnsmasq

systemctl start dnsmasq

 

注意:如果系统安装时选用非最小化安装,系统会已经默认写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服务开机自启

 

2、开放防火墙端口

开放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

 

3、修改配置文件 dnsmasq.conf

配置文件中,未注释的内容信息只有这一个,需要修改配置文件

# 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、新建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

 

5、新建域名解析配置文件,此文件名可以任意,但位置必须与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        #反向解析

 

6、开机启动与日志查看

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

systemctl start dnsmasq    #启动dnsmasq服务

 

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

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

 

7、 dns 测试

在客户机,将dns服务器修改成dnsmasq服务器ip,然后使用nslookup命令进行域名解析

对内部域名进行正向与反向解析测试

对外部域名进行解析测试

 

所有解析记录都保存有日志记录,方便查看

cat /var/log/dnsmasq/dnsmasq.log        #打开dnsmasq.conf设置的日志文件

 

至此,dnsmasq作为dns服务器的简单配置已经完成

油腻中年人,左手盘串,右手鼠标
原文地址:https://www.cnblogs.com/xueyixue/p/13291602.html