特定のプロセスを OpenVPN 接続に制限しますか?

特定のプロセスを OpenVPN 接続に制限しますか?

Ubuntu Linux で、特定のプロセスに OpenVPN 接続を強制的に使用させながら、システム上の他のすべてのプロセスにはデフォルトのネットワーク接続を使用させる方法はありますか?

AWS で実行されているカスタム Python アプリケーションがあり、これを外部の PostgreSQL サービスと統合しようとしています。このサービスでは OpenVPN 構成の VPN が提供されており、PostgreSQL サーバーにアクセスできます。

私の理解では、デフォルトでは、OpenVPN はサーバー上のすべてのネットワーク トラフィックに VPN の使用を強制します。これは通常、まさに望ましい動作です。ただし、私のアプリケーションは AWS で実行されており、AWS は独自のセキュリティを管理し、ネットワーク ルーティングを最適化しているため、サーバーでこの VPN をすべてに使用するように構成すると、すべてのトラフィックがこの外部接続に強制され、すべてが遅くなり、他の AWS リソースへのサーバーのアクセスが自分のアカウントの外部から行われているように見えるため、セキュリティ アクセスの問題が発生する可能性があります。

VPN ネットワーク インターフェイスを作成し、特定のプロセス以外がそれを使用できないようにする最も簡単な方法は何ですか?

答え1

クライアント設定でコマンドを使用してroute-nopull、ルート エントリが作成されないようにすることができます。その後、データベース サーバーを指すルートを手動で追加できます。この方法では、DB サーバーにアクセスするものはすべて VPN を使用し、その他はすべて以前に使用したルートを使用します。

たとえば、データベース サーバーが 192.168.111.111 (VPN サーバーの背後) にあると仮定すると、クライアント構成に以下を含める必要があります。

route-nopull
route 192.168.111.111 255.255.255.255

関連情報