OpenVPN - ルーティングテーブルについて+ VPN経由で特定のIPにのみトラフィックをルーティングする方法

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はptpアドレスであり、VPNの他の「終了」であることがわかっています。

ルーティングテーブルの私の理解は次のとおりです。

  • デフォルトでは、すべてのトラフィックは tun0 インターフェイスで 10.7.7.125 を介して送信されます (ただし、このマスクを使用するのはなぜですか?)
  • 10.7.7.1 tun0経由でアクセス可能
  • VPNのパブリックIPはeth0を介してアクセスできます。

VPNが有効になっていないときのデフォルトゲートウェイである2番目のデフォルトゲートウェイをバイパスするだけではわかりません。

10.7.7.1 どうですか? VPNゲートウェイのようです...

ターゲットが128.0.0.0の理由は何ですか?

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

VPNのサーバー側は制御できず、クライアント設定のみを制御できます。

今私が望むなら:

  • 216.58.213.174へのすべてのトラフィックがVPN tun0を通過するように強制し、他のすべてのトラフィックがeth0を通過するようにしますか?
  • VPNの起動時に自動的にVPNを設定できますか?

これを理解するために、アドバイスやサポートに感謝します。

韓国、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

VPNが有効になっていないときのデフォルトゲートウェイである2番目のデフォルトゲートウェイをバイパスするだけではわかりません。

これは、OpenVPNがデフォルトゲートウェイを維持しながらトンネルを介してトラフィックをルーティングするために使用するトリックです。 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を通過するようにしますか?

はい、設定に「パス216.58.213.174 255.255.255.255 10.7.7.125」を含めてください。これにより、目的のパスが設定されます。構成から「redirect-gateway」オプションを削除して別のパスを維持できるようにする必要があります。

VPNの起動時に自動的にVPNを設定できますか?

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

私が説明したすべてのオプションとその他のオプションは、OpenVPNのオンラインマニュアルにあります。 https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage

関連情報