猿问

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

伙计们,我正在尝试设置开放的 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 来满足一些特殊要求。


喜欢:整个流量 -> 除了 tun0 请求之外没有 vpn


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


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


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


料青山看我应如是
浏览 268回答 1
1回答

慕后森

通过使用这个“向上”脚本解决:#!/bin/shecho "$dev : $ifconfig_local -> $ifconfig_remote gw: $route_vpn_gateway"ip route add default via $route_vpn_gateway dev $dev table 20ip rule add from $ifconfig_local table 20ip rule add to $route_vpn_gateway table 20ip route flush cacheexit 0和这个客户 conf :   clientdev tun0proto udpremote fr.lazerpenguin.com 443resolv-retry infinitenobindpersist-keypersist-tunca CACertificate.crtcert UserCertificate.crtkey PrivateKey.keyverb 5route-method exeroute-delay 2tun-mtu 1500tun-mtu-extra 32mssfix 1450cipher AES-256-CBCauth SHA256keysize 256comp-lzoauth-user-pass login.keyscript-security 2route-noexecroute-up vpn_up.sh现在,如果我在 curl 中将接口设置为 tun0,它将使用 openvpn,如果不是经典网络接口
随时随地看视频慕课网APP
我要回答