pfsense
运行软件的路由器最初2.4.5-RELEASE-p1 (amd64)
配置为强制本地网络仅使用OpenDNS
。在此配置中,OpenDNS
记录了所有已解析的域,并且可以查看所有已解析域的列表,甚至只是被阻止的域。
后来,pfBlockerNG-devel 2.2.5_34
在路由器上安装了该程序,以增强 DNS 过滤功能,并允许更多的白名单条目,因为OpenDNS
免费/廉价帐户只允许少量的白名单/黑名单条目。(类别将在该OpenDNS
级别被取消列出,以让pfsense
路由器接管它们并允许额外的白名单大小。)
路由器还配置为阻止来自本地网络的所有出站 DNS 请求,并引导本地客户端使用路由器的 DNS 解析器。在此配置中,实现了改进 DNS 防火墙的目标(pfblockerNG
日志显示大量本地设备 DNS 请求被过滤)。
众所周知,pfBlockerNG
在 的下游运行可能会有些多余OpenDNS
,但记录已解析域名的方法并不明显,因此使用OpenDNS
记录请求似乎是查看在过滤到位后不受欢迎的域名是否仍在被解析的一种方法。
但不幸的是,pfsense
配置更改后,OpenDNS
尽管是路由器的上游 DNS 解析器,但不再记录已解析的域。(配置OpenDNS
没有更改;日志记录已启用。 OpenDNS
仍然知道路由器的公共 IP。)
在路由器中,OpenDNS
中仅列出了 IP 地址(208.67.222.222、208.67.220.220)System / General Setup / DNS Servers
。只有一个 WAN 接口。其他可能相关的设置包括:
DNS Server Override [ ]
Allow DNS server list to be overridden by DHCP/PPP on WAN
If this option is set, pfSense will use DNS servers assigned by a DHCP/PPP server on WAN for its own purposes (including the DNS Forwarder/DNS Resolver). However, they will not be assigned to DHCP clients.
Disable DNS Forwarder [ ]
Do not use the DNS Forwarder/DNS Resolver as a DNS server for the firewall
By default localhost (127.0.0.1) will be used as the first DNS server where the DNS Forwarder or DNS Resolver is enabled and set to listen on localhost, so system can use the local DNS service to perform lookups. Checking this box omits localhost from the list of DNS servers in resolv.conf.
看起来路由器的请求OpenDNS
应该被记录,但是却没有,除了几个例外:
- 中的域名
Firewall > Aliases
已被记录。 - 记录路由器配置中的NTP服务器域。
使用Diagnostics > DNS Lookup
确认路由器正在使用OpenDNS
结果的时间部分。
OpenDNS
要理解为什么没有记录正在解析的域,可能需要考虑什么?本地 DNS 解析和路由器执行的中间解析之间是否存在根本区别?人们认识到pfsense
可能是缓存 DNS,但首先必须填充缓存。
答案1
找到这个pfsense
论坛帖子有助于解决问题:
Mr. Waste Aug 17, 2020, 5:26 PM
Go to:
Services/DNS Resolver/General Settings
Down to:
DNS Query Forwarding
Make sure its checked to be sent to those custom dns servers.
选中此框后,OpenDNS
将再次记录域查询。我仍然不清楚这会如何更改以前的设置以修复日志记录,并且当 DNS 解析似乎在未选中它的情况下正常工作时需要它似乎违反直觉。似乎问题中提到的其他设置应该可以确保使用OpenDNS
,但也许没有。