OpenVPNクライアントのルーティングテーブルを理解する方法


12

OpenVPNをセットアップするだけで、期待どおりに機能します。しかし、クライアントのルーティングテーブルは、私を完全に混乱させます。これがルートテーブルです。

# route -n
Kernel IP routing table
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

行ごとに分析してみましょう

  1. 宛てのパケットに10.8.0.5はゲートウェイがなく、使用するtun0
  2. 宛てのパケットはすべて経由でゲートウェイとして10.8.0.1使用さ10.8.0.5れますtun0
  3. 宛てのパケットはすべて経由でゲートウェイとして54.202.18.143使用さ10.0.2.2れますeth0
  4. 宛てのパケットに10.0.2.0/24はゲートウェイがなく、使用するeth0
  5. 169.254.0.0の部分は無視しましょう
  6. 他のすべてのパケット(宛て0.0.0.0)は、10.8.0.5を介してデフォルトゲートウェイとして使用されますtun0これがデフォルトゲートウェイですよね。
  7. 宛てのパケットはすべて、デフォルトゲートウェイとして128.0.0.0/7使用さ10.8.0.5れます。tun0
  8. 他のすべてのパケット(0.0.0.0)は10.0.2.2、デフォルトゲートウェイとしてeth0

質問:

  • ポイント6と8を考慮すると、2つのデフォルトゲートウェイがありますか?(ただし、デフォルトゲートウェイは1つしか存在しない可能性があるため、間違っていることはわかっていますが、正当化できません)(おそらく回答、以下を参照
  • ポイント1と2を考慮すると、10.8.0.1実際に何かがtun0経由でゲートウェイを使用しているわけではありません。これは正しいです?
  • ポイント3と4を考慮すると、54.202.18.143実際に経由するゲートウェイは何も使用されていません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

したがって、1行目はを定義し0.0.0.0/128.0.0.0、2 行目はを定義してい128.0.0.0/128.0.0.0ます。基本的に:

0.0.0.0/128.0.0.0 = 0.0.0.0/1 = 0.0.0.0 TO 127.255.255.255
128.0.0.0/128.0.0.0 = 128.0.0.0/1 = 128.0.0.0 TO 255.255.255.255

したがって、上記の2つのルートはIPv4アドレス範囲全体をカバーしています[0.0.0.0 TO 255.255.255.255]。元のデフォルトルートを置き換えずにデフォルトルートを追加することはOpenVPNの賢い方法であり、このデフォルトルートはを介してルーティングされtun0ます。

だから私は私の最初の質問に対する答えがあると思います:

ポイント6と8を考慮すると、2つのデフォルトゲートウェイがありますか?

いいえ、デフォルトゲートウェイは1つしかありません。

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

2
最初の0.0.0.0ルートにはGenmaskが128.0.0.0あるため、デフォルトのルートにはなりません。私は、このマスクが何を意味し、何のためのルートがあるのか​​、私には少し知らないと言いますが:/
Martin von Wittich

また、ネットワーク内の128.0.0.0をルーティングすることは、それがパブリックIPだから本当に奇妙であることをawarfeのことか」「私はドン予約のt思い出してくれるが、両方の場合には、これは奇妙です。。
Kiwy

128.0.0.0の部分はopenvpnからのものです。ここ
slayedbylucifer 2014年

「更新」はこれだけなので答えにしてください。私が抱えていたものとまったく同じ問題を理解するのに役立つ答えです。:)
WoJ

@slayedbylucifer 128.0.0.0の説明がダウンしているようで、利用可能なアーカイブはありません。あなたはたまたまこれについてオンラインリンクを持っていますか?
SaAtomic 2017年

回答:


3

ポイント6と8を考慮すると、2つのデフォルトゲートウェイがありますか?(ただし、デフォルトゲートウェイは1つしか存在しない可能性があるため、間違っていることはわかっていますが、正当化できません)(おそらく回答、以下を参照)

6行目は0.0.0.0-127.255.255.255の範囲を定義し、7行目は128.0.0.0-255.255.255.255の範囲を定義しています。

ポイント6と8を考慮すると、2つのデフォルトゲートウェイがありますか?

いいえ、デフォルトゲートウェイは1つしかありません。

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

ポイント1と2を考慮すると、10.8.0.1に向かうものは、実際にはtun0経由のゲートウェイを使用していません。これは正しいです?

不正解です。10.8.0.1宛てのパケットは10.8.0.5にルーティングされます(最初の行で設定されたtun0 lan からアクセスできます)。
ネットマスクが255.255.255.255でない場合は正しかった

ポイント3および4を考慮すると、54.202.18.143に向かうものは、実際にはeth0を介してゲートウェイを使用していません。これは正しいです?

不正解です。54.202.18.143宛てのパケットは10.0.2.2にルーティングされます(eth0 lan 上の別のホストであり、4行目からアクセスできます)。


最初の質問は自分で回答したので、回答を完成させたかったので、もう一度説明しました。
アラッシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.