Networking

Android 似乎繞過了限制對埠 53 的請求的防火牆規則

  • April 14, 2020

我正在嘗試配置我的 Fios G1100 以強制向我的內部 DNS 伺服器發出 DNS 請求192.168.1.131。該設備執行 Pi-hole,配置為向1.1.1.3和發出 DNS 請求1.0.0.3。這效果很好!

但是,現在我試圖通過手動配置 DNS 來限製網路上的設備繞過 DHCP 的 DNS 伺服器。我最初看到這篇文章,它提供了一種避免這種規避的方法:如何防止使用者使用防火牆規則規避 OpenDNS

因此,我使用以下訪問控制規則設置了我的 Fios G1100:

在此處輸入圖像描述

據我了解,此規則僅允許192.168.1.0, 192.168.1.1,192.168.1.131向 LAN 發出 DNS 請求。

我已重新啟動 G1100 並驗證請求的 DNS 仍在工作並通過192.168.1.131. 他們是。

然後在我的 Mac 上,我進入System Preferences -> Network -> Wi-Fi:Advanced -> DNS並添加了8.8.8.8DNS 伺服器。果然DNS在設備上被阻止了。

然而,當我在我的 Pixel 2 XL 上做同樣的事情時,DNS 請求被解析並被192.168.1.131繞過。我關閉了移動數據,Wi-Fi配置如下:

Proxy:                  None
IP settings:            Static
Privacy:                Use device MAC
IP address:             192.168.1.120
Gateway:                192.168.1.1
Network prefix length:  24
DNS 1:                  1.1.1.1

是什麼允許 Android 繞過訪問控制規則?

事實證明,Android 具有基於 TLS 的 DNS 的能力,也稱為Private DNS。Private DNS 設置似乎使用埠 853 而不是埠 53。

DNS over TLS 有自己的埠,埠 853。DNS over HTTPS 使用埠 443,這是 HTTPS 流量的標準埠。

DNS over TLS 和 DNS over HTTPS 有什麼區別

似乎埠 853專用於 DNS 服務,因此阻止此埠(以與埠 53 相同的方式)不會導致任何問題。但是,基於 HTTPS 的 DNS 使用埠 443,該埠並非專用於 DNS 服務,因此不應被阻止。

引用自:https://serverfault.com/questions/1011809