一、宿主机(Windows)配置 v2rayN
- 打开 v2rayN → 设置 → 参数设置 → Core: 基础设置,勾选 “允许来自局域网的连接”。
- 记下显示的 HTTP 代理端口(通常
10809)和 SOCKS5 端口(通常10808)。 - 以管理员身份运行 PowerShell,添加防火墙入站规则(端口号按你实际填):powershell
netsh advfirewall firewall add rule name="v2rayN" dir=in action=allow protocol=TCP localport=10808-10809
二、VMware 虚拟机网络设置
- 虚拟机 网络适配器 设为 NAT 模式(绑定 VMnet8)。
三、获取宿主机在 NAT 下的 IP 地址
在宿主机命令行执行 ipconfig,找到 “VMware Network Adapter VMnet8” 的 IPv4 地址,例如 192.168.218.1。(此 IP 下文统称 <宿主机IP>)
四、Ubuntu 终端环境变量(可选,但对 curl/wget 等有用)
编辑 ~/.bashrc,添加:
bash
export http_proxy="http://<宿主机IP>:10809"
export https_proxy="http://<宿主机IP>:10809"
export all_proxy="socks5://<宿主机IP>:10808"执行 source ~/.bashrc 生效。
如果只关心 Git 和 Docker,此步可跳过,因为它们需要独立配置。
五、Git 单独配置代理(必须)
bash
git config --global http.proxy socks5://<宿主机IP>:10808
git config --global https.proxy socks5://<宿主机IP>:10808如果 SOCKS5 不通,可改用 HTTP 端口:
bash
git config --global http.proxy http://<宿主机IP>:10809
git config --global https.proxy http://<宿主机IP>:10809测试:git ls-remote https://github.com/frappe/frappe_docker 能返回分支列表即成功。
六、Docker 代理配置(必须,否则拉镜像极慢或超时)
方法一(推荐,永久生效):
创建 /etc/systemd/system/docker.service.d/proxy.conf:
bash
mkdir -p /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://<宿主机IP>:10809"
Environment="HTTPS_PROXY=http://<宿主机IP>:10809"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF重启 Docker:
bash
systemctl daemon-reload
systemctl restart docker七、验证代理是否全局生效
bash
curl -x socks5://<宿主机IP>:10808 https://www.google.com -I # 应返回 200
curl -x http://<宿主机IP>:10809 https://www.google.com -I # 应返回 200