神奇海螺
修改电脑DNS

如何修改电脑DNS?

前言

当您为家庭或企业订阅 Internet 访问时,Internet 服务提供商 (ISP) 还会提供必要的网络设置,包括域名系统 (DNS) 地址,从而可以访问您喜欢的站点、您可能需要的在线服务在家工作,并下载文件。唯一需要注意的是,ISP 的 DNS 服务器通常速度较慢,有时不可靠,而且不是很私密。但是,您始终可以使用来自第三方公司的不同解析器来改善您在 Windows 11 上的 Internet 体验。

Windows

 

  1. 打开 网络和Internet设置
  • Win11 屏幕右下角的网络图标中,右击鼠标,点击进入 “网络和Internet设置
  • Win10 屏幕左下方的 开始 图标 或 按“ Windows键 + X” ,点击“网络连接

  • 或者直接搜索: 网络连接 ,点击打开 查看网络连接

 

  1. 打开 网络和Internet 设置页面后,点击右侧下面 高级设置 - 更多网络适配器

 

  1. 打开的网络连接界面,选择正在使用的网卡,右键单击 属性

 

  1. 然后在网络属性界面,然后点击选中 Internet版本协议4(TCP/IPv4) ,选中再点击下方的 属性 ,就可以看到Win10静态IP地址设置界面了

 

  1. Internet版本协议4设置中,点选 使用下面的DNS服务器地址 ,然后输入需要更改后的 首选DNS服务器地址备选服务器DNS地址 就可以了,完成后,点击底部的 确定 保存即可 (下面是举例,DNS可自由选择)
  • 119.29.29.29
  • 1.1.1.1

确定后,建议重启电脑,即可使用。如果发现某些网址变慢,请及时改回自动

MacOS

参考: 苹果官网文档 (opens in a new tab)

  1. 在 Mac 上,选取苹果菜单 > 系统偏好设置,然后点按 网络
  2. 在左侧列表中选择用于接入互联网的方式(例如 USB 100/1000 LAN 或者 Wi-Fi
  3. 点击右下角 高级 > DNS > DNS服务器:
  4. 点击左下角加号 ➕ 把您想要使用的 DNS 服务器的 IP地址 输入到 DNS 服务器 栏中,可添加多个
  5. 然后点击 > 应用 ,重启电脑即可

公共 DNS 伺服器推荐

国外

  • Cloudflare DNS: 1.1.1.1 / 1.0.0.1
  • Google DNS: 8.8.8.8 / 8.8.4.4
  • Quad9 DNS: 9.9.9.9 / 149.112.112.112

国内

  • 腾讯公共DNS:119.29.29.29
  • 阿里公共DNS:223.5.5.5 / 223.6.6.6

提醒:都改成国外的话,访问国外会变快,但国内网址会变慢,建议第一个dns写国内的,第二个写国外的,剩下的随机应变

如何清除 DNS 缓存

如果你最近访问过的网站的IP地址发生了改变,你可能就会看到“找不到页面”的错误,除非你清除DNS解析器缓存。虽然DNS解析器缓存(不同于你的Web浏览器缓存)也会自动清除,但手动刷新DNS会立即清除原本存储的地址,让你恢复对网站的访问。这篇文章会教你在Windows、Linux或Mac电脑以及Chromebook上刷新DNS缓存的最简单方法。

刷新缓存很重要

你应该刷新 DNS 缓存,最重要的两个原因是:

  1. 刷新 DNS 是排除互联网连接问题的一个有用步骤

你可能在浏览器中遇到 DNS 错误,例如在试图访问一个网站并建立连接时,出现 DNS Server Not Responding 的信息。 请记住,你的本地缓存信息可能会随着时间的推移变得过时。当网站发生 DNS 更新时,你的 Mac 仍在使用旧的、不准确的信息来加载请求的页面。 刷新 DNS 缓存可以确保缓存信息是最新的。

  1. 刷新 DNS 缓存可以防止网络安全威胁、恶意攻击和 DNS 缓存中毒的发生

黑客可以访问并篡改你保存的 DNS 缓存记录。

例如,他们可以操纵和改变与你已经访问过的网站的域名相关的 IP 地址,并将其映射到一个恶意的地址。下次你请求访问同一网站时,将被重定向到一个虚假和被破坏的 URL。黑客可以要求提供个人和敏感信息,如信用卡号码,并窃取这些信息。

经常刷新 DNS 缓存将有助于防止这种情况的发生。

简单步骤

  • Windows: 运行 ipconfig /flushdns
  • macOS : 运行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • 重启电脑也会自动刷新DNS缓存

Windows

Win系统有时候会突然出现上不了网或者打不开某些网站的情况,这一般是由DNS缓存信息太多所导致的,此时可以尝试通过以下方法来清理DNS缓存。

  1. 首先,打开“开始菜单”,输入“cmd”搜索并打开命令提示符
Second Image
  1. 接着,在“CMD”窗口中,输入DNS缓存清理命令“ipconfig/flushdns”并按下回车键
Second Image
  1. 这样就成功清理DNS缓存啦
Second Image
  1. 上面就是在 Windows 系统中清理DNS缓存的方法,希望可以帮助到各位小伙伴们!

MacOS

需要用到的工具是「终端」。值得注意的一點是,不同 Mac系統會用到不同的指令。所以,您有必要先點擊 「苹果图标」,然後選擇 「关于这台Mac」 查看一下您當前所使用的系統版本。

使用终端重置 DNS 緩存

  1. 在这里输入要转换的内容点击状态选单列中的「放大镜图示」,输入「终端」并开启它。当然,您也可以透过 Finder的「前往」选单,选择「系统工具」>「终端」开启它。
Second Image
  1. 在终端机中,粘贴对应系统版本的刷新 DNS 缓存的指令,按照提示键入管理员密码,按下「Return」键。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

在下面的表格中,你将看到按时间倒序排列的 MacOS 版本——从最近的版本到最老的版本。

导航到你的 Mac 版本并复制相应的命令。

MACOS 版本使用的命令
macOS 12 (Monterey)sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 11 (Big Sur)sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 10.15 (Catalina)sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS 10.14 (Mojave)sudo killall -HUP mDNSResponder
macOS 10.13 (High Sierra)sudo killall -HUP mDNSResponder
macOS 10.12 (Sierra)sudo killall -HUP mDNSResponder
OS X 10.11 (El Capitan)sudo killall -HUP mDNSResponder
OS X 10.10 (Yosemite)sudo discoveryutil udnsflushcaches
OS X 10.9 (Mavericks)sudo killall -HUP mDNSResponder
OS X 10.8 (Mountain Lion)sudo killall -HUP mDNSResponder
Mac OS X 10.7 (Lion)sudo killall -HUP mDNSResponder
Mac OS X 10.6 (Snow Leopard)sudo dscacheutil -flushcache
Mac OS X 10.5 (Leopard)sudo lookupd -flushcache
Mac OS X 10.4 (Tiger)lookupd -flushcache

在输入命令并按下回车键后,会有一个提示,让你输入计算机的密码。
请记住,当你输入密码时,你将无法查看你正在输入的内容——甚至没有任何星号。
这看起来好像什么都没有发生,但请放心,有些事情正在发生。
一旦你输入了你的密码并点击了回车键,你将不会看到一个表明该过程已经完成的信息,而是看到一个新的终端提示。

FreeBSD

FreeBSB 自带 nscd(Name Service Cache Daemon),默认没有启用。

运行如下命令启动 nscd 并设置为开机自动运行 (sysin):

sudo service nscd enable && sudo service nscd start

清除缓存即重启 nscd 服务:

sudo service nscd restart

Ubuntu

Ubuntu 默认运行 systemd-resolve daemon 用于名称服务缓存。

  1. 查看 DNS 缓存状况
sudo systemd-resolve --statistics
  1. 清除 DNS 缓存,systemd-resolve daemon 默认在所有的 Ubuntu 系统上运行
sudo systemd-resolve --flush-caches
  1. 正在查看验证结果 (sysin)
sudo systemd-resolve --statistics

备注:Ubuntu 也可以配置使用 nscd。

CentOS

CentOS 默认不存在 Client 端的 DNS 缓存。

参看:

通常使用 nscd 来启用 dns 缓存:

yum -y install nscd
systemctl enable --now nscd

清除缓存即重启 nscd 服务:

systemctl restart nscd

结语

就这样,你的本地 DNS 缓存现在已经被清除了。希望这有助于解决你可能遇到的任何网络连接问题。 经常清除 DNS 缓存总是一个好主意,以帮助解决麻烦的互联网连接,并确保你的系统安全,免受潜在威胁。

谢谢你的阅读!