linux清空dns缓存
时间: 2024-11-02 16:07:35 浏览: 8
在Linux系统中,你可以通过以下几个命令来清空DNS缓存:
1. **使用`dig`命令**:
运行 `sudo dig +short @8.8.8.8 a.google.com @8.8.4.4 a.google.com`,然后输入密码。这将发送两次请求到公共DNS服务器,强制更新缓存。接着再运行 `sudo dig @8.8.8.8 ns google.com`,查看是否清除了NS记录缓存。
2. **使用`host`命令**:
运行 `sudo host -c google.com`,然后清空缓存的提示出现后按下`Enter`即可。
3. **修改 `/etc/resolv.conf` 文件**:
编辑该文件(需要超级用户权限),找到`nameserver`行,注释掉所有的DNS服务器地址,保存退出。然后重启网络服务(`sudo service networking restart` 或 `sudo systemctl restart network.service`),系统会自动从头开始获取DNS解析。
4. **使用`dnsmasq`**(如果安装了):
对于基于dnsmasq的系统,可以在终端运行 `sudo killall dnsmasq` 杀死进程,之后dnsmasq会自动重建其缓存。
5. **使用`systemd-resolved`**:
如果你使用的是systemd-resolved,可以尝试 `sudo systemd-resolve --flush-caches`。
请记得,在清空DNS缓存后,你的设备需要重新访问网络服务,以便从DNS服务器获取最新的信息。
阅读全文