仅为一个接口配置 OpenVPN 客户端



伙计们, 我正在尝试设置Open VPN客户端以连接到Tunnelbear VPN,并使用它来使用curl在PHP中执行一些匿名请求。

我在远程VPS上执行此操作,因此,如果我犯了错误,VPN会阻止我,我被迫重新启动VPS。 实际上我的客户端配置是这样的:

client
dev tun0
proto udp
nobind
ns-cert-type server
persist-key
persist-tun
reneg-sec 0
dhcp-option DNS 8.8.8.8
dhcp-option DNS 8.8.4.4
verb 3
auth-user-pass login.key
ca CACertificate.crt
cert UserCertificate.crt
key PrivateKey.key
remote fr.lazerpenguin.com 443
cipher AES-256-CBC
auth SHA256
keysize 256
keepalive 10 30
script-security 2

我没有任何重定向网关设置,因为如果我添加它,我的整个流量都会通过 VPN,一切都会被阻止。 我只想将VPN用于某些特殊请求。

喜欢: 整个流量 -> 没有 VPN,除了 tun0 请求

我在PHP中使用它来使用VPN接口: curl_setopt($ch, CURLOPT_INTERFACE, "tun0");

但是流量似乎不使用VPN,因为curl请求的公共IP不是匿名的。

我对所有这些路线设置都非常迷茫,请:(

通过使用这个"up"脚本来解决:

#!/bin/sh
echo "$dev : $ifconfig_local -> $ifconfig_remote gw: $route_vpn_gateway"
ip route add default via $route_vpn_gateway dev $dev table 20
ip rule add from $ifconfig_local table 20
ip rule add to $route_vpn_gateway table 20
ip route flush cache
exit 0

和这个客户会议:

client
dev tun0
proto udp
remote fr.lazerpenguin.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca CACertificate.crt
cert UserCertificate.crt
key PrivateKey.key
verb 5
route-method exe
route-delay 2
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
cipher AES-256-CBC
auth SHA256
keysize 256
comp-lzo
auth-user-pass login.key
script-security 2
route-noexec
route-up vpn_up.sh

现在,如果我在 curl 中将接口设置为 tun0,它使用 OpenVPN,如果不是经典网络接口,则使用 OpenVPN

最新更新