pfSense中的DNS转发器是一个使用dnsmasq守护进程的缓存DNS解析器。 它在当前版本中被默认禁用,默认情况下,DNS解析器(unbound)处于活动状态。 DNS转发器将在之前处于活动状态的旧系统或升级系统上保持启用状态。

 

DNS转发器使用在系统>常规设置中配置的DNS服务器,或使用从ISP自动获取的用于动态配置的WAN接口(DHCP,PPPoE,PPTP)的DNS服务器。 对于静态IP地址广域网连接,必须在系统>常规设置或设置向导期间输入DNS服务器以使DNS转发器正常工作。 静态配置的DNS服务器也可用于动态配置的广域网接口,方法是取消选中允许DNS服务器列表,以便在“系统>常规设置”页面上的广域网上的DHCP / PPP覆盖。

 

默认情况下,DNS转发器将立即查询所有DNS服务器,并且只使用收到的第一个响应并进行缓存。 从客户的角度来看,这会使DNS服务更加快速,并且可以帮助缓解源自间歇性较慢或具有高延迟的DNS服务器的问题,特别是在多WAN环境中。 通过顺序激活查询DNS服务器选项可以禁用此行为。


DNS 转发和 IPv6

DNS转发器与IPv6完全兼容。它接受和查询IPv6,支持AAAA记录,并没有任何与IPv6的任何方面和处理DNS的已知问题。

DNS 转发配置

配置DNS转发,请导航到系统服务 > DNS转发

常用选项如下:

启用:选中此框将打开DNS转发器,或取消选中以禁用此功能。 DNS转发器和DNS解析器不能同时在同一个端口上处于活动状态,因此在尝试启用DNS转发器之前,禁用DNS解析器或将一个服务或另一个服务移动到其他端口。

 

DHCP注册:处于活动状态时,可以使用DNS解析DHCP客户端的内部机器名称。这只适用于在DHCP请求中指定主机名的客户端。系统>常规设置中的域名用作主机上的域名。

 

静态DHCP:这与DNS转发器中的注册DHCP租约的作用相同,只不过它注册了DHCP静态映射地址。

 

首选DHCP:当一个IP地址有多个主机名时,如果其中一个主机名在主机覆盖中,并且系统通过DHCP使用另一个主机名,则执行反向查找可能会产生意外的结果。 选中此选项将使DHCP获得的主机名位于防火墙主机文件中的静态映射之上,首先查询它们。 这只影响反向查找(PTR),因为它们只返回第一个结果而不是多个。 例如,这将产生labserver01.example.com(测试服务器的DHCP获得的IP地址)的结果,而不是testwww.example.com的主机覆盖名称,否则将返回。

 

按顺序查询DNS服务器:默认情况下,防火墙同时查询所有DNS服务器并使用最快的结果。 这并不总是可取的,特别是如果有一个本地的DNS服务器的自定义主机名可以绕过使用更快的公共DNS服务器。 选中此选项后,将按顺序从上到下对每个DNS服务器进行查询,并且在转到列表中的下一个DNS服务器之前,防火墙会等待超时。

 

需要域名:需要将主机名上的域名转发给上游DNS服务器。 仍然会根据主机覆盖和DHCP结果检查没有名称的主机,但不会针对防火墙上配置的名称服务器查询主机。 相反,如果一个简短的主机名本地不存在,NXDOMAIN将(“Not Found”)结果返回给客户端。

 

不要转发专用的反向查找:选中时,此选项可防止dnsmasq为RFC1918专用IP地址向上游名称服务器进行反向DNS(PTR记录)查找。 它仍然会返回来自本地条目的结果。 可以使用反向查找区域的域覆盖条目,例如,1.168.192 .in-addr.arpa,以便对特定子网的查询仍将被发送到特定的DNS服务器。

 

侦听端口:默认情况下,DNS转发器侦听TCP和UDP端口53.这对于任何DNS服务器都是正常的,因为它是端口客户端将尝试使用的端口。 在某些情况下,将DNS转发器移到另一个侦听端口(例如5353或54)是可取的,然后通过端口转发可以将特定的查询转发到那里。

 

接口:默认情况下,DNS转发器侦听每个可用的接口和所有可用的IPv4和IPv6地址。 接口控制限制了DNS转发器接受和回答查询的接口。 除防火墙规则外,还可以用来增加安全性。 如果选择了特定的接口,则该接口上的IPv4和IPv6地址将用于回答查询。 发送到防火墙上的其他IP地址的查询将被静静地丢弃。

 

严格的接口绑定:设置后,DNS转发器将只绑定到包含在接口控件中选择的IP地址的接口,而不是绑定到所有接口并丢弃对其他地址的查询。 这可以类似于侦听端口使用,以控制服务绑定的方式,以便它可以与其他具有类似选项的DNS服务共存。



注意

在当前版本的DNS转发器守护进程dnsmasq中,此选项与IPv6不兼容。如果选中此项,则dnsmasq进程将不会绑定到任何IPv6地址。


高级选项

在GUI中不可配置的自定义dnsmasq配置参数可以放置在高级选项中。 例如,要为DNS记录设置较低的TTL,请输入max-ttl=30。 或者制作通配符DNS记录,通过指定address=/lab.example.com/192.2.5.6.lab.example.com解析为192.2.5.6

用空格或换行符分隔命令。有关可能使用的参数的更多信息,请参阅dnsmasq文档

主机覆盖

主机覆盖条目提供了配置自定义DNS条目的方法。该配置与DNS解析器中的主机覆盖相同。

域覆盖

域覆盖配置备用DNS服务器用于解析特定的域。该配置与DNS解析器中的域覆盖相同,只是略有不同:

: 域字段设置将使用此条目解析的域名。 这不一定是一个有效的TLD,它可以是任何东西(例如local, test, lab),或者它可以是一个真正的域名(example.com)。

 

IP地址: 该字段可以以三种方式之一使用。 首先,它可以用来指定发送域中主机名查询的DNS服务器的IP地址。 其次,可以通过输入#来覆盖另一个条目。 例如,要将example.com转发到192.2.66.2,但将lab.example.com转发到标准名称服务器,请在此字段中输入#。 第三,通过输入!可以防止非本地查找。 如果www.example.orgmail.example.org存在主机覆盖条目,但不能将example.org下主机的其他查找转发到远程DNS服务器,请输入! 在这个领域里。

 

源IP: 该字段是可选的,主要用于通过×××联系DNS服务器。 通常只有特定的本地IP地址能够穿越×××,这个字段指定防火墙上的哪个IP地址被用来发送DNS,以便查询能够正确传递。

 

描述: 用于识别或提供有关此条目的更多信息的文本说明。


DNS 转发和多WAN

DNS转发器完全兼容多WAN。在系统>常规设置下,在每个WAN网关上至少配置一个DNS服务器。

DNS 转发和DNS重绑定保护

默认情况下,启用DNS重新绑定保护,并拒绝私有IP地址响应。 要允许来自已知域的专用IP地址响应,请使用DNS转发设置中的“高级选项”框来配置允许的域,如下所示:

rebind-domain-ok=/example.com/


翻译自pfsense book   


2017-1-9