我想使用我拥有的设备(一台笔记本电脑主机和一台 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
正确设置的步骤如下:
- 创建 Linux 虚拟网桥 br0(
brctl
或通过/etc/network/interfaces
) - 为网桥分配一个 IP 地址。
- 启动网桥和主机的 NIC,但不为主机的 NIC 分配 IP(
ip link set NIC up
) - 配置 KVM 客户端以使用先前的桥接器(如果 VM 已经存在,
--network bridge=br0
则通过该桥接器)virsh edit DOMAIN
- 启动 KVM 域,启动其 NIC 并分配 IP 地址。
- 现在,虚拟机和 Raspberry Pi 都应该连接到同一个网络。
更多详情请见:Libvirt - 桥接网络