Firefox启用DNS-Over-HTTPS

在几个月之前Firefox Nightly版就已经支援DNS-Over-HTTPS,不过对于正式版的Firefox来说知道Firefox 60才开始支援DNS-Over-HTTPS,并且该功能默认为禁用的。

firefox-web-demystified

你可能也会感兴趣的文章

启用FireFox Quantum自带翻译系统(Yandex)

Firefox 57+使用userChrome脚本的方法

KeepassXC搭配FireFoxXC-Browser打造最强开源密码存储

0x00 关于DNS Over HTTPS

DNS over HTTPS是一个进行安全化的域名解析的方案,目前尚处于实验性阶段。其意义在于以加密的HTTPS协议进行DNS解析请求,避免原始DNS协议中用户的DNS解析请求被窃听或者修改的问题(例如中间人攻击)来达到保护用户隐私的目的。Google及Mozilla基金会正在测试这一协议,作为其提高网络安全性的努力的一部分。

DNS over HTTPS利用HTTP协议的GET命令发出经由JSON编码的DNS解析请求。较于传统的DNS协议,此处的HTTP协议通讯处于具有加密作用的SSL/TLS协议(两者统称作HTTPS)的保护之下。但是,由于其基于HTTPS,而HTTPS本身需要经由多次数据来回传递才能完成协议初始化,其域名解析耗时较原DNS协议会显著增加。

0x01 Firefox启用DNS Over HTTPS

准备工作

虽然在介绍DNS Over HTTPS的时候你感觉该项技术是一个非常给力的东西,不过由于特殊的情况(可以先看最后的0x03部分),所以不建议在自己常用的配置文件中配置,可以通过新建一个Firefox的配置来完成该项功能的启用。

在运行中输入“firefox.exe -p -no-remote”,新建一个Firefox的配置。

firefox-new-profile(点击放大)

为了便于记忆,可以把配置的名字设置为dns-over-https。创建了新的配置文件后,那么你的设置也不会影响到你的现有配置文件。

开启设置DNS Over HTTPS

1.进入Firefox的配置文件管理,地址栏输入about:config。

2.修改TTR模式。在配置页面中搜索“network.trr.mode”,并修改为相应值。

  • 0:禁用该功能
  • 1:设置Firefox为更快的模式
  • 2:使用DNS Over HTTPS,并配置常规DNS使用
  • 3:仅仅使用TRR模式

这里推荐使用预设值2,毕竟与现有网络兼容性更好

3.搜素“network.trr.uri”,设置其值为相应DNS提供商的网址。主要提供商有Cloudflare、Google与CleanBrowsing,不过小moe对CleanBrowsing不太了解,不做介绍,更推荐使用Cloudflare。

  • https://cloudflare-dns.com/dns-query
  • https://dns.google.com/experimental
  • https://mozilla.cloudflare-dns.com/dns-query
  • https://1.1.1.1/dns-query

将其值设置为以上链接即可,其中1、3、4个链接都代表的是Cloudflare的uri,第二个为Google的uri。

4.搜索“network.trr.bootstrapAddress”,并设置其值为1.1.1.1或者1.0.0.1,在默认情况下优先使用1.1.1.1。

5.重启浏览器即可启用Firefox的DNS Over HTTPS功能。

0x02 检查DNS Over HTTPS是否生效

配置启用好了DNS Over HTTPS,但是怎么知道它是否在工作呢?

打开下面的网址即可完成检查。

#ipleak

https://www.ipleak.net/

ipleak-zero-server(点击放大)

如果显示的DNS Address后面内容为0 servers,那么就说明你的浏览器已经启用了DNS Over HTTPS功能。

0x03 其他

DNS Over HTTPS虽然是个很好的功能,但是由于现阶段很多服务商并不支持DNS Over HTTPS,所以会造成打开一部分国内的网站失败,那么则会影响上网体验;不过如果你长期生活在国外或者主要是浏览国外网站为主的话,那么还是可以试一试这项功能呢。

发表评论