当前位置: 首页 > 技术教程

如何刷新dns缓存命令?

  如何刷新dns缓存命令?很多用户并不是很清楚,Windows 用户需以管理员身份打开命令提示符,输入 ipconfig /flushdns 并回车,即可清空本地 DNS 缓存。macOS 用户需根据版本选择命令:Monterey 及以后版本运行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,输入密码后生效,其他版本命令略有差异但结构类似。

  如何刷新dns缓存命令?

  刷新DNS缓存的命令因操作系统不同而有所差异,以下是针对 Windows、macOS、Linux 系统的详细操作指南:

  一、Windows 系统

  Windows 系统通过 ipconfig 命令管理 DNS 缓存,具体步骤如下:

  以管理员身份运行命令提示符或 PowerShell

  右键点击“开始”菜单,选择 Windows Terminal或 命令提示符。

  执行刷新命令

  cmdipconfig /flushdns

  成功执行后,会显示提示:

  Windows IP 配置已成功刷新 DNS 解析缓存。

  验证缓存是否清空

  cmdipconfig /displaydns

  此命令会显示当前 DNS 缓存内容,若返回空列表则表示缓存已清除。

  二、macOS 系统

  macOS 的 DNS 缓存刷新命令因版本不同有所变化,需根据系统版本选择对应命令:

  打开“终端”

  通过 Spotlight 搜索输入“Terminal”打开。

  执行对应命令

  macOS 12(Monterey)及以后版本:

  bashsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

  macOS 11(Big Sur):

  bashsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

  macOS 10.11 - 10.15(El Capitan 到 Catalina):

  bashsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

  macOS 10.10(Yosemite):

  bashsudo discoveryutil mdnsflushcache

  macOS 10.9(Mavericks)及更早版本:

  bashsudo dscacheutil -flushcache

  输入管理员密码

  执行命令后需输入系统密码,输入时不会显示字符,直接回车确认。

如何刷新dns缓存命令.jpg

  三、Linux 系统

  Linux 默认不缓存 DNS 记录,以下是常见情况的解决方法:

  若使用 nscd(Name Service Cache Daemon)

  bashsudo systemctl restart nscd# 或sudo service nscd restart

  若使用 systemd-resolved

  bashsudo systemd-resolve --flush-caches

  验证缓存状态

  bashsudo systemd-resolve --statistics

  查看 Cache Size 是否为 0,确认缓存已清空。

  四、通用建议

  刷新后测试 DNS 解析

  使用 nslookup 或 dig 命令检查域名解析是否生效:

  bashnslookup example.com# 或dig example.com

  重启浏览器或应用

  刷新 DNS 缓存后,建议重启浏览器或相关应用程序,确保使用最新 DNS 记录。

  修改 hosts 文件

  若 DNS 刷新无效,可手动编辑 hosts 文件(路径:C:\Windows\System32\drivers\etc\hosts(Windows)或 /etc/hosts(macOS/Linux)),临时覆盖 DNS 解析。

  五、常见问题

  权限不足:确保以管理员/root 身份运行命令。

  命令无效:检查系统版本是否匹配对应命令。

  缓存未更新:可能是本地网络设备缓存未过期,需重启路由器或等待 TTL 到期。

  以上就是如何刷新dns缓存命令的详细解答,Linux 默认无全局 DNS 缓存,若使用 nscd 或 systemd-resolved 服务,需分别执行 sudo systemctl restart nscd 或 sudo systemd-resolve --flush-caches。刷新后建议重启浏览器,并通过 nslookup 域名 测试解析是否更新。若问题依旧,可检查路由器缓存或修改 hosts 文件临时覆盖。


猜你喜欢