web-dev-qa-db-ja.com

特定のドメイン/ホスト名にのみVPNを使用する

TAPアダプターを搭載したWindowsでOpenVPNを使用しています。

特定のIPアドレスへのルートを指定して、ローカルのインターネット接続にアクセスできることを知っています。ただし、ホスト名/ドメインに対して同じことを行うことはできません。

VPNでトラフィックを維持しながら、たとえば自宅のデフォルトのゲートアウェイ(私の場合は192.168.1.1)を介してリクエストをwww.google.comにルーティングする方法はありますか?

私はHOSTSファイルに127.0.0.1 www.google.comを設定してローカルApacheを実行し、そこでルールセットを処理できると考えていましたが、別のローカルサーバーがある場合はローカルWebサーバー/プロキシを実行する必要はありません。私が知らない方法。

5
Jack Skinner

ホスト名へのルートを指定できるのは、--allow-pull-fqdnを使用する場合のみです。詳細は OpenVPNマニュアル にあります。

3
dotvotdot

これを.ovpnファイルに追加できます。

allow-pull-fqdn
route www.google.com 255.255.255.255 net_gateway

次に、openvpnの起動時に、www.google.comを検索し、そのIPアドレスを取得してから、(VPNではなく)ネットを使用してそのルートを追加します。

問題は、グーグルが複数のIPアドレスを使用しているため、グーグルにアクセスしようとしても、起動時に検索したのと同じIPアドレスにヒットしない限り、VPNを使用し続けることです。

ハックの1つは、googleが使用するIPアドレスの1つを取得して/ etc/hostsに追加することです。これにより、マシンは常にgoogleに同じIPアドレスを使用し、openvpn routeコマンドは必要なことを実行します。

もちろん、問題があるのは、GoogleがそのIPアドレスの使用を停止した場合、または何らかの理由で別のIPアドレスにルーティングしたい場合です。その後、失敗します。