根据谁的要求返回不同的DNS记录


8

BIND 9named)中,是否有任何方法可以A根据请求者的IP地址返回不同的记录?

当接收到特定DNS名称的查询时,我想返回从外部IP接收的查询的外部地址,以及IP从内部子网接收的查询的内部地址。

更新

视图似乎可以正常运行,但是300区域文件中包含有关记录的信息。

如果我只想单条DNS记录以不同的方式返回,是否应该复制整个文件(从现在开始管理两个文件)?


为什么要复制?一个拥有300条记录的站点当然不是手工输入的。它们可能是从配置数据库自动生成的,不是吗?因此,两次生成它们并不重要。
bortzmeyer

Answers:


11

BIND 9有一个功能可以做到这一点,称为“视图”。

关于如何在O'Reilly上使用它们,有一篇很好的文章。

http://www.oreillynet.com/pub/a/oreilly/networking/news/views_0501.html


区域文件中大约有300条记录。如果我只希望单个DNS记录以不同的方式返回,是否应该复制整个文件(并管理两个文件)?
Quassnoi

5
我建议您在视图中为该单个记录创建一个新区域。该区域将是您希望覆盖的记录的完整地址,并且仅包含SOA和@记录。与往常一样,这应避免任何不必要的重复,同时保持该域其余部分的BIND权威性。
丹·卡利

无需复制,BIND可以包含区域文件,因此可以节省您的键入(或编程)时间。
bortzmeyer

2

供您将来参考和搜索之用,这称为“水平分割dns”。许多DNS软件包(包括Djbdns)都支持它。


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.