特定のIPアドレスのみをVPN経由でルーティングする

特定のIPアドレスのみをVPN経由でルーティングする

私は Ubuntu 18.04 マシンを使用しており、VPN トンネルを介して職場のネットワーク、つまりネットワーク ファイル共有に単一の IP のみをルーティングしたいと考えています。

認証関連のすべてが含まれた .ovpn クライアント構成ファイルが提供され、それをセットアップしてファイル サーバーにアクセスできました。これを行うには、GUI ルートを使用しました: [Ubuntu システム設定 > ネットワーク > VPN > ファイルからインポート...]。ただし、VPN を有効にすると、インターネットにアクセスできなくなり、google.com を開こうとするとタイムアウトになります。

.ovpn ファイルの末尾に次の内容を追加しました:

route-nopull
route <file server ip> 255.255.255.255

しかし、[ファイルからインポート...] を再度使用しようとすると、GUI が停止し、この VPN 構成を保存する前に、この特定のルートのゲートウェイ アドレスを入力する必要があると表示されます。上記のディレクティブ255.255.255.255からの はroute、ネットマスクとして入力されます。

そこにどのゲートウェイ IP を入力しなければならないのかわかりません。試してみました:

  • 192.168.0.1
  • 192.168.1.1
  • 192.168.42 1 .1

1ipconfig実際には 42 ではなく、ネットワーク内の Windows マシンの出力から取得された特定の数値です。

正しいゲートウェイ IP を見つけるにはどうしたらいいですか? やり方が間違っているのでしょうか?

答え1

以下のオプションをお勧めします:

route-noexec
up misc/up.sh

ここで、 はmisc/up.sh設定ファイルに関連するスクリプトを参照します。 (私の設定は にあり/etc/openvpn/foo.conf、スクリプトは にあります/etc/openvpn/misc/up.sh) このスクリプトには次の内容が含まれます。

#!/bin/sh
#

ip route add <file_server_ip> via $4
#ip route add <file_server_ip> dev $1

これにより、VPN サーバーはエンドポイントの IP アドレスを設定できますが、ルーティングはスクリプトによって処理されます。上記が機能しない場合は、2 行目だけを使用してみてください。

答え2

ルート ゲートウェイは、少なくとも tun セットアップでは実質的に任意です。これは、必要ではない / 実際には役に立たないからです (実際のゲートウェイがサーバーでない場合は、iroute代わりに によって決定されます)。

私の推測では、クライアント conf でオプションをフィルタリングしているroute-gatewayか、サーバー conf が単にそれをプッシュしていない (ディレクティブを使用していないserver) かのどちらかです。

アドレスはサーバーの VPN IP であるはずですが、任意の IP を使用しても問題はありません (ただし、「スマート」 GUI がそれを何かに対してチェックするかどうかはわかりません。 と 1 対 1 のセットアップを行っていない限り、チェックできないはずですifconfig)。

PS つまり、フィールドにランダムな IP を入力しても接続が機能しない場合は、それが問題の原因ではない可能性があります。

関連情報