侧边栏壁纸
博主头像
帆云素材 博主等级

苟利国家生死以,岂因祸福避趋之

  • 累计撰写 26 篇文章
  • 累计创建 26 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

wsl 配置clash for Windows代理

智慧的格子衫
2025-08-02 / 0 评论 / 0 点赞 / 31 阅读 / 0 字

概述

最近在本地部署 Claude Code,因为要下载需要代理,所以本教程详细介绍如何在 WSL (Windows Subsystem for Linux) 中配置 Clash for Windows 代理,实现 WSL 环境下的网络代理访问。

前提条件

  • 已安装 WSL
  • 已安装并运行 Clash for Windows
  • Clash for Windows 使用默认端口 7890

配置步骤

第一步:确认 Clash for Windows 设置")第一步:确认 Clash for Windows 设置

  1. 打开 Clash for Windows
  2. 在 General 标签页中
    • 确保 Allow LAN 选项已开启(这是关键步骤!)
    • 确认 HTTP Port 为 7890
    • 确认 Socks Port 为 7891

第二步:获取 Windows 主机 IP 地址

在 WSL 终端中执行以下命令获取 Windows 主机 IP:

# 方法一:通过 resolv.conf 获取  
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'  
  
# 方法二:通过路由表获取(推荐)  
ip route show | grep default | awk '{print $3}'

注意:通常方法二得到的 IP 地址更准确,如本例中得到的 172.28.176.1

第三步:设置临时代理环境变量

使用获得的 IP 地址设置代理(以 172.28.176.1 为例):

# 清除之前的代理设置  
unset http_proxy  
unset https_proxy  
unset all_proxy  
  
# 设置新的代理  
export http_proxy=http://172.28.176.1:7890  
export https_proxy=http://172.28.176.1:7890  
export all_proxy=socks5://172.28.176.1:7891

第四步:测试代理连接

重新加载配置

source ~/.bashrc

测试代理是否生效

curl -I https://www.google.com

成功的响应示例

HTTP/1.1 200 Connection established  
HTTP/2 200  
content-type: text/html; charset=ISO-8859-1  
...

第五步:配置永久代理设置

1. 创建代理设置脚本

# 创建代理配置脚本  
cat > ~/.proxy_setup.sh << 'EOF'  
#!/bin/bash  
# WSL Clash 代理配置脚本  
  
# 获取 Windows 主机 IP  
WINDOWS_IP=$(ip route show | grep default | awk '{print $3}')  
  
# 设置代理环境变量  
export http_proxy=http://$WINDOWS_IP:7890  
export https_proxy=http://$WINDOWS_IP:7890  
export all_proxy=socks5://$WINDOWS_IP:7891  
  
echo  "代理已设置: $WINDOWS_IP"  
echo  "HTTP/HTTPS 代理端口: 7890"  
echo  "SOCKS5 代理端口: 7891"  
EOF  
  
# 赋予执行权限  
chmod +x ~/.proxy_setup.sh

2. 将代理设置添加到 shell 配置文件")2. 将代理设置添加到 shell 配置文件

# 添加到 .bashrc 文件末尾  
echo  "" >> ~/.bashrc  
echo  "# WSL Clash 代理设置" >> ~/.bashrc  
echo  "source ~/.proxy_setup.sh" >> ~/.bashrc

3. 创建快捷命令

# 创建启用/禁用代理的快捷命令  
echo  'alias proxy-on="source ~/.proxy_setup.sh"' >> ~/.bashrc  
echo  'alias proxy-off="unset http_proxy https_proxy all_proxy && echo \"代理已关闭\""' >> ~/.bashrc  
echo  'alias proxy-status="echo \"HTTP代理: \$http_proxy\" && echo \"HTTPS代理: \$https_proxy\" && echo \"SOCKS代理: \$all_proxy\""' >> ~/.bashrc

4. 重新加载配置

source ~/.bashrc

实用命令

配置完成后,您可以使用以下命令管理代理:

  • proxy-on - 启用代理
  • proxy-off - 关闭代理
  • proxy-status - 查看当前代理状态

故障排除

常见问题及解决方案

  1. 连接被拒绝 (Connection refused)

    • 检查 Clash for Windows 是否正在运行
    • 确认 Allow LAN 选项已开启
    • 验证端口号是否正确
  2. IP 地址问题

    • 尝试使用不同的方法获取 Windows 主机 IP
    • 有时 /etc/resolv.conf 中的 IP 可能不准确
  3. 权限问题

    • 确保有足够权限执行 sudo 命令
    • 检查脚本文件的执行权限
  4. 防火墙问题

    • Windows 防火墙可能阻止 WSL 访问 Windows 上的端口
    • 考虑在 Windows 防火墙中添加例外规则

配置验证

成功配置后,应该能够:

  1. ✅ 访问 Google 等被墙网站
  2. ✅ 正常使用 npm install
  3. ✅ 使用 git clone 从 GitHub 克隆仓库
  4. ✅ 使用 wget/curl 下载文件

注意事项

  1. 每次重启 WSL 后代理会重新自动配置(如果按照永久配置步骤设置)
  2. Clash for Windows 必须保持运行状态
  3. Allow LAN 选项是关键设置,必须开启

适用环境: Windows 11 + WSL + Clash for Windows
测试状态: ✅ 已验证可用

0

评论区