合理配置DNS保障冲浪安全

DNS (Domain Name System) 域名系统可以看做是一个库,完成的是从 语义上的域名(例如:www.baidu.com)到 机器可理解的IP(例如:14.215.177.38)的映射。当我们浏览网页时,我们通过输入易读的域名或网址便能访问到目标主机提供的服务,问题是对于人而言我们更能方便的记住域名而计算机底层却在只有知道目标主机的IP地址的情况下才能与之通信。在 输入网址 到 获取资源中间有个过程及其重要,那就是DNS域名解析过程。关于DNS解析的基本原理参见文末参考资料。

DNS域名解析之所以重要是速度、稳定性和安全性三方面的考虑。从用户的角度来讲安全性是比较重要的,但这个因素我们无法考量;稳定性决定用户能够获取互联网服务的可靠性;速度是用户上网时能直接感受到的。有时候我们会觉得网页刷不动,导致这个问题的原因是多方面的:计算机资源枯竭、DNS解析延时长、网页服务器响应时间长等,撇开其他因素不看,单从DNS角度我们看看如何解决网络延时问题。

本文讨论的主要内容:1)主流可用DNS服务器资源;2)不同DNS服务器解析延时比较和查看系统当前使用的DNS解析服务器以及解析延时;3)设置(指定)DNS解析服务器;4)关于使用DNScrypt时的DNS设置注意事项

以下内容均针对Linux平台,对于其他平台查看或设置方法或许不同,本文内容也能有一定的启发意义。

主流DNS服务器资源

DNS解析服务器提供着从域名或网址解析目标主机IP的服务。DNS解析服务器收录的域名信息是否完备、域名解析是否受保护、解析到的是不是就近的主机等因素都将影响服务的速度、安全性和稳定性。选择一个垃圾的DNS服务器可能导致网页加载缓慢、DNS被劫持从而将用户导引到广告页面、用户上网信息泄露等不愉快的冲浪体验。下面将收录一些比较好用的、信誉相对较高的DNS解析服务器。

国内的:

# 114 DNS服务器

114.114.114.114

114.114.115.115

# 阿里 DNS服务器

223.5.5.5

223.6.6.6

# One DNS

112.124.47.27

114.215.126.16

# 腾讯DNS服务器

119.29.29.29

# Baidu  DNS

180.76.76.76

# DNS派

123.125.81.6

101.226.4.6

国外的:

# Google DNS

8.8.8.8

8.8.4.4

# Verisign DNS

64.6.64.6

64.6.65.6

# Level3 DNS

209.244.0.3

209.244.0.4

4.2.2.1

4.2.2.2

4.2.2.3

4.2.2.4

# Comodo Secure DNS

8.26.56.26

8.20.247.20

# OpenDNS

208.67.222.222

208.67.220.220

解析延时和传输路径是有很大关系的,在国内设置国外的DNS时由于每次解析都要翻山越岭地发送请求,解析结果又要漂洋过海才能传回来所以解析时间一般比设置国内DNS要慢很多。此外国外DNS对国内域名以及服务集群的收录可能不完整,会影响对国内网站的访问,相应的对国外网站的解析要全面稳定一些。这种地区差异导致的服务差异在所难免。

DNS解析服务器延时比较

国内外DNS解析服务延时差距一般比较大,国内DNS解析服务延时有差异,国外DNS解析服务有差异但不明显。我们可是使用dig命令来测试DNS解析服务的响应时间。

dig是一款dns查询小程序,Linux系统自带,基本使用方式是

dig @dns-server domain-name

意为使用制定DNS服务器解析特定域名或网址。下面我们通过使用114DNS、One DNS 和 Google DNS、openDNS来比较国内DNS服务器查询区别、国外DNS服务器查询区别以及国内外DNS服务器查询区别。

我们选取 www.jianshu.com 和 www.facebook.com 作为查询域名。

1)国内114DNS

114 简书
114 Facebook

2)国内One DNS

One DNS 简书
One DNS Facebook

3)国外Google DNS

Google DNS 简书
Google DNS Facebook

4)国外openDNS

openDNS 简书
openDNS Facebook

观察发现国内DNS服务器对国内域名解析基本一致,解析延时很短,对国外域名解析结果存在差异而这种差异即便是国外DNS服务器对国外DNS解析也同样存在。国外DNS解析国外网址响应速度极快,相比而言解析国内网址速度要慢得多。国内DNS解析国外网址响应时间与解析国内网址相差无几,猜想可能是因为有墙的原因。另外,国内DNS解析出的国外网址的IP都无法访问,ping丢包率100%,奇怪的是国外DNS解析出的IP有着相同的情况(国外IP能否访问的实验是通过海外vps测试的),可能说明DNS服务器的域名资源不完备。是不是存在其他原因这里并不清楚。。。

关于DNS解析延时可以通过 ping dns-server 的时间估计个大概。网上也有网友提供以下代码来检测当前系统DNS的响应时间:(评估系统DNS解析淘宝网的时间)

curl -o /dev/null -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" "http://www.taobao.com"

具体参数意义和返回结果的解释参见文末参考资料。当前系统使用的DNS罗列在文件 /etc/resolv.conf 中,可使用 cat /etc/resolv.conf 查看。

设置系统DNS服务器

如上文言,系统当前的DNS设置可通过查看resolv.conf 文件知晓。打开 resolv.conf 可见一份以nameserver 开头的列表,该列表罗列了当前系统设置的可用于DNS解析的DNS服务器地址,其中 search lan 表示使用当前局域网的DNS服务器设置,该选项只有当设置网络为自动DHCP获取IP和DNS是才存在。

在网络设置为DHCP自动获取IP和DNS时,首先查询当前局域网设置的DNS服务器,失败后才按照顺序逐个向其他DNS服务器发送查询请求,直到某服务器成功返回查询结果为止。当网络设置为DHCP只获取IP时,系统不会查询局域网DNS设置,而是直接使用系统内设的DNS列表按从上到下的顺序发送DNS请求。

设置系统备选DNS时直接修改/etc/resolv.conf 是不行的,这种修改方式只是临时的,当系统重新启动或网络解析服务重启后设置将丢失。可将备选DNS写入文件夹/etc/resolvconf/resolv.conf.d下的base或head文件中以便长期保留。有一点需要注意的是这样设置的DNS会出现在/etc/resolv.conf列表的最前面,由于网络DNS解析按照自上而下的顺序进行,因此设置的DNS将代替网络自动获取的DNS成为首要解析服务器。解决这个问题我们可以通过在/etc/resolvconf/resolv.conf.d文件夹下新疆 tail 文件并将DNS服务器写入该文件。这样重启系统或网络服务后tail中的DNS列表将追加在系统自动获取的DNS列表后成为备选DNS服务器

使用DNScrypt 进行DNS加密传输的注意事项

DNScrypt 通过将不安全的http传输方式改成安全的https方式来传输DNS解析请求,从而有效避免DNS劫持、篡改等DNS安全隐患,达到加密DNS的目的。

DNScrypt的使用参见 Linux下配置DNScrypt避免DNS污染

自用DNScrypt时遇到一个小问题:自定义DNS备选服务器后 DNScrypt 不能正常工作,查看日志显示 " Unable to retrieve server certificates" 错误。出现这个问题是DNScrypt启动时需要先在其他DNS服务器的辅助下与DNScrypt服务器建立链接,而我设置的备选服务器中第一个服务器是无效的,导致DNScrypt启动时无法与服务器建立链接,删除无效DNS服务器解决问题。


参考资料:

从浏览网页看DNS解析DNS原理总结及其解析过程详解 | curl 查看一个web站点的响应时间(rt) | curl 获取站点的各类响应时间 | Linux下配置DNScrypt避免DNS污染

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容

  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能...
    一直在努力hard阅读 4,590评论 3 19
  • 在使用consul做docker容器服务化的过程中,使用到了dnsmasq做DNS请求转发,于是研究了下DNS协议...
    __七把刀__阅读 3,967评论 2 13
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,838评论 0 7
  • DNS 是什么 DNS (Domain Name System), 也叫网域名称系统,是互联网的一项服务。它实质上...
    interstellar多米诺阅读 2,784评论 0 6
  • 目录: 一些基本概念主机名DNS名称解析DNS 解析的后端存储名称解析总结 大规模域名解析的体系架构DNS 解析需...
    C86guli阅读 12,464评论 3 34