首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Dnsmasq加速本地DNS请求

Dnsmasq加速本地DNS请求

作者头像
sunsky
发布于 2020-08-20 05:17:59
发布于 2020-08-20 05:17:59
6.3K00
代码可运行
举报
文章被收录于专栏:sunskysunsky
运行总次数:0
代码可运行

文章目录

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

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

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

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

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

一、Dnsmasq安装

1、执行以下命令在VPS上安装Dnsmasq:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install dnsmasq -y 
service dnsmasq start 

二、Dnsmasq配置

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

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

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

4、设置:listen-address=127.0.0.1,表示这个 dnsmasq 本机自己使用有效。注意:如果你想让本机所在的局域网的其它电脑也能够使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1

5、修改好了dnsmasq.conf 后,就可以将它重新上传覆盖原文件了。

6、另外我们还需要修改/etc/resolv.conf这个文件,执行以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

7、resolv.dnsmasq.conf中设置的是真正的Nameserver,可以用谷歌、V2EX等公共的DNS。

三、Dnsmasq启动

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chkconfig dnsmasq on
/etc/init.d/dnsmasq restart

2、执行命令:netstat -tunlp|grep 53 可以查看Dnsmasq是不是已经正常启动:

3、测试:dig www.freehao123.com,第一次是没有缓存,所以时间是200多。

4、第二次再次测试,因为已经有了缓存,所以查询时间已经变成了0.

四、Dnsmasq使用

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

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#国内指定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

6、server=/cn/表示所有的cn域名都使用114这个公共DNS,server=/taobao.com/表示所有的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS,你可以换成其它的。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
address=/freehao123.com/123.123.123.123

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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

五、Dnsmasq小结

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-06-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用Dnsmasq搭建本地dns服务器上网
搭建一个属于自己的本地DNS服务器很有必要,利用Dnsmasq来搭建一个属于自己的本地DNS服务器,享受更干净无污染、更智能快速和没有广告干扰的DNS解析服务。 一、Dnsmasq安装 安装并启动
SDNLAB
2018/04/02
4.1K0
使用Dnsmasq搭建本地dns服务器上网
DNSmasq详细解析及详细配置
Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。
小俊是我
2018/08/02
147.8K0
DNSmasq详细解析及详细配置
dnsmasq
dnsmasq支持解决DNS,DHCP和router等多方面问题,一个常见的认知dnsmasq是一个本地dns(/etc/resolv.conf)的加强版
zero000
2019/06/15
4.6K0
dnsmasq
Linux安装DNSmasq搭建自己的公共DNS
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度。 安装DNSmasq 可以下载软件包编译安装,不过一般Linux软件仓库已经提供了DNSmasq,相关命令如下: #centos安装 yum -y install dnsmasq #如果是ubuntu系统 apt-get -y install dnsmasq 配置DNSmasq DNS
似水的流年
2018/01/18
8.5K0
DNSmasq简单部署
DNSmasq介绍 根据国际惯例,先介绍下这个玩意是做什么的? DNSmasq能提供DNS解析和DHCP功能,相较于bind则非常轻量级,且配置非常简单 这里只介绍DNS解析的功能,因为DHCP我也不知道 DNS功能 提供DNS解析 应对DNS劫持 智能DNS加快解析速度 安装 yum -y install dnsmasq 配置示例 修改配置文件为: # egrep -v "^#|^$" /etc/dnsmasq.conf resolv-file=/etc/resolv.dnsmasq.conf
dogfei
2020/07/31
2K0
Linux利用dnsmasq实现dns转发
云平台不允许私搭公网dns,得确保自己搞了dns服务后,公网不能访问53端口才行,因此有必要一开始就在安全组限制公网53端口,只放行内网53端口,安全组参考下图
Windows技术交流
2021/09/17
7.6K0
dnsmasq高阶配置详解 - 国内外域名分流解析
dnsmasq支持dns及dns缓存、dhcp、tftp等服务,本文将使用dnsmasq配合国内白名单,实现国内外分流解析,拿到最优的解析节点,提升访问效率。
RokasYang
2022/11/13
17K1
dnsmasq高阶配置详解 - 国内外域名分流解析
DNSMasq 域名解析配置
DNSMasq 主要用来解决内网 DNS 域名缓存、DHCP、网络启动和路由通告功能,本文主要是将 DNSMasq 作为内网 DNS 使用。安装环境为 Ubuntu 16.04。
用户2443625
2018/10/08
9.1K0
DNSMasq 域名解析配置
通过Dnsmasq自建干净的DNS服务
不晓得为撒,用网上的一些公共DNS服务的时候,总是莫名其妙的有些网站无法解析,有时候114能解析,阿里DNS不行或者腾讯DNS不行,导致总是来回切换DNS,很是烦心。
墨渊
2018/05/09
11.4K3
通过Dnsmasq自建干净的DNS服务
DNSmasq的使用(一)
DNSmasq是一个用于配置DNS和DHCP的轻便工具,适合小型网络,利用得当可以防污染,防劫持,消除广告,还可以搭配其他软件实现更多功能
Huramkin
2018/09/17
3.5K0
人人都会做 DNS 泛解析,可 hosts 泛解析你会做吗?
于是乎就在网上找了下资料,发现可以通过 Dnsmasq 来解决这个问题,原理其实就是本机的 DNS 指向 Dnsmasq 服务器,然后 Dnsmasq 通过类似通配符 (*) 的方式进行匹配,凡是匹配到 *.baidu.com 的都解析到 6.6.6.6。 利用 Dnsmasq 实现 hosts 泛解析
iMike
2019/11/07
16.3K1
玩转企业常见应用与服务系列(四):域名系统 DNS 服务详解
前面介绍了企业常用服务 NFS 网络文件共享存储、文件共享服务 FTP 原理与实践、动态主机配置协议 DHCP 相关的知识点,今天我将详细的为大家介绍 域名系统 DNS服务相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发朋友圈支持一波!!!
民工哥
2023/11/17
7880
玩转企业常见应用与服务系列(四):域名系统 DNS 服务详解
Linux中的DNS客户端配置
最近在搞MGR+Consul的MySQL高可用,在使用Consul域名服务的时候,会用到Linux操作系统中的DNS客户端配置,这块儿的知识之前只是在用,今天简单整理一下,希望能有一点点用。
AsiaYe
2019/12/04
18.6K0
如何利用Dnsmasq构建小型集群的本地DNS服务器
上次我们介绍了如何在Windows Server中构建DNS服务器:如何在Windows Server2008搭建DNS服务并配置泛域名解析。
Fayson
2018/03/29
5.2K0
如何利用Dnsmasq构建小型集群的本地DNS服务器
本地用Dnsmasq搭建DNS缓存服务器
已经研究过bind的缓存dns服务器,今天研究下了dnsmasq的dns缓存,发现dnsmasq的配置上要简单得多,比bind上复杂的配置要让新手好上手些,毕竟是本地用太麻烦以后不好维护,好了。看操作吧。  系统:CentOS 5.4  ip:192.168.1.166  需要的软件:dnsmasq 1.安装dnsmasq(centos可以直接用yum安装,或者直接在光盘里找) yum -y install Dnsmasq
星哥玩云
2022/06/28
3.4K0
本地用Dnsmasq搭建DNS缓存服务器
dnsmasq部署
dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。
zero000
2019/04/25
3.2K0
dnsmasq部署
Linux 使用 DNSMasq 自建 DNS 服务器
DNS(Domain Name System) 是一个为计算机、服务器或其他任何需要接入互联网或私有网络提供分级域名分发系统(hierarchical and decentralized naming system)。
宋天伦
2020/07/16
4.4K0
Centos7下Dnsmasq部署,统一管理物理机以及kubernetes所有网络的DNS解析
dnsmasq部署于物理服务器上,而CoreDNS的上游DNS服务器默认会选择物理机网卡上设置的DNS,只要将dnsmasq作为物理机网卡设置的DNS,那么就可以直接设置为CoreDNS的上游DNS服务器了。
Devops海洋的渔夫
2019/05/31
2K0
centos7安装dnsmasq局域网dns
Dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。
超蛋lhy
2019/02/26
2.6K0
0586-5.16.1-如何在CDH5.16.1中安装CDSW1.5
Cloudera在2018年11月29日发布了CDH5.16.1版本,5.16.1的新功能可以参考前一篇文章《0466-CDH5.16.1和CM5.16.1的新功能》,2019年1月29日发布CDSW1.5。CDH5.13版本以后支持CDSW的Parcel安装,本篇文章Fayson就主要讲述如何通过CM5.16.1使用Parcel包安装CDSW1.5。
Fayson
2019/04/28
2K0
0586-5.16.1-如何在CDH5.16.1中安装CDSW1.5
相关推荐
使用Dnsmasq搭建本地dns服务器上网
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验