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


12

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のもう一方の「終わり」であると理解しているptpアドレスです

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

  • デフォルトでは、すべてのトラフィックはインターフェイス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 

1
ちょうど私の2セント:ip route listルートをよりよく見るために使用します。また、ifconfigとrouteがLInuxの廃止に

回答:


15

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


本当にありがとうございました!!! 私は0.0.0.0/1と128.0.0.0/1を使ってかわいいトリックを理解しようとして、ネットワークミニューシャを何日か調べてきました。最後に、VPNが有効になっている場合を除いて、完全に冗長なルートを追加するだけで済みました。
rlduffy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.