注意 1:第 2 节(NAT 模式)与第 3 节(镜像网络模式)二选一即可。
注意 2:文中涉及的局域网本机 IP 地址请以实际为准,192.168.1.71 仅为配置示例。
wsl --help,根据提示自行安装。wsl --install。wsl --update 完成更新。netstat -ano | findstr 7897,能看到 0.0.0.0:7897 LISTENING。New-NetFirewallRule -Name "WSL_Clash_NAT" -DisplayName "WSL Clash NAT" -Direction Inbound -LocalPort 7897 -Protocol TCP -Action Allow
验证方式:命令回显中显示 Action: Allow 且 Enabled: True。
编辑用户配置:nano ~/.bashrc,在文件最底部粘贴下列命令函数并保存:
# Clash Verge Rev NAT 代理脚本
function setproxy() {
export host_ip=$(ip route | grep default | awk '{print $3}')
export http_proxy="http://${host_ip}:7897"
export https_proxy="http://${host_ip}:7897"
export all_proxy="http://${host_ip}:7897"
echo "Proxy set to ${host_ip}:7897"
}
function unsetproxy() {
unset http_proxy https_proxy all_proxy host_ip
echo "Proxy cleared"
}
执行 source ~/.bashrc 重新加载配置。
执行 setproxy,终端输出 Proxy set to 172.31.192.1:7897(具体 IP 对应当前网关)。
保持 Clash Verge Rev 系统代理正常开启,在 Ubuntu 中执行:
setproxy
curl -Iv https://www.google.com
注意:networkingMode=mirrored 属于 Windows 11(22H2 及以上)与 WSL 2.0+ 的专属特性。
7897,若为其他端口请在后续步骤中替换)。在 Windows 中按下快捷键 Win + R,输入 %USERPROFILE% 并回车,检查目录下是否存在 .wslconfig 文件;若不存在,新建一个同名文件(注意去除 .txt 后缀),使用记事本打开,添加或更新以下内容:
[wsl2]
networkingMode=mirrored
firewall=true
autoProxy=true
在 Windows 终端中执行:
wsl --shutdown
打开 Ubuntu 终端执行:
cat << 'EOF' >> ~/.bashrc
# Clash Verge Rev 镜像模式代理别名(使用 http 协议避免 DSH 报 SOCKS 不支持警告)
alias setproxy="export http_proxy=http://127.0.0.1:7897; export https_proxy=http://127.0.0.1:7897; export all_proxy=http://127.0.0.1:7897; export ALL_PROXY=http://127.0.0.1:7897"
alias unsetproxy="unset http_proxy https_proxy all_proxy ALL_PROXY"
EOF
source ~/.bashrc
验证方式:终端执行 setproxy,然后运行 env | grep -i proxy,终端正确输出指向 127.0.0.1:7897 的各环境变量。
setproxy
curl -I https://www.google.com
4.1.1. 设置端口映射(外部访问宿主机 3080 -> 转发至本地回环 3081):
netsh interface portproxy add v4tov4 listenport=3080 listenaddress=0.0.0.0 connectport=3081 connectaddress=127.0.0.1
4.1.2. 放行 3080 端口入站连接:
New-NetFirewallRule -Name "WSL_Mirrored_DSH_3080" -DisplayName "WSL Mirrored DSH 3080" -Direction Inbound -LocalPort 3080 -Protocol TCP -Action Allow -ErrorAction SilentlyContinue
npx @deepseek-ai/dsh web --port 3081 --trusted-host 192.168.1.71:3080 --no-open
http://192.168.1.71:3080/?token=启动日志打印出的Token