OpenVPNサーバーをcURLコマンドのプロキシとして使用することは可能ですか?
コンピューター全体をOpenVPNに接続したくありません。代わりに、単一のcURLコマンドで使用したいと思います。
何かのようなもの
curl -x http://user:password@OpenVPN:port url
しかし、それは機能せず、戻ります
curl: (56) Recv failure: Connection reset by peer
私のOSはUbuntu18.04です
いいえ、そうではありません。
まず、サーバーが話すのとはまったく異なるプロトコルを話すようにcURLに指示しているため、コマンドは機能しません。 OpenVPNとhttp://
は似ていません–サーバーはcURLによって送信された要求を認識せず、cURLは応答を理解しません。
次に、cURLはVPNプロトコルをサポートしていないため、機能しません。 is cURLがOpenVPNプロトコルまたはその他のVPNプロトコルを話すように正しく指定する方法はありません。これは、プログラムに含まれていないためです。
(理論的にはこれをcURLに追加することは不可能ではありませんが、cURLはTCPおよびIP)を学習する必要があるため、「プロキシ」プロトコルと比較して複雑さが増します大幅に VPN自体について学習することに加えて、つまり、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