Android 似乎绕过了限制端口 53 请求的防火墙规则

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、、在 LAN 外发出 DNS 请求192.168.1.1192.168.1.131

我已重新启动 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 能够绕过访问控制规则?

答案1

事实证明,Android 具有通过 TLS 实现 DNS 的功能,也称为私人 DNS。私有 DNS 设置似乎使用端口 853,而不是端口 53。

DNS over TLS 有自己的端口,即端口 853。DNS over HTTPS 使用端口 443,这是 HTTPS 流量的标准端口。

DNS over TLS 和 DNS over HTTPS 之间有什么区别

看来端口 853 是致力于 DNS 服务,因此阻止此端口(与阻止端口 53 的方式相同)不会造成任何问题。但是,DNS over HTTPS 使用端口 443,该端口并非专用于 DNS 服务,因此不应阻止。

相关内容