我有一个设置,其中一个网络服务器 (bar.com) 为许多子域提供服务,因此使用通配符 DNS 条目会很方便。同时,我想使用 bar.com 作为搜索域,以便 foo 解析为 foo.bar.com。
现在的问题是,如果我这样设置,如果其他地方没有 foo.com,则 foo.com 会解析为 Web 服务器的 IP(即,它首先尝试 foo.com,失败,然后尝试 foo.com.bar.com,与通配符匹配)。
这非常不方便,因为任何主机名拼写错误都会最终到达 Web 服务器,而不会产生错误。有没有办法解决这个问题,而无需明确指定所有子域?我正在考虑制定一条规则,规定只有“裸”主机名(即其中没有点的名称)才应该发送到 Web 服务器。(我使用 BIND 作为 DNS 服务器,但答案可能是一般性的)。
答案1
您不应在同一个 中混合使用通配符域和搜索域resolv.conf
。如果您想尝试,请切换search
到domain
;
# /etc/resolv.conf
nameserver x.y.z.k
domain bar.com
答案2
不幸的是,这是客户端的功能,而不是服务器的功能。
请参阅 man resolv.conf,即对于 unices、windows 可能有不同的规则