Android 似乎繞過了限制對埠 53 的請求的防火牆規則
我正在嘗試配置我的 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.8
DNS 伺服器。果然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 流量的標準埠。
似乎埠 853專用於 DNS 服務,因此阻止此埠(以與埠 53 相同的方式)不會導致任何問題。但是,基於 HTTPS 的 DNS 使用埠 443,該埠並非專用於 DNS 服務,因此不應被阻止。