OpenVPNを使用してクライアントにルートを追加する


13

これが私のセットアップです。Ubuntu OpenVPNバージョン2.3.2を実行しているラップトップ

オフサイトネットワークに接続するOpenVPNサーバーに接続します。

OpenVPNクライアントを実行し、VPNサーバーにpingを実行できます。サーバーはルートをプッシュしないため、クライアントでルーティングする必要があります。

オフサイトネットワークにアクセスできるように、VPNserverにルーティングするオフサイトネットワークを追加します。

したがって、私が抱えている問題は、リクエストが192.168.0.1ネットワークからオフサイト172にジャンプしないことです。* one ...クライアントでそれについて何かできますか?私はサーバーの所有権を持っていないし、ルートは現在サーバーからプッシュされていません、将来的にはわかりません

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:10.242.2.6  P-t-P:10.242.2.5  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:100 
      RX bytes:0 (0.0 B)  TX bytes:12129 (12.1 KB)

wlan1     Link encap:Ethernet  HWaddr 5c:93:a2:a0:6e:1b  
      inet addr:10.101.7.41  Bcast:10.101.31.255  Mask:255.255.224.0
      inet6 addr: fe80::5e93:a2ff:fea0:6e1b/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:355109 errors:0 dropped:0 overruns:0 frame:0
      TX packets:206832 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:454685028 (454.6 MB)  TX bytes:23942624 (23.9 MB)



Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.101.0.1      0.0.0.0         UG        0 0          0 wlan1
10.101.0.0      0.0.0.0         255.255.224.0   U         0 0          0 wlan1
10.242.2.1      10.242.2.5      255.255.255.255 UGH       0 0          0 tun0
10.242.2.5      0.0.0.0         255.255.255.255 UH        0 0          0 tun0
192.168.0.0     10.242.2.5      255.255.255.0   UG        0 0          0 tun0
192.168.82.0    10.242.2.5      255.255.255.0   UG        0 0          0 tun0

ルートを追加するには、クライアント構成で一時停止/プルまたは手動構成を使用します。サーバーにルートをプッシュせずにこれを行う方法についての質問はありますか、それともサーバーからクライアント(または個々のルート)にルートをプッシュする方法はあなたの質問ですか?質問に含めてください(編集してください):1)サーバーの構成を制御できるかどうか。2)クライアントOpenVPN構成(1がyesの場合はサーバー)も含めます。このようにして、より良いサポートを提供できます。
gertvdijk

回答:


25

ルーティングテーブルを確認します。172 ... *にトラフィックを伝える明示的なルートはありません。VPN tunインターフェイスに送信されます。

いくつかのオプションがあります:

  1. openVPNサーバーにアクセスできる場合は、このディレクティブをopenvpn構成に追加します。

    push "redirect-gateway def1 bypass-dhcp"
    

    この設定は、すべてのトラフィックがVPNを通過するようにルーティング/強制します。あなたが持っている他の選択肢。クライアント側で自分で静的ルートを追加することです

  2. ターミナルのクライアント側で手動でルートを追加します

    sudo route add -net 172.16.0.0/24 dev tun0
    
  3. openvpnには、routeオプションを使用してopenvpn構成ファイルにクライアント側のルートを追加および削除するためのディレクティブがあります。

    追加:

    route 172.16.0.0 255.255.255.0
    

    VPNクライアントのopenvpn設定ファイルに。接続するとルートが自動的に追加されます

  4. ボーナス:openvpnには、VPNへの接続時にスクリプトを起動できるup/ downディレクティブもあり ます。これにより、DNS、ルートなどの設定などのカスタムアクションを実行できますが、実行するコマンドを別のファイルに保存する必要があります。

    したがって、openvpnクライアントの構成ファイルに次のものがある場合

    script-security 2 system
    up run-stuff-after-vpn-connect.sh
    

    という名前のファイルを作成しますrun-stuff-after-vpn-connect.sh(実行権限があることを確認してください。そして以下を追加します。

    #!/bin/sh
    route add -net 172.16.0.0/24 dev tun0
    

    これにより、トンネルがアップするとすぐにルートが追加されます


172.16.0.0/24を想定して、質問でサブネットの完全な宣言を提供しなかったため


したがって、up。route add -net 172.16.0.0/24 dev tunをclient.confファイルに追加すると、netstat -rnにルートが表示されますか?
ジョッケ

私はclient.confでその行を追加する場合は、no VPNが上がるしない
Jocke

up routeコマンドをどこに追加しますか... ??
ジョッケ

2
@tomodachiこれをopenvpnクライアントで動作させるにはドット表記を使用する必要がありました(2.3.11)route 0.0.0.0 128.0.0.0
Matt

4
OpenVPN 2.3.13(Windows 10)では、オプションroute 172.16.0.0/24は受け入れられません172.16.0.0 255.255.255.0。代わりにルートを使用する必要があります。
WoJ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.