AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1860591
Accepted
security_paranoid
security_paranoid
Asked: 2024-11-03 14:31:11 +0800 CST2024-11-03 14:31:11 +0800 CST 2024-11-03 14:31:11 +0800 CST

路由器的 DNS 缓存是否在所有用户之间共享?

  • 772

最近我问了一个关于路由器 DNS 缓存的问题,现在我又想问一些其他的问题:

  • 假设 Bob 和 Alice 共享一个 LAN,该路由器具有本地 DNS 缓存。

  • Bob 访问一个新域名,该域名由 DNS 提供商解析,并存储在路由器的缓存中。

  • 现在,如果 Alice 稍后访问同一个域,她是否可以使用缓存中 Bob 的早期信息?

换句话说,路由器的 DNS 缓存是在所有用户之间共享,还是仅供每个单独的用户共享?

networking
  • 3 3 个回答
  • 764 Views

3 个回答

  • Voted
  1. Best Answer
    Zac67
    2024-11-03T15:52:50+08:002024-11-03T15:52:50+08:00

    路由器和 DNS 服务器上只有一个 DNS 缓存,因此它最终在用户/客户端之间共享。

    可能有例外,但我还没有见过。

    • 7
  2. LPChip
    2024-11-03T22:23:45+08:002024-11-03T22:23:45+08:00

    DNS 服务器缓存 DNS 查询,任何在该 DNS 服务器上请求 DNS 解析的客户端都将使用 DNS 服务器的缓存。

    DNS 服务器位于何处并不重要。它可以位于 Windows Server 上,也可以位于路由器上。它们的工作原理相同。

    请注意,当 DNS 服务器执行 DNS 查询时,它不仅会获取该域的 IP 地址,还会获取 TTL 值(即生存时间)。

    这个 TTL 值基本上会告诉 DNS 服务器这个结果在过期之前应该缓存多长时间。

    因此,即使 Bob 首先请求 DNS 并获取缓存的 ipaddress,如果该条目的 TTL 仅为 1 小时,而 Alice 在 1.5 小时后请求同一域,则 TTL 已过期,因此 DNS 会首先刷新,因此 Alice 可能会获得与 Bob 不同的 ip 地址,具体取决于 DNS 的配置方式。

    当然,如果缓存条目尚未过期,Alice 将获得相同的 IP 地址。第二个请求当然不会刷新缓存中的 TTL 值。假设 Bob 发出一个 TTL 为 1 小时的 DNS 请求,Alice 在 45 分钟后发出相同的请求,结果从缓存中获取。现在 Andrew 在 30 分钟后发出另一个请求,条目 TTL 已过期 15 分钟,因此 DNS 服务器执行新的互联网请求,并将新条目存储在缓存中。它可能是相同的 IP 地址,但也可能是不同的 IP 地址。

    一个域可能有多个具有不同 IP 地址和短 TTL 值的 A 记录,因此 Bob 和 Alice 将获得不同的 IP 地址。

    • 7
  3. DavidT
    2024-11-04T04:47:19+08:002024-11-04T04:47:19+08:00

    您实际上在这里问两个问题:

    还是仅适用于每个单独的用户?

    DNS 协议中没有任何内容可以识别特定用户,因此 DNS 服务器无法根据特定用户缓存数据。

    路由器的 DNS 缓存是否在所有用户之间共享?

    在典型的家庭路由器配置中,缓存几乎肯定是共享的。

    但是有一些不常见的选项(读取服务器必须明确配置才能执行此操作)允许 DNS 服务器根据请求所处的接口、请求客户端的 IP 以及客户端可能提供的身份验证密钥(加密签名的 DNS)提供不同的响应。

    TL;DR - 由于(ACL)过滤,两个客户端可能具有不同的(活动)配置 - 一个客户端可能启用缓存,而另一个客户端可能不启用,因此在这种情况下,缓存不会在它们之间共享。

    • 4

相关问题

  • 三台电脑,没有路由器/交换机怎么组网?

  • 用户使用 FileZilla 连接到 SFTP 服务器拒绝连接

  • NAT 后面的 NAT 如何工作(路由器的 NAT 和 ISP 的 NAT)?

  • Win10 1803:如何让移动热点成为专用网络?

  • nc如何识别服务名称

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve