KVM主机上的防火墙阻止访问虚拟机:

我有一台运行KVM的Linux机器,有几个虚拟机,都有公共IP:s。 目前,我已经把所有的东西都通过一个桥(br0),这很好。

我还需要主机上的防火墙来限制对主机和虚拟机的访问:我想我们正在谈论路由和iptables? 我不是经验丰富的iptables /桥接/networking的东西,需要一个正确的方向点。

任何build议?

主机:Ubuntu服务器11.04,虚拟机:混合,Linux和Windows

可以设置iptables来检查网桥stream量。 我通常禁用它来提高性能,但是你可以做相反的事情:/etc/sysctl.conf:

net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 

如果你将其中的任何一个设置为1而不是0,你将有主机iptables过滤桥的stream量。

另一个解决scheme是停止使用网桥,并使用使用iptables的libvirts的NAT实现

编辑:因为这两种方式都是错误的国际海事组织,我会运行在客人自己的防火墙,留在正常的桥接networking。 或者,更合适的是,在虚拟基础架构之前运行一个单独的防火墙设备