TAPアダプターを搭載したWindowsでOpenVPNを使用しています。
特定のIPアドレスへのルートを指定して、ローカルのインターネット接続にアクセスできることを知っています。ただし、ホスト名/ドメインに対して同じことを行うことはできません。
VPNでトラフィックを維持しながら、たとえば自宅のデフォルトのゲートアウェイ(私の場合は192.168.1.1)を介してリクエストをwww.google.comにルーティングする方法はありますか?
私はHOSTSファイルに127.0.0.1 www.google.comを設定してローカルApacheを実行し、そこでルールセットを処理できると考えていましたが、別のローカルサーバーがある場合はローカルWebサーバー/プロキシを実行する必要はありません。私が知らない方法。
ホスト名へのルートを指定できるのは、--allow-pull-fqdn
を使用する場合のみです。詳細は OpenVPNマニュアル にあります。
これを.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アドレスにルーティングしたい場合です。その後、失敗します。