から資料をインポートしましたOpenVPNクライアントのルーティングテーブルを理解する方法。
ルーティングテーブルは次のとおりです。
# route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
54.202.18.143 10.0.2.2 255.255.255.255 UGH 0 0 0 eth0
10.0.2.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
OpenVPNを設定しましたが、次の2つの点について混乱しています。
- tun0 経由の TCP パケット
- 54.202.18.143(パブリックVPN IP)を介したUDP OpenVPNパケット
質問:
- OpenVPNに次の行が必要なのはなぜですか
54.202.18.143 10.0.2.2 255.255.255.255 UGH 0 0 0 eth0
? - どのパケットが tun0 を通過しますか?
- 54.202.18.143を通過するパケットは何ですか?
ご協力ありがとうございます!
答え1
どうするかわからない:
- .NETを通過するのはTCPパケットではありません
tun0
。 UDPとICMPも可能です。 - UDP は OpenVPN トラフィックをカプセル化するプロトコルです。
質問と回答:
これはVPNゲートウェイへの明示的なパスです(IPアドレスと正確に一致していることを確認してください。それ以上ではありません)
255.255.255.255
。54.202.18.143
54.202.18.143 10.0.2.2 255.255.255.255 UGH 0 0 0 eth0
私はこれが
10.0.2.2
あなたのLANルーターであると仮定しているので、VPNエンドポイントへのすべてのトラフィックがあなたのルーターeth0
(およびそれ以降)を介して送信されることをクライアントに伝えます。これにより、VPNを介してすべてのトラフィックを送信するように擬似デフォルトルートが更新されたため、カプセル化されたパケット自体はVPNを介してルーティングされません。 (ヘビが尾を噛むほど状況が悪いです。)擬似基本パスは、次の 2 行で構成されます。
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0 128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
これらのラインは実際のデフォルトパスよりも優先順位が高くなりますが、ルーティングテーブルの他のラインよりも優先順位が低くなります。ルーティングテーブル内の他の行と一致するトラフィックを除くすべてのトラフィックと一致します。
- OpenVPN UDP カプセル化トラフィックを除くすべてのパケットは tun0 を通過します。
- OpenVPN UDPカプセル化されたトラフィックのみが54.202.18.143を通過します。