[转载] 修改WIN10的DNS、以及操作系统和 Web 浏览器清除和刷新 DNS 缓存方法汇总


原文:

    系统极客https://www.sysgeek.cn/flush-dns-cache/

    Windows10如何更改网络DNS-百度经验 (baidu.com)

Windows10如何更改网络DNS-百度百科

有时候网络用起来比较卡顿,可以更换一下网络的DNS,如何进行更改呢?一起来学习下。

原作者:颂帖

  1. 点击通知栏的网络图标

    操作系统和 Web 浏览器清除和刷新 DNS 缓存方法汇总 2019-05-14 分类:Edge 阅读(2185) 评论(3)  

    network

    DNS 缓存是一个临时数据库,用于存储有关「以前」的 DNS 查询信息。换句话说,无论何时访问网站,您的 Windows、Linux 或 mac OS 操作系统和 Chrome、Firefox 等Web 浏览器都会记录域名和其相对应的 IP 地址。这样就消除了对远程 DNS 服务的重复查询需要,以允许操作系统和网页浏览器能够通过 DNS 缓存快速解析网站的 URL。

     

    但是,在某些情况下,例如:要对网络连接问题进行排错时;或者更改了 DNS 服务器时,可能就需要手动清除和刷新 DNS 缓存。这样一来就可以清除掉已经缓存的 DNS 条目,再根据新配置的 DNS 设置来解析名称。

    下面系统极客就为大家汇总介绍,如何在不同操作系统和 Web 浏览器中手动刷新 DNS 缓存。

    Windows系统清除和刷新DNS缓存

    清除 DNS 缓存的步骤对所有 Windows 版本都是相同的,您只需使用管理员权限打开「命令提示符」并运行以下命令即可:

    1 在「开始」菜单中搜索 cmd——右击「命令提示符」——选择「以管理员身份运行」

    2 执行以下命令就可以刷新 Windows 操作系统级别的 DNS 缓存:

    ipconfig /flushdns

    Linux系统清除和刷新DNS缓存

    在 Linux 操作系统中,除非您安装并运行了 Systemd-Resolved、DNSMasq 或Nscd 等缓存服务,否则就不会存在操作系统级的 DNS 缓存。而且,刷新 DNS 缓存的过程或步骤会因 Linux 发行版和您正在使用的缓存服务而各异。

    刷新Systemd Resolved缓存

    大多数现代 Linux 发行版,如 Ubuntu 18.04 等都使用 Systemd Resolved 服务来缓存 DNS 条目。

    1 在「终端」中执行以下命令确定服务是否正在运行:

    sudo systemctl is-active systemd-resolved.service

    如果服务正在运行,则命令将打印出活动状态,否则您将看到非活动状态。

    2 要清除 Systemd Resolved DNS 缓存,请执行以下命令:

    sudo systemd-resolve --flush-caches

    刷新DNSMasq缓存

    Dnsmasq 是一款轻量级的 DHCP 和 DNS 服务器,如果您的系统使用 DNSMasq 作为缓存服务器,要清除 DNS 缓存,您需要在「终端」中执行以下命令:

    sudo systemctl restart dnsmasq.service
    sudo systemctl restart dnsmasq.service

    来重启 Dnsmasq 服务。

    刷新Nscd缓存

    Nscd 是一个缓存守护进程,它是大多数基于 RedHat 的 Linux 发行版所的首选 DNS 缓存系统。

    如果您的 Linux 系统使用 Nscd,要清除 DNS 缓存,您需要在「终端」中执行以下命令:

    sudo systemctl restart nscd.service
    sudo service nscd restart

    来重启 Nscd 服务。

    macOS系统清除和刷新DNS缓存

    在不同版本的 macOS 系统中,刷新 DNS 缓存的方法和命令会略有不同。在最新版本的 macOS 中清理 DNS 缓存可以在「终端」中执行以下命令:

    sudo killall -HUP mDNSResponder

    对于早期版本的 macOS,刷新 DNS 缓存的命令是不同的:

    • macOS 10.11 和 10.9
    sudo dscacheutil -flushcache
    sudo killall -HUP mDNSResponder
    • macOS 10.10
    sudo discoveryutil mdnsflushcache
    sudo discoveryutil udnsflushcaches
    • macOS 10.6 和 10.5
    sudo dscacheutil -flushcache

    Web浏览器清理和刷新DNS缓存

    大多数现代 Web 浏览器都有内置的 DNS 客户端,以防止每次访问网站时重复进行 DNS 查询。

    Google Chrome清理DNS缓存

    要清除 Google Chrome 浏览器的 DNS 缓存,请执行以下步骤:

    1 地址栏中执行 chrome://net-internals/#dns 打开清理页面

    2 点击「Clear host cache」按钮即可清除 Chrome 内置的 DNS 缓存条目

    此方法同时适用于所有基于 Chrome 的浏览器,包括 Chromium、Vivaldi 和Opera 等。

    FireFox清理DNS缓存

    要清除 FireFox 浏览器的 DNS 缓存,请执行以下步骤:

    1 FireFox 地址栏中执行 about:config 打开清理页面

    2 搜索 network.dnsCacheExpiration 暂时将其值设置为 0,然后单击「确定」——再改回其原有值 60。

    3 搜索 network.dnsCacheEntries 暂时将其值设置为 0,然后单击「确定」——再改回其原有值 400。