调试时,经常会有快速刷新DNS的需求。
Windows系统下快速刷新DNS命令
ipconfig /flushdns
Mac系统下快速刷新DNS命令
sudo killall -HUP mDNSResponder
或
type dscacheutil -flushcache
或
lookupd -flushcache
Linux系统下快速刷新DNS:
Linux下推荐使用nscd刷新DNS,nscd(Name Service Cache Daemon)是Linux下一款很好用的缓存服务。
Ubbuntu、Debian等debian系Linux系统刷新DNS命令
sudo apt-get install nscd -y && sudo service nscd restart
或
sudo apt-get install nscd -y && sudo /etc/init.d/nscd restart
Redhat、Centos等centos系Linux系统刷新DNS命令
sudo yum install nscd -y && sudo systemctl restart nscd
或
sudo yum install nscd -y && sudo service nscd restart
也可以用暴力重启网卡的方式刷新DNS(不推荐):
sudo service network-manager restart
或
sudo service networking restart
或
sudo /etc/init.d/networking restart
注意事项:
1、如果是修改本地hosts文件后用命令行进行dns刷新,那么是立即生效的;如果修改了域名的DNS解析记录,那么需要等待一段时间,等域名解析变更生效后再刷新dns。一般来说,目前免费的DNS解析TTL值为600s,理论上需要等待10分钟后才能刷新dns。
2、浏览器本身也是有dns缓存的,以Chrome浏览器为例,在刷新操作系统dns缓存后,需要关闭Chrome并重新打开后dns变更才能生效;如果重启Chrome还不行,那么在Chrome浏览器地址栏输入:
chrome://net-internals/#dns
然后点击“clear host cache”,手动刷新Chrome浏览器的dns缓存。