将子域的DNS查询转发到另一个端口

我有一些通过DNS提供dynamic信息的软件,类似于DNSBL。

我如何在同一台服务器上运行它作为也服务于其他域的DNS请求的BIND服务器? 我只是需要BINDredirect到一个特定的子域(* .myservice.myname.net)的查询到不同的端口在同一台机器上,我不能只是委托的子域,因为我没有一个IPv4地址,以备用。

据我所知,这是不可能的 。 就好像BIND作者已经明确地走出去,确保没有人能做到这一点 – 至less,不是没有让你的服务器成为一个开放的parsing器。

  • 与其他一些DNS软件不同,BIND不支持“转发”loggingtypes(只是在匹配时使软件查询不同的服务器)。 没有办法在“区域”级别添加转发。
  • 尽pipe可以为子域创build一个转发( type forward )区域,也允许在任意端口上查询DNS服务器,但由于某些原因,这需要启用allow-recursion选项才能工作。
  • 但是, allow-recursion选项不能在区域级别指定 – 它可以是全局选项(并且可以在此处打开服务器的DNS作为公共parsing程序),也可以在“视图”中指定。
  • 视图允许对区域进行分组并对其应用某些选项(包括allow-recursion ),但是,由于它们的目的是通过客户端/服务器IP进行限制,因此它们也不会像预期的那样工作,甚至与未明确指定的区域相匹配他们(从而使您的服务器公共parsing器)。
  • BIND确实有一种方法可以将查询仅限制在视图中明确列出的区域: view级别的空白allow-queryallow-query { any; }; allow-query { any; }; 在区域一级。 不幸的是: option 'allow-query' is not allowed in 'forward' zone 。 这是BIND给你的逐字消息。