我在 Ubuntu 22.04 上访问某个与大学相关的网站时遇到了问题。每次我想访问它时,我都必须刷新 DNS 缓存,因为主链接和带有路径的链接似乎指向不同的地方,而缓存出错了。我不确定我是否理解得完全正确,但刷新缓存似乎可以解决这个问题
例如,如果 google.com 和 google.com/search 指向不同的地方
有没有办法将某个网站列入黑名单,不让其缓存,而无需完全禁用缓存?谢谢!
答案1
当你使用大学局域网时,DNS 解析为内部局域网 IP 是很常见的。当你尝试从互联网访问同一网站时,你会得到公共的、可路由的互联网 IP。问题是生存时间 (TTL)因为记录设置得太高了。 TTL 由域记录的管理员设置,但高 TTL 很常见。例如,许多系统默认 TTL 为 1 小时 (1hr),而其他系统则使用 5 分钟 (5m)。
这并不是你真正想要的,虽然从技术上讲确实可以绕过任何缓存,但它应该可以相当简单地解决问题。你可以在你的/etc/hosts
,指向您在本地网络之外时获得的公共 IP。从技术上讲,它可以在 LAN 上时无法正确路由,但通常情况下,这都可以正常工作,并且允许您访问该网站,无论是在大学 LAN 上还是在 Internet 上的其他地方。
您可以在脱离局域网的情况下获取 Internet IP 地址:
sudo apt install dnsutils
dig domainname.tld
如果您设置自己的 DNS 服务器,这会更复杂一些,您可以覆盖所有或特定域的 TTL 值,但除非您有其他理由来设置和管理自己的 DNS 服务器,否则这似乎有点过度。