web-dev-qa-db-ja.com

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

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

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

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

オフサイトネットワークにアクセスしてVPNサーバーにルーティングするために、オフサイトネットワークを追加します。

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

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
11
Jocke

ルーティングテーブルを確認します。呼び出し時に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を想定して、質問でサブネットの完全な宣言を提供しなかったため

22
tomodachi