OpenVPN:特定のIPアドレスのみをVPN経由でルーティングしますか?


44

リモートプライベートネットワークには、ファイルサーバーとデータベースサーバーの2つのサーバーがあります(重要な場合、これらは両方ともWindowsマシンです)。

ファイルサーバーには独自のかなり堅牢な認証メカニズムがあり、リモートの場所から直接接続できます。

データベースサーバーは単純なユーザー名とパスワードを使用するため、不正アクセスを防ぐために、ローカルネットワークにロックダウンされ、外部トラフィックはブロックされます。

データベースサーバーにアクセスするには、Windows上のOpenVPNクライアントを使用して、プライベートネットワーク上のVPNサーバーに接続します。

デフォルトでは、OpenVPNは、VPNサーバーが存在するリモートネットワーク宛てのすべてのネットワークパケットをVPN経由でルーティングします。残念ながら、VPN経由のファイルサーバにアクセスすることで、非常に遅いです!

質問:

単一の特定のIPアドレス、つまりデータベースサーバーを宛先とするVPNのみを介してトラフィックをルーティングするようにOpenVPNクライアントを構成するにはどうすればよいですか?


それのシンプルで、操作方法についてはこちらをご覧くださいそれはsuperuser.com/a/178675/96461
サミール

回答:


49

OpenVpnの正しい構成は次のとおりです。

route-nopull 
route 192.168.0.0 255.255.255.0

これらのエントリは.ovpnファイルに属し、すべての192.168.0。*サブネットトラフィックをVPNに送信します。

1つのIPのみ(192.168.0.1):

route-nopull 
route 192.168.0.1 255.255.255.255

私たちはほとんどが英語を話し、必ずしもドイツ語を知っているわけではありません。答えを翻訳してください。
グローノスタジ

1
+1。これはまさに私が必要としたものです。私は私のLinuxでovpnクライアントを使用しているので、あなたは答えてくれました。ありがとう。
slayedbylucifer

Webサイトをvpnにルーティングすることはできますか?たとえば、www.facebook.comだけ
ニコラPeluchetti 14年

私の場合、VPNを介した単一のIPのルーティングはうまくいくようです。ただし、サブネットマスクを使用すると、まったく機能しません。なぜアイデアがありますか?
running.t

私はまだいけない既知の私の質問(上記)への答えが、私はいくつかの調査を行って、別のスレッドを作成し、それについている:superuser.com/questions/854194/...
running.t

24

目標

  • VPNが接続されている場合でも、デフォルトですべてのインターネットトラフィックにプレーンインターネット接続を使用します。
  • VPNを介して1つの特定のIPアドレスにトラフィックをルーティングします。

手順

  1. Win+ Rを押して実行しncpa.cplます。

  2. VPN接続を右クリックし、[ プロパティ]→[ネットワーク ]に移動します

  3. インターネットプロトコルバージョン4を選択し、[ プロパティ]→[詳細...]に移動します

  4. [ リモートネットワークでデフォルトゲートウェイ使用する ]をオフにして、[ OK ]をクリックします。

  5. (オプション)インターネットプロトコルバージョン6に対して前の手順を繰り返します。

  6. VPNに(再)接続します。

  7. コマンドプロンプトを開いて実行しroute print -4ます。

  8. InterfaceリストでVPNのインターフェイスを見つけActive Routesでそのゲートウェイを見つけます。

    私のマシンには、次のものがあります。

    Interface List
     32...........................Super Free VPN
    
    [...]
    
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0         On-link        10.6.6.127     31
             10.0.0.0        255.0.0.0        10.88.1.1      10.88.1.102     31
    

    ここで、VPNのゲートウェイは10.88.1.110.xxx.xxx.xxxブロックのゲートウェイなので、です。

  9. VPNへの接続があるたびにアクティブなルートに追加される永続的なルートを追加します。

    route -p add 23.22.135.169 10.88.1.1 if 32
    

    この例で23.22.135.169は、はIPでwhatismyip.org10.88.1.1はゲートウェイのIPおよび32インターフェイスの番号です。

  10. (オプション)について前の手順を繰り返しますroute print -6

  11. セットアップをテストします。

    すべてがうまくいけば、whatismyip.orgwww.whatismyip.cxは異なるIPを表示します。


1
確かにもっと簡単な方法はありますか?
ブライアンレイシー

1
Linux(Ubuntu)でこれを達成する方法を知っていますか?
ЕлинЙ.

1
@ЕлинЙ。Network Managerを使用している場合は、[このネットワーク上のリソースにのみこの接続を使用する]を選択してください。
leif81 14年

1
+1 ...しかし、これをゴルフできますか?
オリビエデュラック

11

OpenVPNクライアント設定に、次のような行を追加します。

route The.IP.To.Go 255.255.255.255

(The.IP.To.Goは、VPN経由でルーティングするIPです)

これにより、OpenVPNがOSのルーティングテーブルにエントリを作成するように指示されます。

または、サーバー設定に追加することにより、OpenVPNサーバーでこのルーティング設定をクライアントに「プッシュ」することができます。

push "route The.IP.To.Go 255.255.255.255"

編集:アドレス指定を忘れた1つのこと-すべてのトラフィックのデフォルト転送...サーバーで無効にするか、クライアントが「プッシュ」ディレクティブを無視することを選択できます(したがって、2番目のオプション「ルートをプッシュする」は機能しません)経由:

route-nopull

-2
iptables -A PREROUTING -t mangle -i <LAN_interface> \
-d <remote_network>/<remote_netmask> -j ROUTE --gw <openvpn_host_ip>

このコマンドの機能を説明してください。説明のない1つのコマンドだけではあまり役に立ちません。また、投稿の書式設定も確認してください<brackets>。コードとしてマークされていない場合はすべて表示されません。
slhck
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.