是否可以在cURL命令中使用OpenVPN服务器作为代理?
我不想将我的整个计算机连接到OpenVPN。相反,我想在单个cURL命令中使用它。
就像是
curl -x http://user:password@OpenVPN:port url
但它不起作用并返回
curl: (56) Recv failure: Connection reset by peer
我的操作系统是Ubuntu 18.04
不,不是。
首先,该命令不起作用,因为您要告诉cURL说与服务器说的协议完全不同的协议。与OpenVPNhttp://
完全不同-服务器无法识别cURL发送的任何请求,并且cURL无法理解任何响应。
其次,它不能工作,因为cURL不支持任何VPN协议。目前是没有办法正确地指定卷曲应该讲OpenVPN的协议,或任何其他VPN协议,因为在程序并非如此。
(从理论上讲,将其添加到cURL中并不是没有可能,但是与“代理”协议相比,它将大大增加复杂性,因为cURL除了学习VPN本身之外还需要学习TCP和IP –即,它需要重复很多驻留在OS中的网络堆栈的数量)。
如果您具有对系统的超级用户访问权限,则可以使用各种机制来限制OpenVPN连接用于以下用途:
curl --interface tun0
使用VPN,但curl
不使用常规);例如,如果您想将VPN的使用限制为10.0.0.0/8(或者反之亦然,以将该网络从VPN中排除),那么仅使用OpenVPN的route
选项就很简单了。例如,要将VPN仅限于特定网络,请执行以下操作:
route 10.0.0.0 255.0.0.0 vpn_gateway
route-nopull
并在使用VPN进行其他所有操作时排除特定网络:
route 10.0.0.0 255.0.0.0 net_gateway
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句