私はネットワークと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に到達する方法を見つけることができませんでした。
ホストbで、br1にIPアドレス192.168.1.152を指定していることに注意する必要があります。したがって、好むと好まざるとにかかわらず、トンネルはbr1で終了します。 openvswitchでは、ブリッジ自体がインターフェースです。だからそれはあなたの質問を説明します。
そうしておらず、br2にgre0というインターフェイスのみを作成し、remote_ip 192.168.1.155に接続している場合は、vethペアを作成し、br1とbr2をアタッチする必要があります。
Greを使用している間は、マシンのインターフェイスのいずれかがIPアドレスを持っていれば十分であることに注意してください。そのインターフェースをブリッジに追加する必要はまったくありません。ブリッジにエンドポイントがある限り、ブリッジはそのトンネルからパケットを受信できます。
それが役に立てば幸い。