如何在 Unbound DNS Server 中执行视图

如何在 Unbound DNS Server 中执行视图

我将如何使用BIND“视图”功能在 Unbound 中?我似乎无法在网上找到有关此内容的任何信息。

答案1

Unbound 不支持水平分割 DNS。它主要用作递归和缓存名称服务器,并且仅对提供权威答案提供有限的支持。

在某些情况下,您可以通过其存根区域功能和/或本地数据选项来伪造它,但对于使用分割水平 DNS 的正常情况(具有 RFC1918 地址的网络),Unbound 没有任何功能。

答案2

如果您确实想坚持使用 Unbound,您可以通过在不同的 IP 地址上运行多个 Unbound 实例,然后使用 iptables 根据源地址进行转发来伪造它。

以 192.0.2.1 作为您的服务器的 IP,以 198.51.100.0/24 作为您想要呈现不同视图的范围,您可以执行以下操作:

  • 未绑定1:绑定到192.168.0.2.1:53
  • 未绑定 2:绑定到 127.0.0.1:53(或环回适配器上的另一个 IP 地址)

在 iptables 中放入以下规则(未经测试,但应该可以工作):

iptables -A PREROUTING -s 198.51.100.0/24 -p udp -m udp --dport 53 -j DNAT --to 127.0.0.1:53
iptables -A PREROUTING -s 198.51.100.0/24 -p tcp -m tcp --dport 53 -j DNAT --to 127.0.0.1:53

然而,我不建议这样做,因为 Bind 是完成这项工作的更好的工具,并且像上述这样的黑客行为会给后续的管理员带来麻烦。

答案3

https://nlnetlabs.nl/documentation/unbound/unbound.conf/#access-control-view

server:
    access-control-view: 192.168.4.4 view-test

view:
    name: "view-test"
    local-zone: "example.com" always_nxdomain

答案4

不,Unbound“仅仅”是一个解析器。请尝试使用权威的名称服务器软件。

维基百科有一个特征矩阵明确提到“水平分割”:

http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software#Feature_matrix

相关内容