You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让OpenVPN网络中Windows客户端通过Android手机代理用其公网IP

问题场景与需求

现有环境

  • OpenVPN服务器:Ubuntu 20.04 VPS,版本2.4.7,状态active,分配子网10.8.0.0/24
  • OpenVPN客户端:
    • Windows VDS:分配IP 10.8.0.3
    • Android 8手机:分配IP 10.8.0.2,已安装Proxy Server,创建HTTP/HTTPS代理(监听0.0.0.0:31313),仅使用移动网络

服务器配置(serv.conf)

local SEVERIP
port SERVERPORT
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "block-outside-dns"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
explicit-exit-notify

通用客户端配置

client
dev tun
proto udp
remote SEVERIP SERVERPORT
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
ignore-unknown-option block-outside-dns
verb 3

当前问题

Windows VDS将10.8.0.2:31313设为HTTP代理,访问https://api64.ipify.org时返回Ubuntu服务器的公网IP,但手机代理日志已记录到请求。需要实现Windows通过该代理访问外网时,使用Android手机的公网IP。

解决方案

1. 修改Android客户端的OpenVPN配置,取消全局路由

当前服务器推送的redirect-gateway def1 bypass-dhcp会让手机所有流量默认走OpenVPN服务器出口,导致代理转发的请求也从服务器IP发出。需修改Android客户端配置文件,添加以下内容:

pull-filter ignore "redirect-gateway"
route-nopull
route 10.8.0.0 255.255.255.0
  • pull-filter ignore "redirect-gateway":忽略服务器推送的全局路由指令
  • route-nopull:拒绝接收服务器推送的所有路由规则
  • route 10.8.0.0 255.255.255.0:手动添加OpenVPN子网路由,保证Windows VDS能正常访问手机的代理服务

2. 确认Android代理的访问权限

检查手机Proxy Server的设置,确保没有IP白名单限制(监听0.0.0.0默认允许所有IP访问),同时确认手机的移动网络未被VPN接管——此时代理收到Windows的请求后,会通过手机自身移动网络向外发送,返回的就是手机的公网IP。

3. 验证效果

重启Android的OpenVPN客户端和Proxy Server,在Windows VDS上再次访问https://api64.ipify.org,此时应返回Android手机的公网IP,同时手机代理日志可确认请求通过移动网络转发。

内容的提问来源于stack exchange,提问作者Quaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 17:17:25