我正在使用支持 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 接口直接推送到容器中。