我正在做一些关于使用 KVM 主机对 KVM 客户 VM 执行动态防火墙限制的论文ebtables
研究iptables
。
问题如下:我在 上设置了一个eth0
名为 的桥接器br0
。它工作正常。然后我添加了两个分接设备:tap0
和tap1
以使用br0
。
由于某些奇怪的原因,在 KVM GUI 中,只有1其中一个 tap 设备被识别为桥接设备。另一个则说macvtap
。我不明白为什么会这样。我不记得在我运行此系统的其他系统上出现过这个问题,但我在 ThinkPad 上遇到了这个问题。
下面是 GUI 的屏幕截图,显示了我正在谈论的内容:
为什么tap1
得到的是“(Bridge 'br0')”标签而不是tap0
?它们都应该被识别为桥梁。
我在 CentOS 6 上运行它,下面是ifcfg
tap 的文件:
为了tap0
:
DEVICE="tap0"
TYPE="Tap"
BRIDGE="br0"
并且对于tap1
:
DEVICE="tap1"
TYPE="Tap"
BRIDGE="br0"
理论上,这应该是可行的......
编辑:重新安装 CentOS 是个好主意吗?我想知道主机的设置是否在某个地方出了问题……
编辑2:我进一步检查了我的问题,但我仍然很困惑为什么只有一个 tap 接口被视为桥接接口。同样奇怪的是,该br0
接口没有出现在该列表中。我记得在我的其他系统上,它也会列出它。为了证明tap0
和tap1
在桥接中,以下是brctl show
命令的输出:
bridge name bridge id STP enabled interfaces
br0 8000.001c25990400 no eth0
tap0
tap1
正如您所见,、、eth0
和tap0
被tap1
添加到br0
桥中...所以...这应该可以工作....
答案1
如果您的目标是使用网桥 br0 作为虚拟机的交换机。您可以删除 tap0 和 tap1。在 virt-manager 中选择指定共享设备名称并在文本字段中输入 br0。
无需手动创建 tap0 和 tap1。只需像下图所示配置您的 VM 即可。LibVirt 会为您动态创建 vnet 设备。