web-dev-qa-db-ja.com

OpenVPN-ルーティングテーブルを理解する+ VPNを介してトラフィックのみを特定のIPにルーティングする方法

OpenVPNを使用してVPNサービスに接続していますが、すべて正常に動作しています。接続すると、次のルールが自動的に設定されます。

root@linux:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AA:1B:01:AC:FB  
          inet addr:192.168.1.201  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:46867 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29742 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37977382 (36.2 MiB)  TX bytes:5098121 (4.8 MiB)
          Interrupt:16 

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.7.7.126  P-t-P:10.7.7.125  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:23284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:31366374 (29.9 MiB)  TX bytes:308591 (301.3 KiB)

root@linux:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.7.7.125      128.0.0.0       UG    0      0        0 tun0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
5.120.121.114   192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
10.7.7.1        10.7.7.125      255.255.255.255 UGH   0      0        0 tun0
10.7.7.125      *               255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.7.7.125      128.0.0.0       UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

これが私が理解していることです:

  • 私のローカルIPアドレスは192.168.1.201です
  • ローカルゲートウェイは191.168.1.1です
  • 5.120.121.114はVPNパブリックIPです
  • tun0はVPNトンネルです。私のマシンのアドレスは10.7.7.126です。
  • 10.7.7.125は、VPNのもう一方の「終わり」であると理解しているp-t-pアドレスです

ルーティングテーブルについては、次のように理解しています。

  • デフォルトでは、すべてのトラフィックはインターフェイスtun0の10.7.7.125経由で送信されます(しかし、なぜそのマスクなのですか?)
  • 10.7.7.1はtun0経由で到達可能
  • vPNのパブリックIPはeth0経由で到達可能です

2番目のデフォルトゲートウェイがわかりません。これは、VPNがアクティブでない場合のデフォルトです。単にバイパスされますか?

10.7.7.1はどうですか?それはVPNのゲートウェイのように見えます...

なぜ宛先128.0.0.0なのですか?

OpenVPNはこれらすべてのルールを自動的に作成します。しかし、何が作成されたかに基づいて?

VPNのサーバー側は制御できませんが、クライアント構成のみを制御します。

今私がしたい場合:

  • すべてのトラフィックを強制的に216.58.213.174にVPN tun0経由で送信し、残りはすべてeth0経由で送信しますか?
  • vPNの起動時に自動的に確立することはできますか?

これを理解する上でのご提案とご支援に感謝いたします。

KR、dk

編集:

root@linux:~# ip route list
0.0.0.0/1 via 10.7.7.125 dev tun0 
default via 192.168.1.1 dev eth0 
5.152.210.249 via 192.168.1.1 dev eth0 
10.7.7.1 via 10.7.7.125 dev tun0 
10.7.7.125 dev tun0  src 10.7.7.126 
128.0.0.0/1 via 10.7.7.125 dev tun0 
192.168.1.0/24 dev eth0  src 192.168.1.201 
12
d82k

2番目のデフォルトゲートウェイがわかりません。これは、VPNがアクティブでない場合のデフォルトです。単にバイパスされますか?

これは、デフォルトゲートウェイを維持しながら、トンネルを介してトラフィックをルーティングするOpenVPNのハックの1つです。 0.0.0.0/1と128.0.0.0/1のルートは、すべてのアドレスに一致する一方で、より限定的であるため、0.0.0.0/0のルートよりも優先されます。詳細については、OpenVPNのドキュメントで「def1」を検索してください

10.7.7.1はどうですか?それはVPNのゲートウェイのように見えます...

多分そう

OpenVPNはこれらすべてのルールを自動的に作成します。しかし、何が作成されたかに基づいて?

おそらくサーバーからプッシュされます。クライアントが構成ファイルと一緒に起動している間にクライアントからの出力を提供できる場合は、詳細情報を提供できます

VPNのサーバー側は制御できませんが、クライアント構成のみを制御します。

そうですが、クライアントは高度に構成可能であるため、サーバーがクライアントに実行してほしいことはほとんど何でもオーバーライドできます。それでも、接続するにはプロバイダーの基本要件を満たす必要があります。また、プロバイダーの「利用規約」を確認して、プロバイダーを怒らせないようにしてください。

今私がしたい場合:

すべてのトラフィックを強制的に216.58.213.174にVPN tun0経由で送信し、残りはすべてeth0経由で送信しますか?

はい、設定に「route 216.58.213.174 255.255.255.255 10.7.7.125」を含めます。これで目的のルートが設定されます。設定から「redirect-gateway」オプションを削除することで、他のルートを適切な場所に維持できるはずです

vPNの起動時に自動的に確立することはできますか?

はい、上記を参照してください

これまでに説明したすべてのオプションと詳細については、OpenVPNのオンラインドキュメントをご覧ください。 https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage

15
smokes2345