在本文中,我們將探討 DNS 查詢:它們是什麼、如何運作,以及如何影響線上隱私和審查制度。

DNS 查詢是指將您在瀏覽器網址列輸入的網址(可讀的網域名稱)與其對應的 IP 位址進行比對的過程。

所有直接連線到網際網路的裝置,都由稱為 IP 位址的數字標籤來識別。為了方便人類使用,此位址也可以使用更易讀且好記的網域名稱來識別。網域名稱系統 (DNS) 會將這些網域名稱對照到其對應的 IP 位址。

進一步瞭解 IP 位址

例如,Proton VPN 網站使用網域名稱 protonvpn.com,該網域對應於 IP 位址 185.159.159.140。當您在瀏覽器的網址列輸入 www.protonvpn.com 時,網域名稱必須轉換為對應的 IP 位址,電腦才能理解。

此轉換是透過 DNS 進行的。因此,當您輸入 protonvpn.com 時,DNS 會將該網域名稱轉換為 IP 位址:185.159.159.140。這可以讓您的瀏覽器找到並連線到正確的網站。

網域名稱的存在純粹是為了方便人類使用,並非網際網路運作所必需。如果您能記住 IP 位址,也可以直接輸入。若想實際測試,只需在瀏覽器的網址列輸入 185.159.159.140,它就會帶您前往 Proton VPN 網站。

DNS 查詢如何運作

DNS 經常被比喻為電話簿,可交叉參照網域名稱和其對應的 IP 位址。這是理解 DNS 功能的實用類比,但它實際上的運作方式更為複雜。

DNS 解析程式

當您在瀏覽器的網址列輸入網域名稱時,系統會將 DNS 查詢傳送到稱為 DNS 解析程式(也稱為 DNS 遞迴器或簡稱 DNS 伺服器)的特殊伺服器。

顧名思義,DNS 解析程式藉由獲取網域對應的 IP 位址並將其傳送回您的瀏覽器,來「解析」該 DNS 查詢。在得知您想造訪的網站 IP 位址後,您的瀏覽器就可以與其連線。

到目前為止,一切都很簡單。但 DNS 解析程式是如何獲取網域的正確 DNS 位址呢?(由於新的網域不斷建立,且 IP 位址通常是動態分配給網域、因而會定期變更,這使得過程變得更加複雜。)

如何使用 DNS 解析網域

頂級網域(新視窗) (TLD) 的 DNS 查詢通常包含以下步驟:

1. 您在瀏覽器的網址列中輸入 protonvpn.com。您的瀏覽器會透過網際網路將此查詢傳送至 DNS 解析程式

2. DNS 解析程式將查詢傳送至 DNS 根網域名稱伺服器。這部伺服器儲存了關於 TLD 的資訊(例如 .com 或 .net,或是像 .ch 或 .uk 的國家代碼 TLD)。以我們的查詢 (protonvpn.com) 來說,DNS 根網域名稱伺服器會指向適用於「.com」TLD 的 DNS 解析程式。

3. 有了這些資訊,DNS 解析程式現在會向維護所有 .com 網域清單的 .com TLD 名稱伺服器發出查詢。TLD 名稱伺服器會回覆該網域的授權名稱伺服器 IP 位址。

4. DNS 解析程式現在可以查詢該網域的授權名稱伺服器。這通常是由 網域名稱註冊服務商(新視窗)(租賃與管理網域名稱的商家,如 GoDaddy 或 Namecheap)所營運。授權名稱伺服器是該網域資訊的最終真實來源,並能將其 IP 位址傳回給 DNS 解析程式 (在我們的案例中,這會是 185.159.159.140)。

5. DNS 解析程式將正確的 IP 位址傳送到您的瀏覽器,此時瀏覽器便可連線到 185.159.159.140。

DNS 如何運作

在現實中,情況會稍微複雜一些。例如,許多網域與多個 IP 位址相關聯(包括 IPv4 和 IPv6 位址),而且如果您造訪子網域(例如 blog.protonvpn.com),還會有額外的步驟。

在此過程的所有階段,資訊通常也會被快取(儲存在本機)—— 包括您的瀏覽器、DNS 解析程式以及各種名稱伺服器。如果所需的資訊存在於快取中,就不會傳送請求,從而省略某些步驟。

不過在本質上,這就是造訪一般網站時 DNS 的運作方式。

DNS、審查制度與政府監控

在預設情況下,您的瀏覽器會將您的 DNS 查詢傳送給由您的網際網路服務供應商 (ISP)營運的 DNS 解析程式。您的 ISP 可以使用各種方法來查看您在網際網路上的活動,但目前為止最簡單(且成本最低)的方法,就是直接監控您的 DNS 查詢

大多數政府的大規模監控計畫,都仰賴要求 ISP 保存其客戶瀏覽歷程記錄的日誌。而且,因為這既簡單又省錢,大多數 ISP 僅透過保留 DNS 日誌來履行這些法律義務。

同樣地,當政府基於社會、宗教、政治或「道德」因素希望審查網路內容時,他們會要求國內的 ISP 執行這些封鎖。而最簡單的方法就是封鎖針對指定網站和應用程式的 DNS 查詢。

第三方 DNS 服務

若要避開至少部分此類審查和監控,方法之一是使用第三方 DNS 解析程式,例如 Cloudflare 1.1.1.1 或 OpenNIC。

其中部分服務可能擁有良好的隱私權政策,但除非與 DNS 解析伺服器的連線是使用 DNS over TLS (DoT) 或 DNS over HTTPS (DoH) 進行加密,否則您的 ISP 若選擇查看,仍能以純文字的形式看到 these 請求。

加密 DNS 查詢能使 ISP 更難(也因此更花成本)監控您的瀏覽歷程記錄,但如果他們想做,仍然可以相當容易地追蹤您連線到哪些網站和應用程式。

取得 Proton VPN!

DNS 與 VPN

使用 VPN(例如 Proton VPN)時,您與 VPN 伺服器的連線是加密的。您的 ISP 花點功夫可以看出您連線到了屬於 VPN 伺服器的 IP 位址,但僅此而已。

DNS 查詢會透過 VPN 隧道傳送,並由 VPN 供應商進行解析。該供應商可能會營運自己的 DNS 解析程式,或使用第三方的 VPN 解析程式。這不會對隱私造成影響,因為 DNS 查詢看起來是來自 VPN 伺服器,而非 VPN 使用者。

了解 VPN 的運作方式

值得注意的是,使用 VPN 時不需要加密 DNS,因為所有 DNS 查詢無論如何都會透過加密的 VPN 隧道傳送。

另外,不建議將第三方 DNS 解析程式與 VPN 搭配使用。以此方式設定您的系統可能會導致您的 DNS 查詢被傳送至 VPN 隧道之外的第三方 DNS 解析程式。

進一步瞭解 DNS 外洩

NetShield Ad-blocker

Proton VPN 在我們所有的應用程式中皆提供 NetShield Ad-blocker。這是一項 DNS 篩選功能,可封鎖針對已知屬於廣告公司、線上追蹤程式和惡意軟體的網域所發出的 DNS 查詢。它(以及其他類似的 DNS 篩選服務)藉由拒絕解析針對被列入黑名單之網域的 DNS 查詢,在 DNS 解析程式層級發揮作用。

**進一步瞭解** **NetShield Ad-blocker**

從技術上來說,這構成了 DNS 外洩(見下文)。如果 DNS 查詢已加密且您信任該 DNS 解析器,這可能不是什麼大問題,但這會在過程中引入不必要的第三方(因此也成為潛在的弱點)。

DNS 外洩

使用 VPN 時,所有 DNS 查詢都應透過 VPN 通道傳送,並由 VPN 供應商進行解析。如果因為任何原因,DNS 查詢被傳送到 VPN 通道之外的第三方 DNS 解析器,就代表發生了 DNS 外洩。未能妥善將 IPv6 DNS 請求路由通過 VPN 通道,是導致 DNS 外洩的常見原因。

由於此第三方很可能是您的 ISP,因此 DNS 外洩是個嚴重的隱私問題。毋庸置疑,所有 Proton VPN 應用程式都內建強大的 DNS 外洩保護功能。

常見 DNS 記錄類型

以下是一些可供查詢的主要 DNS 記錄類型:

  • A (Address) 記錄:將網域名稱對應至 IPv4 位址。例如:example.com → 192.0.2.1
  • AAAA (Quad A) 記錄:將網域名稱對應至 IPv6 位址。例如:example.com → 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • CNAME (Canonical Name) 記錄:將一個網域名稱對應至另一個網域名稱,實際上是將一個名稱設為另一個名稱的別名。例如:www.example.com → example.com
  • MX (Mail Exchange) 記錄:指定負責代表網域接收電子郵件的電子郵件伺服器。例如:example.com → mail.example.com(優先級 10 —— 優先級數字代表偏好設定,數值越低越優先)。
  • PTR (Pointer) 記錄:將 IP 位址對應至網域名稱,主要用於反向 DNS 查詢。例如:192.0.2.1 → example.com
  • NS (Name Server) 記錄:指定網域的授權名稱伺服器。例如:example.com → ns1.example.com, ns2.example.com
  • SOA (Start of Authority) 記錄:提供有關網域的重要資訊,包括主要名稱伺服器、網域管理員的電子郵件、網域序號(有助於在多部 DNS 伺服器之間管理和同步 DNS 資料),以及重新整理、重試和過期定時器(例如:example.com → ns1.example.com, admin.example.com, 2024041501)
  • TXT (Text) 記錄:保存任意文字資料,通常用於電子郵件驗證(例如 SPF 或 DKIM)和其他驗證用途。例如:example.com → “v=spf1 include:example.com ~all”
  • SRV (Service) 記錄:指定特定服務的伺服器位置,例如 SIP(新視窗) 網路電話協定、XMPP(新視窗) 即時通訊協定等。例如:_sip._tcp.example.com → 0 5 5060 sipserver.example.com
  • CAA (Certification Authority Authorization) 記錄:指定允許哪些憑證授權單位 (CA) 為網域簽發憑證。例如:example.com → 0 issue “letsencrypt.org”
  • NAPTR (Naming Authority Pointer) 記錄:用於網址解析,並為 VoIP 等各種服務定義重寫規則。例如:example.com → 100 50 “s” “SIP+D2U” “” _sip._udp.example.com
  • DNSKEY:包含用於 DNSSEC(旨在為 DNS 增加額外安全防護層的一套規範)的公開簽章金鑰。
  • 。例如:example.com → 256 3 13 …
  • DS (Delegation Signer) 記錄:保存 DNSKEY 記錄的雜湊值,以保護 DNSSEC 中的委派安全。例如:example.com → 12345 13 2 …
  • SPF (Sender Policy Framework) 記錄:用於定義授權哪些 IP 位址代表網域傳送電子郵件。例如:example.com → “v=spf1 ip4:192.0.2.0/24 -all”

DNS 查詢指令

DNS 指令用於查詢、測試 DNS 伺服器與記錄並進行疑難排解。這些指令對於網路管理員確保 DNS 服務正常運作至關重要,因為 DNS 對於將網域名稱解析為 IP 位址是必不可少的。

以下是一些常用的 DNS 指令。您可以在終端機視窗 (Linux)、終端機 (macOS)、命令提示字元 (cmd) 或 PowerShell (Windows) 中執行這些指令,甚至可以在行動裝置上的終端機模擬器應用程式中執行。並非所有這些指令在您的平台上都是「現成可用」的,但幾乎在所有情況下,它們都非常容易安裝。

nslookup

nslookup 指令是個用於查詢 DNS 以取得網域名稱或 IP 位址對應關係的工具。您也可以指定要使用的特定 DNS 伺服器,並執行反向 DNS 查詢。

nslookup

dig

nslookup 相比,dig (Domain Information Groper) 指令是功能更強大且更有彈性的 DNS IP 查詢工具。網路管理員通常因其詳細的輸出和進階選項而更偏好使用它。

dig

透過 dig,您還可以查詢特定的 DNS 記錄類型、查詢特定的 DNS 伺服器,並執行反向 DNS 查詢。

host

host 指令是另一個用於執行 DNS 查詢的工具。它比 dig 更為簡單,但能為基本任務提供足夠的資訊,包括查詢特定的 DNS 伺服器並 執行反向 DNS 查詢。

host

Ping

ping 指令主要用於檢查主機在 IP 網路上的可達性,但在其運作過程中也會執行 DNS 解析。

Ping

traceroute / tracert

traceroute(在 Linux 和 macOS 上)以及 tracert(在 Windows 上)指令用於追蹤封包從來源地到目的地的路徑。它會將網域名稱解析為 IP 位址,並顯示前往目的地途中的每個躍點。

traceroute

ipconfig / ifconfig

ifconfig(在 Linux 和 macOS 上)以及 ipconfig(在 Windows 上)指令可用於顯示網路組態,包括系統正在使用的 DNS 伺服器。單獨使用時,它僅顯示作用中的介面。若要在 Windows 上查看所有介面,請使用 ipconfig /all

ipconfig

DNS 查詢工具

除了上述討論的命令列工具之外,還有許多線上 DNS 查詢工具,它們提供了圖形使用者介面 (GUI) 的方式來查詢 DNS。一個很好的例子是我們免費且安全的 IP 掃描器,它允許您執行一般的 DNS 查詢、MX 查詢、NS 查詢、CNAME 查詢和 TXT 查詢。

DNS 查詢

它也可以執行反向 DNS 查詢(IP 查詢)。

反向 DNS 查詢

結語

從根本上來說,DNS 只是個複雜且自動化的電話簿。它讓人類可以使用網際網路,但它也可能(而且確實)被政府濫用,用來監視其公民並審查他們所看到的內容。避開這些對 DNS 濫用的最佳方法,就是使用 Proton VPN 等 VPN 服務。

VPN 服務會安全地解析您的 DNS 查詢,而不是由您的 ISP 處理,且大多數信譽良好的 VPN 服務都將保護您的隱私視為首要任務。

當然,VPN 還提供了許多其他好處,例如向您造訪的網站隱藏您真實的 IP 位址、提供更強大的保護以防止 ISP 監控或審查您的網路活動、在您旅遊時能夠串流您最喜愛的內容等等。

進一步瞭解使用 VPN 的好處