2021-09-25 | 测评 | UNLOCK

NextDNS 使用体验报告

TL;DR

功能很多,配置方便,还支持 DoT / DoH,安全性有了保障。唯一的缺点可能就是速度与大型公共 DNS 相比略慢一筹,不过在日常使用中几乎无感。

前言

域名系统(英语:Domain Name System,以下简称为 DNS)这个名词相信各位都略有耳闻,互联网上也有很多介绍 DNS 的文章。但是很少有人真的会去关注它 (毕竟网络运营商提供的 DNS 又不是不能用),会关注 DNS 安全的人就更少了。最近笔者发现了一款号称永不收集并出售个人隐私数据 [注 1] 的 DNS 服务,名为 NextDNS。在仔细研究了其运作原理、并体验了一段时间之后,笔者写出了这份体验报告。

NextDNS 介绍

官网:nextdns.io
ASN:AS34939
IPv4 地址段:

  • 45.90.28.0/24
  • 45.90.29.0/24
  • 45.90.30.0/24
  • 45.90.31.0/24

IPv4 数量:1024

IPv6 地址段:

  • 2a07:a8c0::/33
  • 2a07:a8c1::/33

IPv6 数量:4294967296

原理

NextDNS 会在用户发起域名解析请求时将请求解析的域名与服务器已有的屏蔽规则进行对比,若为隐私监控域名便立刻返回 0.0.0.0 或 ::,从而达到屏蔽效果。

对比浏览器广告屏蔽器扩展,NextDNS 支持更多屏蔽规则、本地资源占用更少,且不会受硬件设备和浏览器内部 API 调用上限的限制,且 NextDNS 在官网上宣称其服务“嵌入在主要大城市的运营商网络中 — 最大限度地减少跳跃,并在边缘提供无与伦比的低延迟”,速度便有了保障。

使用

NextDNS 的“安装”标签页
登录 NextDNS 账户后的默认界面

事实上,如果只是想临时体验,只需点击 NextDNS 官网上的“立即试用”按钮就能新建一个配置,并在关闭当前浏览器进程前的 7 天内(未试验过,存疑)一直有效。当然你也可以直接把 IPv4 DNS 配置为前文列出的 IPv4 地址段中的任意一个 IPv4 地址,只不过无法享受自定义配置。

NextDNS 的“安全”标签页
“安全”页面,可以设置与安全相关的保护规则

NextDNS 的“隐私”标签页
“隐私”页面,可以设置与隐私相关的域名拦截规则

NextDNS 的“家长监护”标签页
“家长监护”页面

NextDNS 的“黑名单”标签页
“黑名单”页面

NextDNS 的“白名单”标签页
“白名单”页面

NextDNS 的“统计”标签页
“统计”页面,可以查看一些常用数据

NextDNS 的“日志”标签页
“日志”页面,可以查看本次日志记录周期内的所有查询记录

NextDNS 的“设置”标签页
“设置”页面

什么是 DNS Over TLS 和 DNS Over HTTPS ?

不严谨地总结:DNS Over TLS(以下简称 DoT)和 DNS Over HTTPS(以下简称 DoH)都是在 SSL / TLS 运协议上行的 DNS 安全协议,但是 DoT 相对于 DoH 去掉了一个 HTTP 层,所以访问速度会更快。

推荐配置

注:本配置是笔者根据本文写作时 NextDNS 提供的已知功能经过多次测试后生成的最适合笔者本人使用的配置,斜体为可选项,仅供各位配置时参考。对于 NextDNS 未来添加的新功能,请自行测试。

“安全”页面

  • 威胁情报源:默认启用
  • AI-Driven Threat Detection(人工智能驱动的威胁检测):启用
  • Google 安全浏览:默认启用
  • 挖矿病毒保护:默认启用
  • DNS 重新绑定攻击保护:关闭 [注 2]
  • IDN 同构攻击保护:默认启用
  • 误植域名保护:默认启用
  • 域名生成算法(DGA)保护:默认启用
  • 拦截新注册的域名:不建议启用 [注 3]
  • 拦截停放域名:不建议启用 [注 3]
  • 拦截顶级域名(TLD):不建议启用 [注 3]
  • 拦截儿童色情内容:默认启用

“隐私”页面

  • 拦截列表

    • NextDNS 推荐的广告和跟踪拦截列表
    • AdGuard Base filter
    • AdGuard DNS filter
    • AdGuard Tracking Protection filter
    • AdGuard Social Media filter
    • AdGuard Mobile Ads filter [注 4]
    • AdGuard Russian filter [注 5]
    • EasyList
    • EasyList China [注 6]
    • EasyList Germany [注 7]
    • EasyPrivacy
    • Fanboy’s Annoyance List
    • Peter Lowe
    • Steven Black
    • anti-AD [注 6]
    • yhosts [注 6]
    • AdAway Blocking Hosts File for Japan [注 8]
    • RU AdList [注 5]
    • Liste FR [注 9]
  • 深度跟踪保护:添加所有配置

  • 拦截伪装过的第三方跟踪器:默认启用

  • 允许营销和跟踪链接:不建议启用 [注 10]

“家长监护”页面

未使用过,不做配置推荐。

“黑名单”“白名单”页面

因人而异,不做配置推荐。

“设置”页面

  • 日志:默认启用 [注 11]

    • 隐私权调整
      • 记录客户端 IP:默认启用
      • 记录域名:默认启用
    • 保存时长:根据设备数量在“1 天”至“1 个月”浮动设置
    • 存储位置:瑞士
  • 启用拦截页面:关闭

  • 匿名 EDNS 客户端子网:默认启用

  • 缓存提升:启用

  • CNAME 拉平:启用

  • 解析 Handshake 域名:启用 [注 12]

速度

笔者使用的是中国电信 300Mbps 家庭宽带,拥有动态公网 IPv4 / IPv6 地址。

IPv4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
~ $ dig kisaragi.cloud A kisaragi.cloud AAAA @45.90.28.74

; <<>> DiG 9.16.15-Debian <<>> kisaragi.cloud A kisaragi.cloud AAAA @45.90.28.74
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42775
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;kisaragi.cloud. IN A

;; ANSWER SECTION:
kisaragi.cloud. 300 IN A 104.21.58.141
kisaragi.cloud. 300 IN A 172.67.160.90

;; Query time: 64 msec
;; SERVER: 45.90.30.99#53(45.90.30.99)
;; MSG SIZE rcvd: 75

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28169
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;kisaragi.cloud. IN AAAA

;; ANSWER SECTION:
kisaragi.cloud. 300 IN AAAA 2606:4700:3030::6815:3a8d
kisaragi.cloud. 300 IN AAAA 2606:4700:3035::ac43:a05a

;; Query time: 60 msec
;; SERVER: 45.90.28.74#53(45.90.28.74)
;; MSG SIZE rcvd: 99

IPv6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
~ $ dig kisaragi.cloud A kisaragi.cloud AAAA @2a07:a8c0::e1:e8c3

; <<>> DiG 9.16.15-Debian <<>> kisaragi.cloud A kisaragi.cloud AAAA @2a07:a8c0::e1:e8c3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59378
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;kisaragi.cloud. IN A

;; ANSWER SECTION:
kisaragi.cloud. 300 IN A 172.67.160.90
kisaragi.cloud. 300 IN A 104.21.58.141

;; Query time: 52 msec
;; SERVER: 45.90.28.99#53(45.90.28.99)
;; MSG SIZE rcvd: 75

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7560
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;kisaragi.cloud. IN AAAA

;; ANSWER SECTION:
kisaragi.cloud. 300 IN AAAA 2606:4700:3030::6815:3a8d
kisaragi.cloud. 300 IN AAAA 2606:4700:3035::ac43:a05a

;; Query time: 124 msec
;; SERVER: 2a07:a8c0::e1:e8c3#53(2a07:a8c0::e1:e8c3)
;; MSG SIZE rcvd: 99

纸面数据看起来还行,实际体验下来速度也在可接受范围之内。

思考:NextDNS 如何证明其服务具有公正性?

相对于其他大型 DNS 服务提供商,NextDNS 的最大优势就是其提供的“隐私保护”功能,但这就牵涉到一个问题:NextDNS 如何证明其服务具有公正性?就像“裁判下场做选手时如何保证自己不作弊?“这一经典问题一样。依据 NextDNS 官网的信息,该服务隶属的 NextDNS Inc.目前的员工有仅有两位创始人,这么一家小公司,该如何保证其服务的公正性?换句话说,NextDNS Inc.该如何证明自己的公信力?

当然,这仅仅是一个思考的点。以目前的情况来看,其提供的各种隐私控制功能目前看起来相对公平公正,笔者也尝试使用 GNU / Linux 环境下常见的 dig 命令查询了一部分笔者选择屏蔽了的隐私跟踪域名,结果均返回了空地址。而 NextDNS Inc. 的已知盈利方式还是向使用其服务较大量的终端用户收费,暂无打破自己承诺的必要。

结语

经过笔者的体验,给出以下评价。

优点

  • 注重隐私保护
  • 可视化配置界面
  • 中国大陆能够直接访问官网

缺点

  • DoT 域名在中国大陆访问被阻断
  • 无法解决 SNI 污染问题
  • 存在自证公正性问题

综合评价:推荐使用

当然您要是实在不放心的话也可以选择自建 DNS,只不过自建 DNS 依然是递归查询,上游 DNS 服务器依然能直接拿到您的查询请求。

参看

NextDNS 位于 Medium 的技术博客,笔者尝试将其博客中所有的文章译成了中文,共计三篇。

译作 | 我们如何使用 ECS 功能来让 DNS 既快速又私密

译作 | CNAME 隐身,第三方跟踪器的危险伪装

译作 | NextDNS 率先支持屏蔽伪装成第一方的所有第三方跟踪器

注释

[注 1] 来源于 NextDNS 官网 “隐私政策” 页面。

[注 2] 启用后会导致某些内网环境下的页面(如:路由器管理网站)无法打开,故不启用。

[注 3] 若能承受启用带来的影响,可以选择启用。

[注 4] 移动设备过滤规则。若使用设备为电脑,可以选择删除。

[注 5] 俄文网页过滤规则,若使用环境俄文页面较少,可以选择删除。

[注 6] 中文网页过滤规则。若使用环境中中文页面较少,可以选择删除。

[注 7] 德文网页过滤规则,若使用环境中德文页面较少,可以选择删除。

[注 8] 日文网页过滤规则,若使用环境中日文页面较少,可以选择删除。

[注 9] 法文网页过滤规则,若使用环境中法文页面较少,可以选择删除。

[注 10] 关闭后会导致某些分享链接(如 Adjust)无法打开,若能接受此风险,可以选择关闭。

[注 11] 若不需要记录日志,可以选择关闭,同时下属的设置可以跳过。

[注 12] 目前来说没什么作用,可以酌情启用。

评论加载中