配置DNS服务器为所有域返回相同的IP


11

我想配置一个名称服务器,该名称服务器将为任意主机名返回相同的IP地址(“ A”记录)。例如:

  • example.com
  • subdomain.example.com
  • someotherdomain.com
  • anyotherdomain.co.uk

应该都返回相同的IP地址。有没有办法用BIND做到这一点?还是有BIND的替代品可以做到这一点?

Answers:


20

使用BIND,您需要一个伪造的根区域来执行此操作。在中named.conf,输入以下内容:

zone "." {
    type master;
    file "/etc/bind/db.fakeroot";
};

然后,在该db.fakeroot文件中,您将需要以下内容:

@ IN SOA ns.domain.com. hostmaster.domain.com. ( 1 3h 1h 1w 1d )
  IN NS <ip>
* IN A <ip>

使用该配置,BIND将为所有A查询返回相同的IP地址。


工作正常,但主域未解析?有什么想法吗?例如:testdomain.com
opc0de 2014年

这个工作很好。唯一的问题是对该域的NS记录查询可能会爆炸-即它为该区域的NS记录提供服务,而该记录.不会响应任何给定域的NS查询。(但是,这样做可以为正确的A记录提供服务)
Thomas Ward

微软DNS服务器有什么办法吗?
deadManN

8

根据dnsmasq手册页

address=/#/1.2.3.4

应该可以。


谢谢!那很简单。Dnsmasq绝对比BIND更容易配置。
balexand

您知道在dnsmasq中是否还可以对MX记录使用通配符吗?
balexand 2012年

看起来mx-hostmx-target会执行此操作。
Gerald Combs 2012年

1
你知道如何?手册页中未记录通配符与mx-host和的使用,mx-target我无法使其正常工作。我尝试使用与addressoption(#符号)类似的符号。我已经能够得到通配符两个工作AMX使用BIND使用奥利弗的建议,但其实我更喜欢使用的dnsmasq。谢谢!
balexand 2012年

dnsmasq与其说是权威服务器,不如说是递归名称服务器(可以这样使用,但显然不是其主要目标)
Patrick Mevzek,

1

您可以在绑定中进行通配符匹配。

*.example.com.        IN      A       192.0.2.45

这必须在您的域的命名配置文件中定义。如果需要A为域定义其他记录,请小心。


3
您错过了“所有领域”的哪一部分?
ceejayoz

1

您也可以使用工具fakedns。用法非常简单-它将绑定到第53个UDP,并为所有A查询提供相同的IP。您提供IP地址作为命令行参数。到目前为止,最简单的解决方案。需要Python才能运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.