windows下的ubuntu里使用Shadowsocks
在 Windows 下的 Ubuntu (WSL) 里,完全可以使用 Windows 上运行的 Shadowsocks 代理。
核心方法很简单,就是把 WSL 里程序的网络请求,指向你 Windows 主机的代理端口。WSL 就像一个和 Windows 主机网络隔开的“邻居”,需要告诉它去“隔壁”找代理服务。
🧰 操作步骤
1. 在 Windows 主机上做好准备
这是最关键的前提,如果设置不对,WSL 将无法连接。
确认代理端口:记下你的 Shadowsocks 客户端设置的本地端口,通常是 1080。
允许局域网连接:在 Shadowsocks 客户端的设置中,找到并勾选“允许来自局域网的连接”。这个开关如果不打开,WSL 发来的请求会被拒绝。
2. 在 WSL 的 Ubuntu 中配置代理
有两种主流方法,推荐使用方法一,这适用于大多数情况。
方法一:直接设置环境变量(推荐,简单快捷)
这是最直接有效的方式,适合临时使用或让特定命令走代理。
获取 Windows 主机的 IP:WSL 里不能用 127.0.0.1,因为它自己也是一个“虚拟机”。你需要找到 Windows 的真实 IP。在 Ubuntu 终端中执行:
bash
# 查看WSL的默认网关,这就是Windows主机的IP
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
记下输出的 IP 地址,类似 172.xx.xx.1 或 192.168.x.1。
设置代理:在 Ubuntu 终端中执行以下命令,将 [Windows主机IP] 和 [代理端口] 替换成你实际的地址和端口(如 1080)。
bash
export http_proxy="http://[Windows主机IP]:[代理端口]"
export https_proxy="http://[Windows主机IP]:[代理端口]"
export all_proxy="socks5://[Windows主机IP]:[代理端口]"
验证是否生效:执行 curl https://www.google.com,如果能正常返回网页代码,就说明配置成功了。
注意:这种方法设置的代理只在当前终端窗口有效,关闭后就失效了。如果需要永久生效,可以将上述 export 命令添加到 ~/.bashrc 文件中。
方法二:配置 WSL 网络模式(更省心)
这是更“一劳永逸”的方法,让 WSL 和 Windows 共享网络,之后你就可以在 WSL 里直接使用 127.0.0.1 了。
关闭所有 WSL 实例:在 Windows 的 PowerShell 或 CMD 中执行 wsl --shutdown。
编辑配置文件:在 Windows 用户目录 C:Users你的用户名 下,创建一个名为 .wslconfig 的文件(注意文件名开头的点)。用记事本打开,粘贴以下内容并保存:
ini
[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
重启 WSL:重新打开你的 Ubuntu 终端。
直接使用 localhost:现在,你可以在 Ubuntu 里直接设置代理为 127.0.0.1:1080 了。
bash
export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"
export all_proxy="socks5://127.0.0.1:1080"
⚠️ 常见问题排查
检查 Windows 防火墙:确保 Windows Defender 防火墙没有阻止 WSL 或你的代理客户端。可以尝试在 PowerShell (管理员) 中运行以下命令来放行:
powershell
New-NetFirewallRule -DisplayName "WSL Allow Proxy" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
DNS 解析问题:如果代理通了但无法解析域名(比如 curl https://www.google.com 报错),可以尝试在 Ubuntu 中手动设置 DNS 服务器。
bash
# 临时修改DNS
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
重启 WSL 使配置生效:很多配置修改后,都需要重启 WSL 才能生效。在 PowerShell 中执行 wsl --shutdown 即可完全重启。
评论

React 18的并发渲染确实是个重大改进,我们在项目中已经升级使用,性能提升明显!