我们有一个使用 FreeBSD 中 Unbound 的内部网 DNS 服务器。我们还有另一个具有多个网络 IP 的文件服务器,第一个是10.10.10.10
,第二个是 192.168.10.10
。
DNS 服务器有没有办法根据客户端网络为此文件服务器提供不同的 IP?
例如:对于来自 10.10.xx 网络的用户,文件服务器 ip 应该是10.10.10.10
对于来自 192.168.xx 网络的用户,文件服务器 ip 应该是192.168.10.10
。
答案1
如何根据客户端网络为服务器提供不同的IP
对此的行话通常是“水平分割域名系统“。
在 Unbound 中通过“标签和视图“功能。这些使得能够根据客户端的 IP 地址发送特定的 DNS 答案。
标签功能可以将客户端源地址划分为类别(标签),并使用本地区域和本地数据信息来针对这些特定标签。
视图是配置选项的命名列表。支持的视图配置选项是 local-zone 和 local-data。
使用视图子句配置视图。可能有多个视图子句,每个子句都有唯一的名称。例如:
view: name: "firstview" local-zone: example.com inform local-data: 'example.com TXT "this is an example"' local-zone: refused.example.nl refuse
...
可以使用 access-control-view 元素将视图映射到客户端:
access-control-view: 10.0.5.0/24 firstview