资讯专栏INFORMATION COLUMN

Android Pie 私人 DNS 使用教程

Jonathan Shieber / 2678人阅读

摘要:,传输层安全协议,是,工程任务组制定的一种新的协议。之所以要求私有字段是主机名而非地址,这是因为考虑到移动运营商需要兼顾和共存的问题。

本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux。

​「运维之美」是一个有情怀、有态度,专注于 Linux 运维相关技术文章分享的公众号。公众号致力于为广大运维工作者分享各类技术文章和发布最前沿的科技信息。公众号的核心理念是:分享,我们认为只有分享才能使我们的团体更强大。如果你想第一时间获取最新技术文章,欢迎关注我们!

公众号作者 Mike,一个月薪 3000 的杂工。从事 IT 相关工作 15+ 年,热衷于互联网技术领域,认同开源文化,对运维相关技术有自己独特的见解。很愿意将自己积累的经验、心得、技能与大家分享交流,篇篇干货不要错过哟。如果你想联系到我,可关注公众号获取相关信息。

最近手机更新到了最新的 Android Pie (9.0) 系统,随着系统的更新,就可以体验到 Android Pie 带来了一系列的新特性。比如:全新设计的导航栏以及多任务界面、数字应用、安全和隐私等新功能。其中有一项更新是非常实用的,该功能可以提升用户上网过程中的安全性,它就是:DNS over TLS,在 Android 里叫做 Private DNS(私人 DNS)。

默认情况下,如果网络的 DNS 服务器支持,设备会自动使用 DNS over TLS,但如果用户不希望使用 DNS over TLS,可选择将其关闭。

Android Pie 的 新功能简化了在 Android 配置自定义安全的 DNS 解析程序。当网站提供 DNS 服务时,客户端和网站服务器就会自动进行加密,第三方无法窥视 DNS 查询。因为 Android 9 内置对 DNS over TLS 的支持。同时该 TLS 还负责自动默认 HTTPS 访问网站,在地址栏可看到绿色安全锁图标。这可确保不会被 ISP、移动运营商以及客户端与 DNS 解析程序之间的第三方篡改内容或无法解析。

在讲这个功能之前先来了解一下什么是 DNS 和 DNS 污染。

原理

既然说起 DNS 和其污染问题,就不得不先看看 DNS 系统是如何工作的。

互联网所有通信都是建立在 TCP/IP 的基础上,如果想访问目标网络,就必须知道目标 IP。不过 IP 的数量有限,还有 IP 是由一串数字或十六进制组成的,不是那么好记,所以有了域名。域名本身不具有访问性,它如果想被访问,必须绑定一个或多个 IP,一个 IP 可以绑定一个或多个域名。这时候就有一个问题,如何知道域名指向的是哪个 IP。所以需要一项服务,它记载着所有域名和IP的关系,需要的时候询问它就可以了,这就是 DNS(域名系统)。

以访问 Wikipedia 网站为例。

DNS 解析流程图

图中可以看到我们的 ISP 的 DNS 服务器在图中叫做 DNS Recurser,在解析一个域名的时候,总共经过了以下的步骤:

向 root 服务器获取该 gTLD 的管辖服务器,图中为 org 结尾的域名。

root 服务器返回 org 的管辖服务器。

向 org 的管辖服务器查询,谁来负责解析 wikipedia.org 这个域名的。

org 的管辖服务器返回解析 wikipedia.org 的服务器 IP 地址。

向 wikipedia.org 的解析服务器发出查询,解析 www.wikipedia.org 的 IP 地址。

拿到最终要的 IP 地址。

从上面的 DNS 解析流程可以看出,解析一个域名一共要经历 6 个步骤。

由于 DNS 的数据是以明文传输,所以 DNS 服务器返回的数据在传输的过程中是有可能被篡改的,导致域名指向错误的 IP,引导用户访问错误或恶意的网站。比如:在最后一次查询的时候,有人假冒了 wikipedia.org 的解析服务器,则可以在中间进行欺骗攻击,致使用户最后得到的 IP 地址不是真实的地址。如图所示,

解析请求被劫持

为什么要使用私有 DNS?

从上面的例子我们可以看出,DNS 是存在被劫持和污染的风险的。为了保护用户的上网安全,一些 DNS 加密查询技术因此应运而生。常见的有:DNS over HTTPS、DNSCrypt 和 DNS over TLS。这三种的技术原理大致一样,都是通过一些手段加密用户与 DNS 服务器之间的通信,避免 DNS 污染。

TLS (Transport Layer Security,传输层安全协议),TLS 是 IETF(Internet Engineering Task Force,Internet 工程任务组)制定的一种新的协议。TLS 是在其前身 SSL (Secure Sockets Layer,安全套接层)的基础上发展来的。SSL 也是一种安全协议,其目的是为互联网通信提供安全及数据完整性保障。TLS 它建立在 SSL 3.0 协议规范之上,是 SSL 3.0 的后续版本,可以理解为 SSL 3.1。TLS 协议由两层组成:TLS 记录层(TLS Record)和 TLS 传输层(TLS Handshake)。较低的层为 TLS 记录层协议,位于某个可靠的传输协议(例如:TCP)上面。记录层协议确定传输层数据的封装格式。传输层安全协议使用 X.509 认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。

目前支持 DNS over TLS 的平台不多, Android Pie 就是其中这一。如果你的系统暂时不支持 DNS over TLS,你可以暂时使用 SmartDNS 这个程序来作为本地 DNS 服务器,它支持将 DNS over TLS 作为 DNS 上游服务器。

SmartDNS 项目地址:https://github.com/pymumu/sma...

在 Android Pie 上启用 DNS over TLS

在 Android Pie 上启用 DNS over TLS 的方法非常简单。下面以一加 5 为例,大概需要如下步骤:

打开 [设置] → [WLAN 和互联网] → [私人 DNS] → [私人 DNS 提供商主机名] → 输入 DNS over TLS 提供商提供的主机名 → 保存。

保存以后,如果私人 DNS 下方显示主机名代表配置成功。

私有 DNS 字段并不接受类似 1.1.1.1 这样简单的 IP 地址,而是需要一个主机名。如:dns.google。Google 之所以要求私有 DNS 字段是主机名而非 IP 地址,这是因为考虑到移动运营商需要兼顾 IPv4 和 IPv6 共存的问题。

如果你使用原生 Android Pie 可使用 [设置] → [网络和互联网] → [高级] → [私人 DNS] 。

验证是否生效

如果你使用的是 Cloudflare 提供的私人 DNS,可以访问 https://1.1.1.1/help 进行验证。如果 “使用 DNS over TLS(DoT)” 显示为 “是” 就表示配置成功了。

你也可以访问 https://whoer.net/zh 这个网站来测试 DNS 匿名性。

一些可用的 DNS over TLS 提供商

Google: dns.google

Cloudflare: 1dot1dot1dot1.cloudflare-dns.com

Quad9: dns.quad9.net

CleanBrowsing: security-filter-dns.cleanbrowsing.org

红鱼 DNS: dns.rubyfish.cn

祝大家早日吃上 Andorid Pie。最后我们来搞个小投票,看看大家所使用的手机品牌和系统。

参考文档

https://www.google.com

http://t.cn/EicGa97

http://t.cn/EiVVF4K

http://t.cn/EiVfk7i

http://t.cn/EiVc5Uf

http://t.cn/E2m0Ytz

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110596.html

相关文章

  • dns主机别名怎么用-私人dns主机名设置?

    摘要:选右键新建主机名称处为地址处输入再按添加主机。由于域名和域名均位于同一个区域和域中均在上步已建立好因此应直接使用只需再在域中添加相应主机名即可。如何在dns服务器中设置主机名和ip地址?1、打开DNS控制台选开始菜单→程序→管理工具→DNS。2、建立域名admin.abc.com映射IP地址192.168.0.50的主机记录。①建立com区域选DNS→WY你的服务器名→正向搜索区域→...

    shmily 评论0 收藏0
  • APP漏洞扫描用地址空间随机化

    摘要:同时,阿里聚漏洞扫描器有一个检测项叫未使用地址空间随机化技术该检测项会分析中包含的文件判断它们是否使用了该项技术。在版本上线前使用阿里聚安全漏洞扫描系统进行安全扫描,将安全隐患阻挡在发布之前。 前言 我们在前文《APP漏洞扫描器之本地拒绝服务检测详解》了解到阿里聚安全漏洞扫描器有一项静态分析加动态模糊测试的方法来检测的功能,并详细的介绍了它在针对本地拒绝服务的检测方法。 同时,阿里聚漏...

    LinkedME2016 评论0 收藏0
  • 告别DNS劫持,一文读懂DoH

    摘要:而即使用安全的协议运行,主要目的是增强用户的安全性和隐私性。因此,欺诈者将无法查看请求的并对其进行更改。图片劫持目前,尚未成为上的全球标准,大多数连接仍依赖基本的。到目前为止,仅和两家公司涉足了这一领域。如果评选一个差评服务器榜单,除去育碧高居榜首外,一定也少不了 Nintendo Switch 让人头秃的联网服务。尽管任天堂已经架设了香港 CDN 服务器用于加速,但是更新安装的速度也没有什...

    Tecode 评论0 收藏0
  • Android 9 Pie震撼来袭 同步登陆WeTest

    摘要:本次的推出,腾讯平台对云真机第一时间进行了系统升级,提供安卓机型兼容测试和远程调试服务,持续限免对外开放,为广大开发者提供便利。对应用进行安装登录拉起卸载测试,小时内获得测试报告。 作者:WeTest小编商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:http://wetest.qq.com/lab/view/400.html WeTest 导读 2018年8月...

    testbird 评论0 收藏0
  • react-native 开荒记(一) 开发环境的搭建

    摘要:的命令行工具启动,并在菜单中检查一下是否装有某个版本的。的命令行工具中包含一些必须的工具,比如等。 环境搭建 安装依赖 所用平台: macOS 故文章内容基于macOS平台进行,官方最新react-native 0.58版本 目标平台所需安装的依赖不同 1.当目标平台为ios时  必须安装的依赖有:Node、Watchman 和 React Native 命令行工具以及 Xcode(苹...

    tyheist 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<