GRE 流量到达 GRE 远程端点(在开放的 vswitch 中)后如何寻找路径?

GRE 流量到达 GRE 远程端点(在开放的 vswitch 中)后如何寻找路径?

我对网络和开放式 vswitch 都很陌生,我不确定这个问题是否与开放式 vswitch(ovs)或 gre 更相关。

以下是 ovs 设置命令。有两台主机。每台主机都有两个网桥 br1 和 br2。br2 具有 gre 隧道接口,该接口以 br1 的 ip 作为其远程端点。

主机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

主机B

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 的 br1(gre 目的地)找到到主机 B 的 br2 的路径。

答案1

您必须注意,在主机 b 中,您已为 br1 指定了 IP 地址 192.168.1.152。因此,无论您是否喜欢,您的隧道都会终止于 br1。在 openvswitch 中,网桥本身就是一个接口。所以这解释了您的问题。

如果您没有这样做,并且仅在 br2 中创建了一个名为 gre0 的接口并连接到 remote_ip 192.168.1.155,则应该创建一个 veth 对并连接 br1 和 br2。

请注意,使用 gre 时,机器上的任何一个接口都有 ip 地址就足够了。该接口根本不需要添加到您的网桥中。只要您的网桥有一个端点,它们就能够从该隧道接收数据包。

希望能帮助到你。

相关内容