解决 Claude Code 频发 「Connection refused」 错误:修改 hosts 绕过 IPv4 Anycast 节点故障
最近在使用 Anthropic 的 Claude Code CLI 工具或调用 API 时,不少开发者遇到了以下报错:
API Error: Connection refused — a firewall or proxy may be blocking it (ConnectionRefused) • Retrying in 0s • attempt 1/10
提示信息通常指向“防火墙或代理拦截”,但检查本地代理、DNS 和防火墙后往往发现一切正常。本文将深入解析该问题的根源,并提供通过修改 hosts 文件快速绕过故障节点的解决方案。
🔍 问题根源分析
经过网络抓包与路由跟踪,该报错的核心原因在于网络服务商与 Anthropic 边缘路由之间的 Anycast 节点问题,以及本地虚拟化环境对 IPv6 降级(Fallback)的阻碍:
- IPv4 任播(Anycast)路由阻断:Anthropic 的服务默认解析并集中在单一定点 Anycast IP
160.79.104.10上。在特定网络线路或环境下,发往该 IP 443 端口的新 TCP 连接会每隔 10~30 分钟断续被丢弃,导致出现ConnectionRefused错误。 - IPv6 回退机制失效:正常情况下 IPv4 连不上时系统会尝试降级使用 IPv6 建立连接。但若本地安装了 VirtualBox 等虚拟化软件,其自带的网络过滤驱动(Network Filter)可能会引发 IPv6 默认路由(
::/0)配置失效,导致系统无法成功回退到 IPv6,连接彻底中断。
🛠️ 解决方案:通过 hosts 重定向至 .11 节点
既然问题出在默认的 .10 节点上,最简单直接的解决办法就是通过本地 hosts 文件,将 Anthropic 相关域名强制解析到相邻的健康节点 160.79.104.11。
📝 1. 修改 hosts 文件
在系统中打开 hosts 文件:
- Windows:
C:\Windows\System32\drivers\etc\hosts(需要管理员权限) - macOS / Linux:
/etc/hosts(使用sudo权限编辑)
在文件末尾添加以下配置:
# Anthropic IPv4 Edge Workaround (.10 -> .11)
160.79.104.11 api.anthropic.com
160.79.104.11 platform.claude.com
160.79.104.11 console.anthropic.com
160.79.104.11 a-api.anthropic.com
🧹 2. 刷新 DNS 缓存
保存文件后,在终端中运行相应的命令刷新本地 DNS 缓存:
- Windows:
ipconfig /flushdns
- macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
⚡ 3. 触发 TCP 状态重置(关键步骤)
根据实测经验,更改 hosts 或网络配置后,原有的长连接或缓存路由可能不会立即释放。如果修改后仍然提示拒连:
- 断开并重新连接网络:通过物理拔插网线,或关闭并重新开启 Wi-Fi 链接。这样可以强制系统彻底重置 TCP 链接与路由状态,使新的
.11IP 规则立刻生效。
📌 总结
当遇到 a firewall or proxy may be blocking it 提示时,不必拘泥于排查本地代理软件。通过修改 hosts 重新定向 Anycast IP 节点,能够以最低成本快速恢复 Claude Code 与 Anthropic API 的正常通信。

浙公网安备 33010602011771号