【问题标题】:Is there a way to get true client's ip address in dns servers?有没有办法在 dns 服务器中获取真正的客户端 IP 地址?
【发布时间】:2015-06-19 21:18:08
【问题描述】:

据我所知,当 Dns 服务器收到名称翻译请求时,它很有可能来自另一个 Dns 服务器委托(拦截)客户端请求。所以 src Ip 不会是真实客户的地址。是否有 Dns 响应,例如,

这是该域的 CNAME,但请让客户直接向我询问该 CNAME 的记录

或任何其他 DNS 解决方案,以获取请求客户端(不是其他递归 DNS 解析器)的 IP 以获得这样的公共 Dns 将不胜感激

谢谢你

【问题讨论】:

    标签: dns


    【解决方案1】:

    不,远没有那样的东西。

    【讨论】:

    • 感谢您的回复。虽然我自己认为在 DNS 协议中没有解决方案,但请参阅我更新的问题
    • 不幸的是,答案仍然是否定的。例如,考虑两个客户端同时询问递归器的情况。递归器仍然只会向您的服务器发送一个查询。它还会将答案缓存一段时间,在此期间询问您的服务器的任何客户端都不会知道。
    • 当然可以。实际上,我绝望地寻找一些解决方案,协议中的一些额外字段,不仅可以防止递归缓存,还可以让我的其余工作更轻松。无论如何认为它已经完成了。谢谢你,我 +1 你,让这个问题有时是开放的。
    【解决方案2】:

    有一个名为 (ECS) 的 DNS 扩展可以满足您的需求。 它在 DNS 查询中包含 客户端 IP 子网,以便更好地解析。

    另外,在客户端将 DNS 查询 Recursion Desired 位设置为 0 可以进行迭代 DNS 查询。 但这要由客户端来设置flag,并且需要在DNS响应中将TTL设置为0,以防止其他DNS服务器返回缓存记录。

    这两种方法都不能让客户端必须将其真实 IP 发送到 DNS 服务器,也许有更好的方法取决于您要解决的实际问题。

    【讨论】:

      猜你喜欢
      • 2021-07-03
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      • 2015-04-07
      • 2010-09-21
      • 1970-01-01
      相关资源
      最近更新 更多