如何使用 OpenvSwitch 创建 Geneve 隧道?

网络工程 隧道 sdn
2022-02-19 17:35:28

万一,两台物理主机有一台 OpenvSwitch 相互桥接。

  • 远程服务器ip:1.1.1.1
  • 本地服务器ip:2.2.2.2

如何通过geneve连接两个OpenvSwitch网桥?以及如何验证数据包?

1个回答

这可以使用树顶 Open vSwitch 代码(我尝试使用 OVS 2.4,但无法vport_geneve加载内核模块——我承认我可能做错了什么)。这个过程应该让你到达那里:

  1. 首先克隆 OVS 存储库 ( git clone https://github.com/openvswitch/ovs.git),然后按照存储库中的说明编译、安装和运行 OVS。显然,您需要在两台服务器上执行此操作。服务器需要运行 Linux >= 3.18(我在 Ubuntu 14.04.2 上使用内核 3.19.0-49)。

  2. 确保 Open vSwitch 和 Geneve 内核模块正确加载(sudo lsmod | grep openvswitch),并且ovs-vsctl show在继续之前,类似的命令正常工作。如果您看到错误,请停止并返回编译和安装 OVS 的说明。

  3. 为每个服务器添加一个网桥和 Geneve 端口:

    ovs-vsctl add-br br-int
    ovs-vsctl add-port br-intgeneve0 -- 设置接口geneve0 type=geneve options:remote_ip=<远程服务器地址>

  4. 现在将虚拟机(或使用 veth 对的网络命名空间)附加到您在每台服务器上创建的 OVS 网桥。这些虚拟机/命名空间应该能够通过 OVS 实例之间的 Geneve 隧道相互通信。(请注意,您必须为这些虚拟机/命名空间执行手动 IP 配置,因为那里没有运行 DHCP。)

虽然我没有专门写过有关 Geneve 隧道的文章,但可以在我的网站上找到类似配置的示例。您可以在http://blog.scottlowe.org/tags/#OVS查看所有 OVS 相关文章的列表

祝你好运!