不受约束,特定子域和主域的本地区域规则例外

不受约束,特定子域和主域的本地区域规则例外

我有一个简单的规则来将我的指向domain.tld本地地址192.168.0.205。它包含所有内容;所有子域*.domain.tld以及主域本身。

    local-zone: "domain.tld." redirect
    local-data: "domain.tld. IN A 192.168.0.205"

我的负载均衡器位于192.168.0.205,因此为了让请求在内部工作,我需要这样做。但是,我的邮件服务器位于此网络之外,因此我需要对此做出三个例外:smtp.domain.tldimap.domain.tlddomain.tld它本身。我更希望我能让它们通过 ISP 的 DNS,但如果这不可能,我可以忍受在我的配置中设置它们的全局 IP。

我该怎么做?我尝试过使用transparent而不是 ,redirect但无法让它按我想要的方式工作。我认为主要问题之一是处理没有子域前缀的主域。

答案1

使用这种样式,多级通配符子域名:

local-zone: "sub.domain.tld."   redirect
local-data: "sub.domain.tld.  IN  A  222.222.222.222"

local-zone: "domain.tld."   redirect
local-data: "domain.tld.  IN  A   111.111.111.111"

答案2

对于我来说,使用 Unbound v1.9.0 时,此配置有效:

server:
    # Resolve smtp and imap subdomains normally
    local-zone: "smtp.domain.tld" transparent
    local-zone: "imap.domain.tld" transparent

    # Redirect domain.tld to a machine on the LAN
    local-zone: "domain.tld" redirect
    local-data: "domain.tld 3600 IN A 192.168.0.205"

请注意,这些语句的顺序很重要。按照从最具体到最不具体的顺序编写规则。

答案3

要使 MX 记录发挥作用,您可以使用以下构造。对邮件服务器子域使用 transparent。并将 MX 记录添加到重定向部分。

local-zone: "mail.domain.tld." transparent

local-zone: "domain.tld" redirect
local-data: "domain.tld IN A 192.168.0.205"
local-data: "domain.tld IN MX 0 mail.domain.tld."

相关内容