如何通过 Linux 桥接器配置 VXLAN?

如何通过 Linux 桥接器配置 VXLAN?

我正在使用支持 VXLAN 配置的 Ubuntu 14.04。目前我可以添加 VXLAN 接口,以便:

vagrant@ubuntu:~$ sudo ip link add vxlan1 type vxlan id 1 group 239.1.1.2
vagrant@ubuntu:~$ sudo ip addr add 10.0.1.2/24 dev vxlan1
vagrant@ubuntu:~$ sudo ip link set vxlan1 up

但是,我被告知要通过 Linux 桥配置 vxlan,如下所示:

vagrant@ubuntu:~$ sudo ip link add vxlan1 type vxlan id 1 group 239.1.1.2 dev br0
vagrant@ubuntu:~$ sudo ip link set vxlan1 up

而 br0 则连接了其他 tap 接口。

以下是桥梁信息:

vagrant@i4-controller:~/workspace/devstack$ brctl show br1
bridge name bridge id       STP enabled interfaces
br1     8000.000c2987898a   no      vnet0
                                    vxlan1

我有点困惑 vxlan 接口如何工作,这是否意味着所有 tap 接口都将被隧道传输到 vxlan1?

谢谢

答案1

我觉得你把一些东西搞混了。简单来说,将 tap 接口/vxlan 接口添加到 Linux 桥接器与添加物理接口没什么区别(只是接口的另一端不同)

根据我对您的问题的推断,更详细的答案:

您创建的 vxlan 接口提供了 vxlan 隧道端点,您可以通过该端点与隧道另一端的实体进行通信。我们可以使用 vxlan 隧道来互连两个未运行同一物理系统的 VM/docker 容器/LXC。

当这样做时,我们可以创建一个可供虚拟机使用的 veth/tap 接口,并且该接口可以使用 linux 桥连接到 vxlan 接口。

对于容器来说,这甚至不是必需的,您可以使用 PHYS 接口模式将 vxlan 接口直接推送到容器中。

相关内容