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
を使用します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
をデフォルトゲートウェイとして使用します質問:
10.8.0.1
に向かうものは、実際にはtun0経由でゲートウェイを使用していません。これは正しいです?54.202.18.143
に向かうものはeth0
経由のゲートウェイを実際には使用していません。これは正しいです?更新...
this を読んだ後、さらに情報を見つけました。以下の行は、今では私にとって非常に理にかなっています。
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
ポイント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にルーティングされます(これはtun lanで最初の行で設定されているようにアクセスできます)。
ネットマスクが255.255.255.255でなかった場合、あなたは正しかった
ポイント3と4を考慮すると、54.202.18.143に向かうものは、実際にはeth0経由でゲートウェイを使用していません。これは正しいです?
不正解です。54.202.18.143宛てのパケットは10.0.2.2にルーティングされます(これはeth lanの別のホストであり、4行目でアクセスできます)