Dnsasq 搭建本地DNS服务器 Centos

Dnsmasq提供DNS缓存和DHCP服务功能,可以用来在本地或在国内VPS搭建域名解析服务器(DNS)或在国内VPS提高对访问网站的链接速度。

Dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。

基础

安装Dnsmasq

yum install -y dnsmasq

启动Dnsmasq

service dnsmasq start 

设置为开机启动

systemctl enable dnsmasq

以上,Dnsmasq安装完成,接下来进行具体配置。

Dnsmasq的配置文件为/etc/dnsmasq.conf,这个文件包含大量的选项注释,如果想要详细了解其中的内容,可以点击dnsmasq配置文件详解,这里我们只是介绍一下常用的配置功能。

提示

查看配置文件语法是否正确,可执行下列命令:

dnsmasq --test

在修改配置文件后,需要重启dnsmasq生效。

监听地址(数种情况)

listen-address=127.0.0.1                #在本地电脑上运行
listen-address=192.168.x.x              #为局域网提供DNS服务
listen-address=127.0.0.1,192.168.x.x    #多个ip地址设置
listen-address=0.0.0.0                  #不限制连接,也可以直接#注释掉

使用你创建的域名解析文件

resolv-file=/etc/resolv.dnsmasq.conf
strict-order    #严格按照resolv.conf中的顺序进行查找
addn-hosts=/etc/dnsmasq.hosts   #在这个目里面添加记录

在这里,resolv.dnsmasq.conf起到的作用是,当dnsmasq未在本地配置文件中查询到域名配置时,将在该文件所记录的域名服务器中查询。

修改/etc/resolv.conf

echo 'nameserver 127.0.0.1' > /etc/resolv.conf

dnsmasq将读取该文件中的信息,依次按照其中记录的服务器顺序来查询域名。

创建文件
创建 /etc/dnsmasq.hosts

创建 /etc/resolv.dnsmasq.conf ,并在其中添加一个域名服务地址,如

nameserver 114.114,114.114  #国内常用DNS
nameserver 9.9.9.9          #国外著名防恶意网站DNS

查看dnsmasq是否正常启动

netstat -tunlp|grep 53

测试缓存

dig www.abc.com

特色

事实上提供DNS服务的软件有多种,而dnsmasq广受欢迎在于它不止提供了一些基本功能,同样还有着它的特色。(在配置文件之中添加以下代码生效)

强制解析域名

address=/some.domain/1.2.3.4

你可以将某些域名指向无效IP或127.0.0.1,以屏蔽某些广告。

Ps:这个功能如果用bind做的话,那一堆东西大概会令你头大。

制定上游DNS服务器

server=/google.com/8.8.8.8

可以防止DNS污染,不过想要用这招,还是想多了。

屏蔽虚假解析

bogus-nxdomain=202.106.199.34

许多运营商的DNS很流氓,会将一些不存在的域名解析到他们的广告服务器地址。用dnsmasq的这个选项,当dnsmasq发现某个域名返回的ip是指定的ip时,就对客户端返回“该域名不存在”的信息。

你可能感兴趣的:(DNS服务器)