KVM防火墙禁止一组客人访问互联网

我有一个本地networking(192.168.10.0/24)内的KVM服务器。 该服务器有三个接口,都是公开的桥接[1]。 Atm我只使用三个接口中的两个,所以虚拟机分成两组(一个使用bridge0 ,另一个使用bridge1 )。

是否可以在主机上设置防火墙(iptables),禁止使用bridge1的组访问互联网? 或者我需要不同的设置(通过主机路由)?

[1] http://www.linux-kvm.org/page/Networking#public_bridge


我试过以下(但似乎没有工作):

  1. 允许一切在本地回环
  2. 允许bridge0上的所有内容
  3. 只允许通过网桥1的本地networkingstream量
  4. 否认一切

相应的iptables -S输出:

  -P INPUT DROP -P FORWARD DROP -P OUTPUT DROP -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -m state --state NEW -j ACCEPT -A INPUT -i bridge0 -m state --state NEW -j ACCEPT -A INPUT -s 192.168.10.0/24 -d 192.168.10.0/24 -i bridge1 -m state --state NEW -j ACCEPT -A INPUT -j DROP -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i bridge0 -m state --state NEW -j ACCEPT -A FORWARD -o bridge0 -m state --state NEW -j ACCEPT -A FORWARD -s 192.168.10.0/24 -d 192.168.10.0/24 -i bridge1 -m state --state NEW -j ACCEPT -A FORWARD -s 192.168.10.0/24 -d 192.168.10.0/24 -o bridge1 -m state --state NEW -j ACCEPT -A FORWARD -j DROP -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o lo -m state --state NEW -j ACCEPT -A OUTPUT -o bridge0 -m state --state NEW -j ACCEPT -A OUTPUT -s 192.168.10.0/24 -d 192.168.10.0/24 -o bridge1 -m state --state NEW -j ACCEPT -A OUTPUT -j DROP 

您应该能够在主机上设置2个iptables规则,一个允许通过bridge0访问互联网,另一个拒绝其他人访问互联网,使用–in-interface / –out-interface参数。