我无法从配置了 Linux 桥接器的主机 ping 局域网机器

我无法从配置了 Linux 桥接器的主机 ping 局域网机器

我想使用我拥有的设备(一台笔记本电脑主机和一台 Raspberry Pi 3)设置一个迷你实验室来玩裸机 Kubernetes,以下是我基本上想做的事情:

网络拓扑结构

我正在尝试将 KVM 虚拟机、主机和 Raspberry Pi 连接到同一个虚拟网络。我想到了使用 Linux 桥接器的想法。我将主机的物理 NIC 添加到桥接器,并使用桥接接口创建了 KVM VM。我为所有接口(VM、主机 NIC、桥接器和 Raspberry Pi)分配了静态 IP 地址(192.168.123.0/24)。VM 和主机可以相互访问,但我无法 ping 通 Raspberry Pi 节点。当我禁用桥接器时,主机可以毫无问题地访问 Raspberry Pi 节点。请问我这里遗漏了什么?

PS:主机运行的是Debian 9。

桥梁配置:

auto kube-br
iface kube-br inet static
    address 192.168.123.127
    netmask 255.255.255.0
    bridge_ports enp2s0f0
    bridge_stp off
    bridge_fd 0

答案1

正确设置的步骤如下:

  1. 创建 Linux 虚拟网桥 br0(brctl或通过/etc/network/interfaces
  2. 为网桥分配一个 IP 地址。
  3. 启动网桥和主机的 NIC,但不为主机的 NIC 分配 IP(ip link set NIC up
  4. 配置 KVM 客户端以使用先前的桥接器(如果 VM 已经存在,--network bridge=br0则通过该桥接器)virsh edit DOMAIN
  5. 启动 KVM 域,启动其 NIC 并分配 IP 地址。
  6. 现在,虚拟机和 Raspberry Pi 都应该连接到同一个网络。

更多详情请见:Libvirt - 桥接网络

相关内容