ipconfig /flushdns
来重置DNS缓存。DNS重置命令详细指南
一、背景与目的
1 什么是DNS?
DNS,全称为Domain Name System(域名系统),是互联网的一项服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,DNS用于解析用户输入的域名并将其转换为计算机可以识别的IP地址。
2 为什么需要重置DNS?
在网络浏览过程中,设备会缓存DNS记录以提高响应速度,但有时这些缓存记录可能会损坏或过期,导致无法正确解析域名,进而影响网络访问,重置DNS缓存可以清除旧的或损坏的记录,从而恢复正常的网络连接。
3 常见场景与适用人群
普通用户:遇到网络连接问题时,通过重置DNS来解决临时故障。
网络管理员:定期维护网络环境,确保DNS解析正常。
开发人员:在更改网络配置后,通过重置DNS来应用新设置。
二、Windows系统中重置DNS
2.1 使用ipconfig /flushdns命令
2.1.1 步骤详解
1、打开命令提示符
按Win + R键,输入cmd,然后按下Enter键。
或者在任务栏中搜索“命令提示符”,右键选择“以管理员身份运行”。
2、执行刷新命令
在命令提示符窗口中输入ipconfig /flushdns
,然后按下Enter键。
成功执行后,会显示“已成功刷新 DNS 解析缓存”的消息。
图示:
Windows IP 配置 成功刷新 DNS 解析缓存
2.1.2 注意事项
确保以管理员身份运行命令提示符,否则可能会导致命令失败。
在某些系统中,可能需要重新启动网络服务才能使更改生效。
2.2 使用netsh winsock reset命令
2.2.1 步骤详解
1、打开命令提示符
同样按Win + R键,输入cmd,然后按下Enter键。
选择“以管理员身份运行”以确保权限。
2、执行重置命令
输入netsh winsock reset
,然后按下Enter键。
成功后会提示“成功地重置 Winsock 目录”。
图示:
Windows IP 配置 成功地重置 Winsock 目录,必须重新启动计算机才能完成重置。
3、重启计算机
由于winsock目录重置后需要重启计算机,输入shutdown /r /t 0
并按下Enter键立即重启计算机。
图示:
正在注销...
2.2.2 注意事项
此操作会重置TCP/IP协议栈,可能需要重新配置某些网络设置。
建议在进行此操作前备份重要的网络配置信息。
3 自动获取DNS服务器地址
2.3.1 步骤详解
1、打开网络和共享中心
右键点击任务栏中的网络图标,选择“打开网络和Internet设置”。
进入“网络和共享中心”,点击当前连接的网络。
2、进入属性设置
点击“属性”,找到并选择“Internet协议版本4 (TCP/IPv4)”,然后点击“属性”。
选择“自动获得DNS服务器地址”,然后点击“确定”。
图示:
自动获得DNS服务器地址
3、重启网络连接
可以通过禁用再启用网络适配器或重新启动计算机来使更改生效。
图示:
禁用 以太网/无线网络连接 启用 以太网/无线网络连接
2.3.2 注意事项
确保网络连接稳定,以便自动获取正确的DNS服务器地址。
如果自动获取不成功,可以尝试手动设置公共DNS服务器地址,如Google的8.8.8.8和8.8.4.4。
三、Linux系统中重置DNS
3.1 使用systemdresolved服务
3.1.1 步骤详解
1、停止systemdresolved服务
sudo systemctl stop systemdresolved
该命令会停止systemdresolved服务,以便进行后续的缓存清理。
图示:
停止 systemdresolved.service
2、清空DNS缓存
sudo systemdresolve flushcaches
此命令清空所有DNS缓存。
图示:
Flushing caches and restarting the server...
3、启动systemdresolved服务
sudo systemctl start systemdresolved
重新启动systemdresolved服务以应用更改。
图示:
启动 systemdresolved.service
3.1.2 注意事项
确保具有超级用户权限,以便执行停止和启动服务的命令。
在某些Linux发行版中,DNS缓存可能由不同的服务管理,需根据具体情况调整命令。
2 重启网络服务
3.2.1 步骤详解
1、重启网络服务
sudo systemctl restart network
重启网络服务会使新的DNS设置生效。
图示:
重启网络服务
2、确认DNS设置
cat /etc/resolv.conf
查看当前的DNS配置文件,确保新的DNS服务器地址已生效。
图示:
# Generated by NetworkManager nameserver 8.8.8.8
3.2.2 注意事项
不同Linux发行版的网络服务名称可能不同,例如Ubuntu使用networking
,而CentOS 7及之前的版本使用network
。
确保在修改配置文件后保存更改。
3.3 使用NetworkManager工具
3.3.1 步骤详解
1、查看当前网络配置
ls /etc/NetworkManager/systemconnections
列出所有网络连接配置文件,找到需要修改的那个文件。
图示:
Wired connection 1 Wireless connection 1
2、编辑网络配置文件
sudo vi /etc/NetworkManager/systemconnections/<配置文件名>
找到DNS设置部分,清空或修改为所需的DNS服务器地址。
图示:
[ipv4] method=auto ignoreautodns=true dns=8.8.8.8;8.8.4.4; dnssearch=example.com
3、保存并关闭文件,然后重启NetworkManager服务:
sudo systemctl restart NetworkManager
确保更改已生效。
图示:
重启 NetworkManager.service
3.3.2 注意事项
确保使用正确的文本编辑器命令(如vi或nano)。
修改前建议备份原始配置文件,以防出错。
四、macOS系统中重置DNS
4.1 使用sudo killall HUP命令重置DNS缓存
4.1.1 步骤详解
1、打开终端:可以通过Spotlight搜索“终端”,或者在应用程序中找到“实用工具”文件夹内的“终端”应用。
2、执行重置命令:在终端中输入以下命令并按下回车键:
sudo killall HUP mDNSResponder
此命令会强制刷新mDNSResponder的DNS缓存。
图示:
No matching processes belonging to you were found
4.1.2 注意事项
需要输入管理员密码才能执行该命令。
确保在执行命令前没有其他重要的DNS相关操作正在进行。
4.2 使用dscacheutil工具刷新DNS缓存
4.2.1 步骤详解
1、打开终端:同样通过Spotlight搜索“终端”,或者在应用程序中找到“实用工具”文件夹内的“终端”应用。
2、执行刷新命令:在终端中输入以下命令并按下回车键:
sudo dscacheutil flushcache; sudo killall HUP mDNSResponder
此命令组合会先清空DNS缓存,然后刷新mDNSResponder的缓存。
图示:
Cache for dsquery is flushed.
4.2.2 注意事项
需要输入管理员密码才能执行该命令。
确保在执行命令前没有其他重要的DNS相关操作正在进行。
此方法适用于较新版本的macOS系统,对于旧版本的系统,可以使用sudo discoveryutil udnsflushcaches
命令代替。
4.3 使用discovery工具重置DNS缓存(旧版本系统)
4.3.1 步骤详解
1、打开终端:通过Spotlight搜索“终端”,或者在应用程序中找到“实用工具”文件夹内的“终端”应用。
2、执行重置命令:在终端中输入以下命令并按下回车键:
sudo discoveryutil udnsflushcaches
此命令会清空DNS缓存。
图示:
discoveryutil: cache flushed (udns)
3、重启mDNSResponder服务:继续输入以下命令并按下回车键:
sudo killall HUP mDNSResponder
此命令会刷新mDNSResponder的缓存。
图示:
No matching processes belonging to you were found
4.3.2 注意事项:
需要输入管理员密码才能执行该命令。
确保在执行命令前没有其他重要的DNS相关操作正在进行,此方法适用于macOS Yosemite及更早的版本,对于较新版本的系统,建议使用dscacheutil
工具,如下表所示:
工具 | 适用版本 | 命令 | 备注 |
sudo killall |
macOS Catalina+ | sudo killall HUP mDNSResponder |
强制刷新mDNSResponder缓存 |
dscacheutil |
macOS Mojave+ | sudo dscacheutil flushcache; sudo killall HUP mDNSResponder |
清空并刷新缓存 |
discoveryutil |
Yosemite及更早版本 | sudo discoveryutil udnsflushcaches; sudo killall HUP mDNSResponder |
清空并刷新缓存 |
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/79205.html