web-dev-qa-db-ja.com

GREリモートエンドポイント(オープンvswitch内)に到着した後、GREトラフィックはどのように道を見つけますか?

私はネットワークとopenvswitchの両方にまったく慣れていないので、この質問がopen vswitch(ovs)とgreのどちらに関連するのかわかりません。

以下はovssettintコマンドです。 2つのホストがあります。各ホストには、2つのブリッジbr1とbr2があります。 br2には、リモートエンドポイントとしてbr1のIPを持つgreトンネルインターフェイスがあります。

ホストA

Sudo ifconfig eth1 0
Sudo ovs-vsctl add-br br1
Sudo ovs-vsctl add-br br2
Sudo ovs-vsctl add-port br1 eth0
Sudo ifconfig br1 192.168.1.155 netmask 255.255.255.0
Sudo ifconfig br2 10.1.1.1 netmask 255.255.255.0
Sudo ovs-vsctl add-port br2 gre0 -- set interface gre0 type=gre options:remote_ip=192.168.1.152

hostB

Sudo ifconfig eth1 0
Sudo ovs-vsctl add-br br1
Sudo ovs-vsctl add-br br2
Sudo ovs-vsctl add-port br1 eth0
Sudo ifconfig br1 192.168.1.152 netmask 255.255.255.0
Sudo ifconfig br2 10.1.1.2 netmask 255.255.255.0
Sudo ovs-vsctl add-port br2 gre0 -- set interface gre0 type=gre options:remote_ip=192.168.1.155

GREトラフィックは、リモートエンドポイントに到着した後、どのように道を見つけますか?同じホストでbr1とbr2の間に接続がないようです。ホストAのbr2からのトラフィックがホストBのbr1をどのように通過するかは理解できました。しかし、トラフィックがホストB(gre宛先)のbr1からホストBのbr2に到達する方法を見つけることができませんでした。

3
jinhwan

ホストbで、br1にIPアドレス192.168.1.152を指定していることに注意する必要があります。したがって、好むと好まざるとにかかわらず、トンネルはbr1で終了します。 openvswitchでは、ブリッジ自体がインターフェースです。だからそれはあなたの質問を説明します。

そうしておらず、br2にgre0というインターフェイスのみを作成し、remote_ip 192.168.1.155に接続している場合は、vethペアを作成し、br1とbr2をアタッチする必要があります。

Greを使用している間は、マシンのインターフェイスのいずれかがIPアドレスを持っていれば十分であることに注意してください。そのインターフェースをブリッジに追加する必要はまったくありません。ブリッジにエンドポイントがある限り、ブリッジはそのトンネルからパケットを受信できます。

それが役に立てば幸い。

2
Akilesh