常見的公共 DNS 伺服器們

前言

這篇文章主要是來講解什麼是 DNS 及 常見隱憂,以及記錄下目前常見的公共 DNS 伺服器們。

DNS 是什麼

舉例來說,當你瀏覽 Google 首頁時,我們可以察覺到網址是 www.google.com,但是其實這樣的條件是沒辦法讓電腦連線的。電腦首先會先去 DNS 伺服器詢問 www.google.com 的 IP 位址是什麼。等 DNS 伺服器回應後,電腦再用所得到的 IP 位址下去連線。

在 Windows 上,你可以透過 cmd 使用 nslookup 來查詢你 DNS 解析出的 IP 位址:

001.jpg

常見的公共 DNS

DNS 有很多種連線方式,包括 IPv4、IPv6、DoT、DoH 等等,我將盡可能的記錄下來。

Google Public DNS

Google Public DNS 是由 Google 所提供的公共 DNS 伺服器。

類型 位址
IPv4 8.8.8.88.8.4.4
IPv6 2001:4860:4860::88882001:4860:4860::8844
DNS64 2001:4860:4860::64642001:4860:4860::64
DNS-over-HTTPS (DoH) https://dns.google/dns-query
DNS over TLS (DoT) tls://dns.google

Cloudflare DNS

Cloudflare DNS 是由 Cloudflare 與 APNIC 所推出的公共伺服器。他有分為很多種版本,請見下方:

一般使用:

類型 位址
IPv4 1.1.1.11.0.0.1
IPv6 2606:4700:4700::11112606:4700:4700::1001
DNS-over-HTTPS (DoH) https://cloudflare-dns.com/dns-query
DNS over TLS (DoT) tls://1dot1dot1dot1.cloudflare-dns.com

過濾惡意網站:

類型 位址
IPv4 1.1.1.21.0.0.2
IPv6 2606:4700:4700::11122606:4700:4700::1002
DNS-over-HTTPS (DoH) https://security.cloudflare-dns.com/dns-query
DNS over TLS (DoT) tls://security.cloudflare-dns.com

過濾惡意網站及成人網站:

類型 位址
IPv4 1.1.1.31.0.0.3
IPv6 2606:4700:4700::11132606:4700:4700::1003
DNS-over-HTTPS (DoH) https://family.cloudflare-dns.com/dns-query
DNS over TLS (DoT) tls://family.cloudflare-dns.com

Quad9

Quad9 是由 IBM 所推出的公共 DNS 伺服器,一樣有分為許多版本:

建議的(DNSSEC、封鎖惡意網站):

類型 位址
IPv4 9.9.9.9149.112.112.112
IPv6 2620:fe::fe2620:fe::9
DNS-over-HTTPS (DoH) https://dns.quad9.net/dns-query
DNS over TLS (DoT) tls://dns.quad9.net

啟用 ECS 版本(DNSSEC、封鎖惡意網站):

類型 位址
IPv4 9.9.9.11149.112.112.11
IPv6 2620:fe::112620:fe::fe:11
DNS-over-HTTPS (DoH) https://dns11.quad9.net/dns-query
DNS over TLS (DoT) tls://dns11.quad9.net

不安全的(無過濾惡意網站、無 DNSSEC):

類型 位址
IPv4 9.9.9.10149.112.112.10
IPv6 2620:fe::102620:fe::fe:10
DNS-over-HTTPS (DoH) https://dns10.quad9.net/dns-query
DNS over TLS (DoT) tls://dns10.quad9.net

Quad 101

Quad 101 是由 財團法人台灣網路資訊中心 (TWNIC) 所推出的公共 DNS 伺服器。

類型 位址
IPv4 101.101.101.101101.102.103.104
IPv6 2001:de4::1012001:de4::102
DNS-over-HTTPS (DoH) https://dns.twnic.tw/dns-query

HiNet DNS

HiNet DNS 是中華電信的 DNS 伺服器,而大部分中華固網的用戶若沒有特別設定,預設也是用這個。

類型 位址
IPv4 168.95.1.1168.95.192.1
IPv6 2001:b000:168::12001:b000:168::2

AdGuard DNS

AdGuard DNS 是由 AdGuard 所推出的公共 DNS 伺服器,主打阻擋廣告與追蹤器,也提供多種版本:

預設伺服器:

類型 位址
IPv4 94.140.14.1494.140.15.15
IPv6 2a10:50c0::ad1:ff2a10:50c0::ad2:ff
DNS-over-HTTPS (DoH) https://dns.adguard-dns.com/dns-query
DNS over TLS (DoT) tls://dns.adguard-dns.com

非過濾伺服器(無封鎖廣告及追蹤器):

類型 位址
IPv4 94.140.14.14094.140.14.141
IPv6 2a10:50c0::1:ff2a10:50c0::2:ff
DNS-over-HTTPS (DoH) https://unfiltered.adguard-dns.com/dns-query
DNS over TLS (DoT) tls://unfiltered.adguard-dns.com

家庭保護伺服器(封鎖廣告、追蹤器及成人內容):

類型 位址
IPv4 94.140.14.1594.140.15.16
IPv6 2a10:50c0::bad1:ff2a10:50c0::bad2:ff
DNS-over-HTTPS (DoH) https://family.adguard-dns.com/dns-query
DNS over TLS (DoT) tls://family.adguard-dns.com

OpenDNS

OpenDNS 是由 Cisco 所推出的公共 DNS 伺服器。

一般使用:

類型 位址
IPv4 208.67.222.222208.67.220.220
IPv6 2620:119:35::352620:119:53::53
DNS-over-HTTPS (DoH) https://doh.opendns.com/dns-query
DNS over TLS (DoT) tls://dns.opendns.com

家庭使用:

類型 位址
IPv4 208.67.222.123208.67.220.123
IPv6 2620:119:35::1232620:119:53::123
DNS-over-HTTPS (DoH) https://doh.familyshield.opendns.com/dns-query
DNS over TLS (DoT) tls://familyshield.opendns.com

常見隱憂

[1] 不夠注重隱私

部分 DNS 業者不一定會非常注重用戶隱私,有可能會記錄下你的查詢紀錄,並當成大數據來研究。如果你對隱私是相當注重的人,那絕對要慎選你所使用的 DNS 伺服器。

[2] DNS RPZ

DNS RPZ (Response Policy Zone) 是一種策略,可以自定義想要解析的網域,也可以拒絕解析不想要的網域。我不能斷定這樣是好還是不好,畢竟他可能會讓你上不了特定的網站。

舉例來說:台灣網路資訊中心 (TWNIC) 就聯合了台灣的電信業者執行 DNS RPZ 的作業,而這將會使部分若被法院裁判的網域做停止解析,你可以在 這裡 看到被封鎖的名單們。

我對這種作法不太欣賞。畢竟網路是自由的,任何人都應該有權利連往任何他們想連上的網站,而不是被政府或特定單位封鎖。因此,若你會在意 DNS RPZ 的問題,請不要使用 Quad 101 或任何台灣業者的 DNS。

[3] EDNS

EDNS 是 Extension Mechanisms for DNS 的縮寫,是 DNS 的延伸安全協定。他是為了確保從 DNS 的內容不會在源頭就被修改,進而阻止駭客進行非法活動,也讓 DNS 查詢變得更加安全。因此,在挑選適合你的 DNS 時,也可以注意到是否有支援哦!

[3] ECS

EDNS Client Subnet 是 ECS 的全名。他並不是所有人都會用到,他比較像是服務提供者所使用的。若上游 DNS 支援 ECS 時,服務提供者會將用戶端的 IP 網段往上送,來選擇與用戶端最近的伺服器。這麼一來,最終用戶就可以提升傳遞數據的速度。

筆者看法

如果你問筆者怎麼選,那我會排除法的方式來做選擇,以下是我在意的幾點:

  1. 延遲要低:如果這個伺服器延遲對你來說偏高,代表該伺服器可能離你很遠,因此解析到的位址可能不會是離你最近的。像是 OpenDNS 及 AdGuard DNS 都沒有台灣據點,因此先淘汰。

  2. 不能有 DNS RPZ:誠如上面所說的,我不是非常欣賞 RPZ 的作法,原因就是比照上面。因此,在這個回合會淘汰 Quad 101 及 HiNet DNS。

  3. 支援 ECS:我有自己的 AdGuard Home 作為 DNS 伺服器,提供朋友們一起使用。因此,我需要 ECS 來讓解析出來的位址更好。Cloudflare 的公共 DNS 曾經表示說:由於隱私問題,所以他們不會提供 ECS 功能,這使得我使用 1.1.1.1 時,都不會獲得最好的結果。因此 Cloudflare 將在此被淘汰。

那我就剩下兩個選擇:Google Public DNS 以及 Quad9。這兩個正是我目前正在使用的 DNS 伺服器哦!提供各位參考。