Dnsmasq加速本地DNS请求

 

 

 

默认的状况下,咱们平时上网用的本地DNS服务器都是使用电信或者联通的,可是这样也致使了很多的问题,首当其冲的就是上网时常常莫名地弹出广告,或者莫名的流量被消耗掉致使网速变慢。其次是部分网站域名不能正常被解析,莫名其妙地打不开,或者时好时坏。php

若是碰上不稳定的本地DNS,还可能常常出现没法解析的状况。除了要避免“坏”的DNS的影响,咱们还能够利用DNS作些“好”事,例如管理局域网的DNS、给手机App Store加速、纠正错误的DNS解析记录、保证上网更加安全、去掉网页讨厌的广告等等。html

这时候搭建一个属于本身的本地DNS服务器就十分必要了,本篇文章就来分享一下Dnsmasq安装与配置方法,利用Dnsmasq来搭建一个属于本身的本地DNS服务器,享受更干净无污染、更智能快速和没有广告干扰的DNS解析服务。node

选择好的本地DNS可让咱们上网更快更舒心,而对于网站,选择一个好的DNS域名解析服务也是十分重要:浏览器

Dnsmasq安装与配置-搭建本地DNS服务器 享受更干净更快无广告DNS解析缓存

1、Dnsmasq安装安全

一、执行如下命令在VPS上安装Dnsmasq:服务器

yum install dnsmasq -y 
service dnsmasq start

 

2、Dnsmasq配置dom

一、Dnsmasq的配置文件是放在 /etc/dnsmasq.conf 中。测试

 

二、打开编辑,配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 会从这个指定的文件中寻找上游dns服务器。同时取消 strict-order 前面的注册#号。网站

 

三、检查一下no-hosts前面是否是已经有了#号,默认的状况下是有的,dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找。

 

四、设置:listen-address=127.0.0.1,表示这个 dnsmasq 本机本身使用有效。注意:若是你想让本机所在的局域网的其它电脑也可以使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1

 

五、修改好了dnsmasq.conf 后,就能够将它从新上传覆盖原文件了。

六、另外咱们还须要修改/etc/resolv.conf这个文件,执行如下命令:

echo 'nameserver 127.0.0.1' > /etc/resolv.conf
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf
echo 'nameserver 199.91.73.222' > /etc/resolv.dnsmasq.conf
cp /etc/hosts /etc/dnsmasq.hosts
echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf

 

七、resolv.dnsmasq.conf中设置的是真正的Nameserver,能够用谷歌、V2EX等公共的DNS。

3、Dnsmasq启动

一、执行如下命令设置Dnsmasq开机启动并启动Dnsmasq服务:

chkconfig dnsmasq on
/etc/init.d/dnsmasq restart

 

二、执行命令:netstat -tunlp|grep 53 能够查看Dnsmasq是否是已经正常启动:

 

三、测试:dig www.freehao123.com,第一次是没有缓存,因此时间是200多。

 

四、第二次再次测试,由于已经有了缓存,因此查询时间已经变成了0.

 

4、Dnsmasq使用

一、本地DNS。将Dnsmasq做为本地DNS服务器使用,直接修改电脑的本地DNS的IP地址便可。

 

二、应对ISP的DNS劫持。输入一个不存在的域名,正常的状况下浏览器是显示没法链接,DNS劫持会跳转到一个广告页面。先随便nslookup 一个不存在的域名,看看ISP商劫持的IP地址。

 

三、接着编辑/etc/dnsmasq.conf文件,将:bogus-nxdomain=123.123.123.123 加入进去,后面的IP是刚刚查询到的DNS劫持IP地址。

四、重启dnsmasq,再尝试打开不存在的域名,这时浏览器就会显示正常的没法链接页面了。

 

五、智能DNS加快解析速度。打开/etc/dnsmasq.conf文件,server=后面能够添加指定的DNS,例如国内外不一样的网站使用不一样的DNS。

#国内指定DNS
server=/cn/114.114.114.114
server=/taobao.com/114.114.114.114
server=/taobaocdn.com/114.114.114.114
#国外指定DNS
server=/google.com/223.5.5.5

六、server=/cn/表示全部的cn域名都使用114这个公共DNS,server=/taobao.com/表示全部的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS,你能够换成其它的。

七、屏蔽网页广告。将指广告的URL指定127这个IP,就能够将网页上讨厌的广告给去掉了。

address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1

八、指定域名解析到特定的IP上。这个功能可让你控制一些网站的访问,非法的DNS就常常把一些正规的网站解析到不正确IP上。

address=/freehao123.com/123.123.123.123

九、内网DNS。首先将局域网中的全部的设备的本地DNS设置为已经安装Dnsmasq的服务器IP地址。而后修改已经安装Dnsmasq的服务器Hosts文件:/etc/hosts,指定域名到特定的IP中。

十、例如想让局域网中的全部用户访问www.freehao123.com时跳转到192.168.0.2,添加:192.168.0.2 www.freehao123.com在Hosts文件中既可,整个过程也能够说是“DNS劫持”。

[qiangjian@be001 ~]$ dig g.cn 

; <<>> DiG 9.9.4-RedHat-9.9.4-18.el7 <<>> g.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42317
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 8

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;g.cn.				IN	A

;; ANSWER SECTION:
g.cn.			234	IN	A	203.208.40.151
g.cn.			234	IN	A	203.208.40.152
g.cn.			234	IN	A	203.208.40.143
g.cn.			234	IN	A	203.208.40.159

;; AUTHORITY SECTION:
g.cn.			86334	IN	NS	ns3.google.com.
g.cn.			86334	IN	NS	ns1.google.com.
g.cn.			86334	IN	NS	ns2.google.com.
g.cn.			86334	IN	NS	ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.		345210	IN	A	216.239.34.10
ns3.google.com.		101918	IN	A	216.239.36.10
ns4.google.com.		97664	IN	A	216.239.38.10
ns1.google.com.		97664	IN	AAAA	2001:4860:4802:32::a
ns2.google.com.		155008	IN	AAAA	2001:4860:4802:34::a
ns3.google.com.		94591	IN	AAAA	2001:4860:4802:36::a
ns4.google.com.		94591	IN	AAAA	2001:4860:4802:38::a

;; Query time: 1 msec   #查询时间从86 msec到 1msec
;; SERVER: 10.55.21.254#53(10.55.21.254)
;; WHEN: Thu Jun 28 15:01:22 CST 2018
;; MSG SIZE  rcvd: 339
  

5、Dnsmasq小结

一、Dnsmasq做为本地DNS服务器安装方便,操做简单,改动的地方也不是不少,若是用国内的VPS来搭建本地DNS,响应的速度会更快,也更稳定。

二、Dnsmasq的功能强大,反DNS劫持、加快解析速度、屏蔽广告、控制内网DNS、强制域名跳转到特定IP上等这些功能在咱们的实际的生活中都是颇有用的。

相关文章
相关标签/搜索