我有一台运行 KVM 的 Linux 机器,上面有多个 VM,所有 VM 都有公共 IP。目前,我已将所有内容路由到网桥 (br0),效果很好。
我还需要在主机上安装防火墙来限制对主机和虚拟机的访问:我想我们正在讨论路由和 iptables?我对 iptables/桥接/网络方面不太有经验,需要一个正确的方向。
有什么建议吗?
主机:Ubuntu 服务器 11.04,虚拟机:混合 Linux 和 Windows
答案1
可以设置 iptables 来检查网桥流量。我通常会禁用它以提高性能,但你可以做相反的事情:/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 将过滤网桥的流量。
另一个解决方案是停止使用网桥,并使用 libvirts 的 NAT 实现,它也使用 iptables
编辑:由于在我看来这两种方式都存在很大缺陷,我会在客户机上运行防火墙,让它们处于正常的桥接网络上。或者,更合适的是,在虚拟基础设施前运行一个单独的防火墙设备