自建DNS缓存服务器加快上网速度

Posted 小四郎的代码园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自建DNS缓存服务器加快上网速度相关的知识,希望对你有一定的参考价值。

我们在浏览网页时,首先要通过DNS服务器来解析网站的地址,解析的时间虽然比较短,但如果DNS服务器的响应速度比较慢,或者DNS请求量过大,都会导致上网时等待时间过长,我们这里通过自己建立轻量级缓存DNS服务器来加快上网速度。同时,自建DNS服务器还可以避免DNS投毒,通过服务器来加快上网速度,提升上网体验。

首先安装dnsmasq这款软件,它可以将访问过的地址存储在本地,这样当给你再次访问这个网址时,就不用请求上级DNS服务器,极大的提高解析速度。

安装dnsmasq:

sudo apt-get install -y dnsmasq

接下来需要配置dnsmasq,打开dnsmasq的配置文件,路径一般是/etc/dnsmasq.conf,配置示例如下:

# Dnsmasq.conf
# /etc/dnsmasq.conf
#http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example

# Set up your local domain here
domain=lxx1.com
resolv-file=/etc/resolv.dnsmasq
min-port=4096
server=8.8.8.8
server=8.8.4.4

# Max cache size dnsmasq can give us, and we want all of it!
cache-size=10000
# Below are settings for dhcp. Comment them out if you dont want
# dnsmasq to serve up dhcpd requests.
# dhcp-range=192.168.0.100,192.168.0.149,255.255.255.0,1440m

# dhcp-option=3,192.168.0.1

# dhcp-authoritative
 

如果你改动过设置,请重启服务:

sudo service dnsmasq restart

好的,DNS已经配置完毕。你可以使用dig lxx1.com 来测试,可以发现,第一次解析需要较长时间,而第二次解析的时间基本为0了。
可以使用 dig 命令来测试解析时间:

~$ dig lxx1.com

; <<>> DiG 9.9.5-3ubuntu0.2-Ubuntu <<>> lxx1.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46171
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;lxx1.com.            IN    A

;; ANSWER SECTION:
lxx1.com.        582    IN    A    121.42.42.51

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jun 24 18:29:02 CST 2015
;; MSG SIZE  rcvd: 42

可以看到 Query time: 1 msec ,速度非常快的,再也不用等待域名解析啦!

以上是关于自建DNS缓存服务器加快上网速度的主要内容,如果未能解决你的问题,请参考以下文章

配置Squid代理服务器

高级级网络工程师面试题60例分析

自建动态DNS(DDNS)服务器

Squid代理服务器的了解与基本配置

windows加快网络访问速度

阿里云专有网络VPC自建NAT网关