在KVM的Tap接口(vnet0)上配置iptables规则阻止虚拟机访问互联网失效的问题求助
在KVM的Tap接口(vnet0)上配置iptables规则阻止虚拟机访问互联网失效的问题求助
我最近碰到个棘手的问题:想通过防火墙规则阻止KVM虚拟机访问互联网,但试了好几种iptables规则都完全没生效,实在摸不着头脑。
先交代下我的环境:服务器是Ubuntu Server 22.04,用KVM做虚拟化。服务器有个物理网卡enp34s0直接连到路由器,还创建了桥接接口br0,虚拟机用的是Tap设备vnet0,已经桥接到br0所在的网络中。
我尝试给vnet0加各种规则,但都没用。比如为了阻止虚拟机的ping功能,我先后试了这些命令:
iptables -I FORWARD -i vnet0 -o br0 -p icmp -j DROP iptables -I FORWARD -o vnet0 -i br0 -p icmp -j DROP iptables -I FORWARD -i vnet0 -o enp34s0 -p icmp -j DROP iptables -I FORWARD -o enp34s0 -i br0 -p icmp -j DROP
结果还是能从虚拟机ping出去,外部也能ping通虚拟机。后来我还试了针对HTTPS的规则(比如iptables -I FORWARD -i vnet0 -o br0 -p tcp --dport 443 -j DROP),同样没有效果。
我怀疑是不是Tap设备的特殊特性导致规则不生效?但网上翻了一圈也没找到相关的解决方案。有没有大佬能帮我看看我哪里操作错了?
备注:内容来源于stack exchange,提问作者Amit
相关产品推荐
相关产品推荐

