前言
這篇文章主要是來講解什麼是 DNS 及 常見隱憂,以及記錄下目前常見的公共 DNS 伺服器們。
DNS 是什麼
舉例來說,當你瀏覽 Google 首頁時,我們可以察覺到網址是 www.google.com,但是其實這樣的條件是沒辦法讓電腦連線的。電腦首先會先去 DNS 伺服器詢問 www.google.com 的 IP 位址是什麼。等 DNS 伺服器回應後,電腦再用所得到的 IP 位址下去連線。
在 Windows 上,你可以透過 cmd 使用 nslookup
來查詢你 DNS 解析出的 IP 位址:
常見的公共 DNS
DNS 有很多種連線方式,包括 IPv4、IPv6、DoT、DoH 等等,我將盡可能的記錄下來。
Google Public DNS
Google Public DNS 是由 Google 所提供的公共 DNS 伺服器。
類型 | 位址 |
---|---|
IPv4 | 8.8.8.8 、8.8.4.4 |
IPv6 | 2001:4860:4860::8888 、2001:4860:4860::8844 |
DNS64 | 2001:4860:4860::6464 、2001: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.1 、1.0.0.1 |
IPv6 | 2606:4700:4700::1111 、2606: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.2 、1.0.0.2 |
IPv6 | 2606:4700:4700::1112 、2606: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.3 、1.0.0.3 |
IPv6 | 2606:4700:4700::1113 、2606: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.9 、149.112.112.112 |
IPv6 | 2620:fe::fe 、2620: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.11 、149.112.112.11 |
IPv6 | 2620:fe::11 、2620: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.10 、149.112.112.10 |
IPv6 | 2620:fe::10 、2620: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.101 、101.102.103.104 |
IPv6 | 2001:de4::101 、2001:de4::102 |
DNS-over-HTTPS (DoH) | https://dns.twnic.tw/dns-query |
HiNet DNS
HiNet DNS 是中華電信的 DNS 伺服器,而大部分中華固網的用戶若沒有特別設定,預設也是用這個。
類型 | 位址 |
---|---|
IPv4 | 168.95.1.1 、168.95.192.1 |
IPv6 | 2001:b000:168::1 、2001:b000:168::2 |
AdGuard DNS
AdGuard DNS 是由 AdGuard 所推出的公共 DNS 伺服器,主打阻擋廣告與追蹤器,也提供多種版本:
預設伺服器:
類型 | 位址 |
---|---|
IPv4 | 94.140.14.14 、94.140.15.15 |
IPv6 | 2a10:50c0::ad1:ff 、2a10: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.140 、94.140.14.141 |
IPv6 | 2a10:50c0::1:ff 、2a10: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.15 、94.140.15.16 |
IPv6 | 2a10:50c0::bad1:ff 、2a10: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.222 、208.67.220.220 |
IPv6 | 2620:119:35::35 、2620: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.123 、208.67.220.123 |
IPv6 | 2620:119:35::123 、2620: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 網段往上送,來選擇與用戶端最近的伺服器。這麼一來,最終用戶就可以提升傳遞數據的速度。
筆者看法
如果你問筆者怎麼選,那我會排除法的方式來做選擇,以下是我在意的幾點:
-
延遲要低:如果這個伺服器延遲對你來說偏高,代表該伺服器可能離你很遠,因此解析到的位址可能不會是離你最近的。像是 OpenDNS 及 AdGuard DNS 都沒有台灣據點,因此先淘汰。
-
不能有 DNS RPZ:誠如上面所說的,我不是非常欣賞 RPZ 的作法,原因就是比照上面。因此,在這個回合會淘汰 Quad 101 及 HiNet DNS。
-
支援 ECS:我有自己的 AdGuard Home 作為 DNS 伺服器,提供朋友們一起使用。因此,我需要 ECS 來讓解析出來的位址更好。Cloudflare 的公共 DNS 曾經表示說:由於隱私問題,所以他們不會提供 ECS 功能,這使得我使用 1.1.1.1 時,都不會獲得最好的結果。因此 Cloudflare 將在此被淘汰。
那我就剩下兩個選擇:Google Public DNS 以及 Quad9。這兩個正是我目前正在使用的 DNS 伺服器哦!提供各位參考。