![pfSense 未将 DNS 转发到相关 VPS](https://linux22.com/image/673381/pfSense%20%E6%9C%AA%E5%B0%86%20DNS%20%E8%BD%AC%E5%8F%91%E5%88%B0%E7%9B%B8%E5%85%B3%20VPS.png)
我们正在运行 Xenserver 虚拟机管理程序,我为 pfSense 创建了 5 个 VM 和 1 个 VM,因此所有 VM 都在连接到 pfSenese LAN 接口的 172.16.0.0/24 范围内。pfSense 有两个接口:LAN(172.16.0.100 作为所有 VM 的网关)和带有 Failover_IP(公共 IP)的 WAN。
我使用我们的 Failover_IP(公共 IP)注册了域名,所有域名都在 ping 通。我们的一个域名是 chineesmetal.com。该域名位于我们的一个 VPS 上,主机名为OracleLinux1.Onlinenics.net
现在我在 pfSense 中尝试如下操作:
- 服务 => DNS 转发器
- 勾选选项
Enable DNS forwarder
&Register DHCP leases in DNS forwarder
- 服务 => DNS 转发器 => 高级 => address=/coldrol.com/172.16.0.1
- 服务 => DNS 转发器 => 主机覆盖并执行以下操作:
但当我在浏览器中访问 chineesmetal.com 时,没有转发,出现以下错误:
Potential DNS Rebind attack detected, see http://en.wikipedia.org/wiki/DNS_rebinding Try accessing the router by IP address instead of by hostname.
我刚刚从 pfSense 中删除了 BIND,并简单地将端口 53(DNS)转发到相关的 VPS,故障转移 IP 上的所有域都开始工作,但我的问题是,对于一个特定 IP 上的一个 vps,它可以工作,但 pfSense 将如何识别其他 vps 域,而每个服务器上的端口都相同,例如端口 80、8443、25、587 110 等。
在这种情况下,如何配置 pfSense?
请指教
答案1
PfSense 中详细记录了这个问题,并给出了解决方法:DNS 重新绑定保护
DNS 转发器 (
dnsmasq
) 默认使用该选项--stop-dns-rebind
,拒绝并记录来自私有 IP 范围内的上游名称服务器的地址。在最常见的用法中,这是过滤从互联网收到的 DNS 响应以防止 DNS 重新绑定攻击。互联网 DNS 响应永远不会返回私有 IP,因此最安全的做法是阻止它。在某些情况下,公共 DNS 服务器默认具有私有 IP 地址回复,但不建议这样做。在这些情况下,可以禁用 DNS 重新绑定,或者在DNS 转发器高级设置框如下:
rebind-domain-ok=/mydomain.com/
请注意,这将自动被 DNS 转发器的域覆盖列表中的域覆盖,因为该功能最常见的用途是解析内部 DNS 主机名。