在Linux系统中,代理缓存或网络配置错误可能导致访问异常(如无法连接、407认证失败或DNS解析错误)。本文将详细介绍如何彻底清除代理缓存并重置网络配置,恢复系统正常访问能力。
一、清除代理缓存****
1. 浏览器缓存清理****
· Firefox/Chrome:
按 Ctrl+Shift+Delete 打开清除数据界面,勾选 “缓存的图像和文件” 及 “Cookie和其他站点数据” ,选择时间范围为 “全部” 后清除。
· 命令行工具(如 wget / curl ) :
删除临时缓存目录(路径可能因发行版不同):
·
bash
·
·
| rm -rf ~/.cache/wget/ # wget缓存 | |
|---|---|
| rm -rf ~/.cache/mozilla/ # Firefox缓存(部分发行版) |
·
2. 代理服务器本地缓存****
· Squid代理:
若系统运行本地Squid代理,清除缓存并重启服务:
·
bash
·
·
| sudo squid -k shutdown # 停止服务 | |
|---|---|
| sudo rm -rf /var/spool/squid/* # 删除缓存文件(路径可能不同) | |
| sudo squid -z # 重建缓存目录 | |
| sudo systemctl start squid |
·
· Nginx反向代理:
清除Nginx的proxy_cache目录(需在配置中确认路径):
·
bash
·
·
| sudo rm -rf /var/cache/nginx/* | |
|---|---|
| sudo systemctl restart nginx |
·
3. 系统DNS缓存****
· Systemd-resolved(Ubuntu/Debian):
·
bash
·
·
| sudo systemd-resolve --flush-caches |
|---|
·
· Dnsmasq:
·
bash
·
·
| sudo systemctl restart dnsmasq |
|---|
·
· Nscd(通用缓存服务):
·
bash
·
·
| sudo systemctl restart nscd |
|---|
·
二、重置网络配置****
1. 清除环境变量中的代理设置****
· 检查并取消所有代理相关环境变量:
·
bash
·
·
| unset http_proxy https_proxy all_proxy no_proxy | |
|---|---|
| # 永久删除(编辑~/.bashrc或/etc/environment) | |
| sudo sed -i '/http_proxy/d' /etc/environment |
·
2. 重置NetworkManager配置****
· 方法一:通过nmcli重置连接:
·
bash
·
·
| nmcli connection reload # 重新加载配置 | |
|---|---|
| nmcli connection modify <连接名> ipv4.ignore-auto-dns yes # 禁用自动DNS |
·
· 方法二:删除并重建连接(谨慎操作):
·
bash
·
·
| nmcli connection delete <连接名> # 删除现有配置 | |
|---|---|
| nmcli device wifi connect password <密码> # 重新连接WiFi |
·
3. 恢复默认网络服务****
· 禁用代理相关服务(如cntlm、polipo):
·
bash
·
·
| sudo systemctl stop cntlm polipo | |
|---|---|
| sudo systemctl disable cntlm polipo |
·
· 重置 /etc/resolv.conf(防止被覆盖):
·
bash
·
·
| sudo chattr -i /etc/resolv.conf # 取消只读锁(如有) | ||
|---|---|---|
| echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf # 恢复默认DNS |
·
4. 重启网络服务****
· 根据发行版选择命令:
·
bash
·
·
| sudo systemctl restart NetworkManager # Ubuntu/CentOS 7+ | |
|---|---|
| sudo systemctl restart networking # Debian旧版 | |
| sudo /etc/init.d/network restart # CentOS 6 |
·
三、验证修复效果****
1. 测试无代理访问:
2.
bash
3.
4.
| curl -v example.com # 应直接连接,无代理相关输出 |
|---|
5.
6. 检查DNS解析:
7.
bash
8.
9.
| | dig example.com | grep "QUERY TIME" # 确认解析时间正常 | | - | ----------------------------------------------- |
10.
11. 确认环境变量:
12.
bash
13.
14.
| | env | grep -i proxy # 应无输出 | | - | --------------------------- |
15.
四、预防措施****
· 统一管理代理:通过脚本或配置管理工具(如Ansible)集中设置代理,避免手动修改导致冲突。
· 定期清理缓存:为代理服务设置cron任务自动清理旧缓存。
· 备份配置:修改网络配置前备份/etc/NetworkManager/或/etc/sysconfig/network-scripts/目录。
通过以上步骤,可彻底清除代理缓存并重置网络配置,解决因代理或网络错误导致的访问问题。