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
行ごとに分析してみましょう
- 宛てのパケットに
10.8.0.5
はゲートウェイがなく、使用するtun0
- 宛てのパケットはすべて経由でゲートウェイとして
10.8.0.1
使用さ10.8.0.5
れますtun0
- 宛てのパケットはすべて経由でゲートウェイとして
54.202.18.143
使用さ10.0.2.2
れますeth0
- 宛てのパケットに
10.0.2.0/24
はゲートウェイがなく、使用するeth0
- 169.254.0.0の部分は無視しましょう
- 他のすべてのパケット(宛て
0.0.0.0
)は、10.8.0.5
を介してデフォルトゲートウェイとして使用されますtun0
。これがデフォルトゲートウェイですよね。 - 宛てのパケットはすべて、デフォルトゲートウェイとして
128.0.0.0/7
使用さ10.8.0.5
れます。tun0
- 他のすべてのパケット(
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
0.0.0.0
ルートにはGenmaskが128.0.0.0
あるため、デフォルトのルートにはなりません。私は、このマスクが何を意味し、何のためのルートがあるのか、私には少し知らないと言いますが:/