AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1005939
Accepted
benetsi
benetsi
Asked: 2020-03-07 15:15:28 +0800 CST2020-03-07 15:15:28 +0800 CST 2020-03-07 15:15:28 +0800 CST

如何配置 VLAN 以及 Libvirt/KVM/QEMU 和 OVS?

  • 772

我正在使用 Debian 9 机器作为具有两个接口的路由器:

eth0 for WAN
eth1 for LAN

eth1 具有用于多个 VLAN(eth1.10;eth1.20;eth1.30)的子接口,并具有与托管交换机的中继连接。各种设备连接到交换机访问端口并可以访问 Internet。相当标准的设置,一切都按预期工作。

现在我要做的是使用 libvirt/KVM/Qemu 在 Debian 路由器内创建一些虚拟机,并使用 OVS 网桥将它们连接到现有的 VLAN。类似于重新创建与我上面描述的相同的物理配置,但已虚拟化。

我尝试创建 ovsbr0,将 eth1 端口添加到桥接,然后为我希望 VM 连接到的特定 VLAN 添加标记端口,如下所示:

# ovs-vsctl add-br ovsbr0
# ovs-vsctl add-port ovsbr0 eth1
# ovs-vsctl add-port ovsbr0 vnet1 tag=10
# ovs-vsctl add-port ovsbr0 vnet2 tag=20
# ovs-vsctl add-port ovsbr0 vnet3 tag=30

当我运行实际的虚拟机时,网桥如下所示:

# ovs-vsctl show
   Bridge ovsbr0
       Port ovsbr0
           Interface ovsbr0
               type: internal
       Port "eth1"
           Interface "eth1"
       Port "vnet1"
           tag: 10
           Interface "vnet1"
       Port "vnet2"
           tag: 20
           Interface "vnet2"
       Port "vnet3"
           tag: 30
           Interface "vnet3"

令我惊讶的是,虚拟机 vnet 接口没有连接。从 eth1 上的 tcpdump,我可以看到来自 VM 的 ARP 帧被正确标记并到达 eth1 接口,但由于某种原因没有转发到子接口。我以前从未使用过 OVS,所以我显然遗漏了一些重要的东西,但无法弄清楚它是什么。

有人可以指出我正确的方向吗?

vlan kvm-virtualization linux-networking openvswitch
  • 1 1 个回答
  • 2347 Views

1 个回答

  • Voted
  1. Best Answer
    benetsi
    2020-03-21T04:53:51+08:002020-03-21T04:53:51+08:00

    OVS 网桥只会将流量转发到实际配置的网桥中的端口。尽管 eth1 作为中继接口正确添加到网桥,但子接口(eth1.10;eht1.20;eth1.30)不是网桥的一部分,永远不会看到流量。解决方案很简单 - 只需将提到的 VLAN 子接口添加到网桥即可。

    • 1

相关问题

  • des3526,如何取消标记 vlan 端口?

  • WAN 上的 VLAN

  • Linux VLAN 桥接器

  • 要使网络负载平衡发挥作用,数据中心网络有哪些要求?

  • 通过单独的 VLAN 进行 SQL 复制

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve