0

我在家庭网络中使用 Bind9 作为 DNS 服务器。此外,我使用响应策略区域来阻止一些特定的域和地址(A 到 127.0.0.1)。

是否可以仅为一个特定客户指定这样的“黑名单”。所以总的来说:Bind9 是否支持特定于客户端的覆盖/名称解析?

最好的问候,蜘蛛侠

4

1 回答 1

0

您可以使用视图在 BIND 中创建特定于客户端的区域解析。

view 语句是 BIND 9 的一个强大功能,它允许名称服务器根据提问者的不同来回答 DNS 查询。它对于实现拆分 DNS 设置而无需运行多个服务器特别有用。

每个视图语句都定义了一个客户端子集可以看到的 DNS 名称空间的视图。如果客户端的源 IP 地址与视图的 match-clients 子句的 address_match_list 匹配,并且其目标 IP 地址与视图的 match-destinations 子句的 address_match_list 匹配,则客户端匹配视图。如果未指定,match-clients 和 match-destinations 默认匹配所有地址。除了检查 IP 地址之外,match-clients 和 match-destinations 还可以获取为客户端选择视图提供机制的密钥。视图也可以指定为 match-recursive-only,这意味着只有来自匹配客户端的递归请求才会匹配该视图。

在视图语句中定义的区域只能由与视图匹配的客户端访问。通过在多个视图中定义同名区域,可以将不同的区域数据提供给不同的客户端,例如,拆分 DNS 设置中的“内部”和“外部”客户端。

options 语句中给出的许多选项也可以在视图语句中使用,然后仅在使用该视图解析查询时应用。当没有给出特定于视图的值时,选项语句中的值将用作默认值。此外,区域选项可以在视图语句中指定默认值;这些特定于视图的默认值优先于选项语句中的默认值。

视图是特定于类的。如果没有给出类,则假定为 IN 类。请注意,所有非 IN 视图都必须包含提示区域,因为只有 IN 类具有编译的默认提示。

如果配置文件中没有视图语句,则会在类 IN 中自动创建与任何客户端匹配的默认视图。在配置文件顶层指定的任何区域语句都被认为是此默认视图的一部分,并且选项语句将应用于默认视图。如果存在任何显式视图语句,则所有区域语句都必须出现在视图语句内。

于 2019-01-14T01:07:44.973 回答