OPNsense中有很多DNS配置选项,一些选项适用于OPNsense本身,而其他选项适用于Unbound DNS和DHCP服务。下面就这些DNS配置选项的设置进行一个简要说明。
常规设置
“系统>设置>常规”是OPNsense中DNS 配置的第一个选项之一,在新安装后运行的第一次启动时,OPNsense向导会提供此页面上的设置选项。由于这些设置被归类在“系统”设置下,因此这些DNS选项与OPNsense本身和在OPNsense上运行的服务有关。
DNS服务器列表
“DNS服务器”指定OPNsense系统在检查和下载更新时使用的DNS服务器,同时也用于DHCP和DNS服务。但是,这些设置会跟是否启用 Unbound DNS而有所不同。
启用Unbound DNS
- Unbound DNS:Unbound DNS服务将递归解析来自根DNS服务器的DNS查询,而不管“允许DNS服务器列表被WAN/DHCP上的DHCP/PPP覆盖”选项和DNS服务器列表的值如何,因为Unbound DNS默认为递归DNS解析器。
- DHCP客户端:网络上的客户端将使用Unbound DNS作为其DNS服务器(每个接口的 IP 地址)。启用Unbound DNS后,客户端不会直接使用“系统>设置>常规”页面上列表中的DNS服务器。
- OPNsense系统:如果启用了“允许WAN上的DHCP/PPP覆盖DNS服务器列表”选项并填写了DNS服务器列表,则OPNsense系统将使用 localhost(使用Unbound DNS服务)、DNS服务器列表中的服务器以及WAN接口上DHCP服务提供的DNS服务器。这可以在“接口>诊断>DNS 查找”页面上从OPNsense系统进行DNS查找时发现这种情况。如果DNS服务器列表为空,则OPNsense系统仅使用localhost和 WAN接口上DHCP服务提供的DNS服务器。
- OPNsense系统:如果禁用了“允许WAN上的DHCP/PPP覆盖DNS服务器列表”选项并填充了DNS服务器列表,则OPNsense系统将使用 localhost(使用Unbound DNS服务)和DNS列表中的服务器。如果DNS服务器列表为空,OPNsense系统将递归解析DNS查询。
禁用Unbound DNS
- DHCP客户端:使用DHCP的客户端将被分配“系统>设置>常规”页面上的列表中的DNS服务器,而不是每个接口的IP地址,因为Unbound DNS已被禁用(即使“允许DNS服务器列表被WAN上的DHCP/PPP 覆盖”选项已启用)。
- DHCP客户端:如果启用了“允许DNS服务器列表被WAN上的DHCP/PPP 覆盖”选项,并且DNS服务器列表为空,则不会向DHCP客户端分配DNS服务器。禁用Unbound DNS时,DHCP客户端将仅使用DNS服务器列表中列出的服务器。
- OPNsense系统:如果启用了“允许DNS 服务器列表被WAN上的DHCP/PPP覆盖”选项并填写了DNS服务器列表,则OPNsense系统将同时使用WAN接口上DHCP提供的DNS 服务器和“系统>设置>常规”页面上的DNS服务器。如果DNS服务器列表为空,OPNsense系统将仅使用WAN接口上DHCP提供的DNS服务器。
- OPNsense系统:如果禁用了“允许WAN上的DHCP/PPP覆盖DNS服务器列表”选项并填写了DNS服务器列表,则OPNsense系统将仅使用列表中的DNS服务器。如果DNS服务器列表为空,则OPNsense系统将不会使用任何DNS服务器,DNS查找将失败。
允许DNS服务器列表被DHCP覆盖
该选项改变了OPNsense、Unbound DNS和DHCP客户端执行的DNS查找的行为。启用该选项后,如果填写了DNS列表,它仍然使用DNS列表中列出的服务器。如果没有在列表中指定任何DNS服务器,它只会使用WAN接口提供的DNS服务器。
本地DNS服务不作为该系统的域名服务器
启用Unbound DNS时,OPNsense系统默认包含为第一个DNS服务器,这意味着OPNsense系统将使用Unbound DNS服务进行DNS查询。如果在DNS服务器列表中指定了服务器,并且启用了“允许DNS服务器列表被WAN上的DHCP/PPP覆盖”选项,则这些DNS服务器也将使用127.0.0.1。如果希望OPNsense系统仅使用列表中的DNS服务器和/或WAN接口上DHCP提供的DNS服务器,可以选中该选项,这会阻止 OPNsense系统使用Unbound DNS服务进行DNS查询(而本地网络的其余部分将使用Unbound DNS服务)。
DHCP设置
在ISC DHCPv4(或 DHCPv6)接口页面,可以为特定网络设置DNS服务器。如果希望为一个或多个本地网络使用不同的DNS服务器,可以在 DHCPv4(或 DHCPv6)接口页面指定。
使用此DNS配置的一个原因是在网络上使用备用DNS服务器,例如Pi-hole DNS服务器。可以使用DHCP服务分配备用DNS服务器,因为默认情况下,启用Unbound DNS时,所有DHCP客户端都会接收接口IP地址作为每个网络的DNS服务器。
DNS over TLS
服务>Unbound DNS>DoT,Unbound DNS可以配置DNS over TLS来加密 DNS 查找。如果在“系统>设置>常规”页面上指定了DNS服务器,或者启用了“允许 DNS 服务器列表被WAN上的DHCP/PPP覆盖”选项,OPNsense系统将使用所有配置的DNS服务器。如果希望加密所有传出的DNS查找,则需要将DNS服务器列表留空,并且不要启用“允许DNS服务器列表被WAN上的DHCP/PPP 覆盖”选项。
查询转发
服务>Unbound DNS>查询转发,启用查询转发将允许在第二个路由器后面进行本地主机名解析,同时将DNS查询上游转发到主网络。如果在主路由器后面的路由器上进行DNS查找时遇到问题,并且不需要为连接到第二个路由器的网络进行任何高级DNS配置,则可能需要使用此选项。
结论
OPNsense的DNS配置体系兼具灵活性与复杂性,用户需明确:
- 是否依赖递归解析(Unbound)
- 是否需要加密传输(DoT)
- 多网络环境下的DNS分发策略
通过模块化组合配置,可以精准适配家庭网络和企业级场景的需求。