我目前正在研究如何myip.opendns.com
为自己实现类似 BIND 的功能。基本上,我想使用 DNS 返回客户端的 IP。对于上面提到的服务,这看起来像这样:
$ [dig +short myip.opendns.com @resolver1.opendns.com
1.2.3.4
其中 1.2.3.4 是请求此记录的客户端的 IP。此外,TTL 为 0 可确保此记录不会被缓存(至少在理论上)。
视图和 RPZ 可能用来实现这一点,尽管我不确定究竟如何解决这个问题。
答案1
视图和 RPZ 允许您根据数据包源/目标(视图)、查询本身或上游权威服务器 (RPZ) 的特征定义静态响应。这里的关键词是静态。数据包头和查询会发生变化,但回复始终是预定义的和静态的。
您正在寻找的是一种即时响应合成形式。BIND 不提供任何现成的动态计算唯一响应的功能。有一个用于编写插件的 API,但我不知道有任何预先编写的插件可以解决这个问题。