libvirt网络过滤规则:禁止客户机(bridge方式)连接外网

首先是libvirt定义网络过滤规则的相关命令:

virsh nwfilter-define

后面加上一个xml文件,从一个XML文件中定义或者更新一个网络过滤规则。

virsh nwfilter-dumpxml

后面加上某个网络过滤规则的名称,查看一个网络规则的XML详细信息。

virsh nwfilter-edit

后面加上某个网络过滤规则的名称,编辑一个网络规则。

virsh nwfilter-list

列出所有定义成功的网络过滤规则。

virsh nwfilter-undefine

后面加上一个网络过滤规则的名称,须消该网络过滤规则。

注意:定义网络过滤规则可以无视客户机的状态,并且可以及时生效,,即使在客户机活跃的情况下。

禁止客户机使用外网时的xml文件内容:<filter name='no-ip-inout' chain='ipv4'><uuid>fce8ae34-e69e-83bf-262e-30786c1f8072</uuid><rule action='accept' direction='out' priority='100'><ip srcipaddr='192.168.x.0' dstipaddr='255.255.255.255' protocol='udp' srcportstart='67' srcportend='67' dstportstart='67' dstportend='68'/></rule><rule action='accept' direction='in' priority='100'><ip protocol='udp' srcportstart='67' srcportend='68' dstportstart='67' dstportend='68'/></rule><rule action='drop' direction='out' priority='200'><ip match='no' dstipaddr='192.168.x.0' dstipmask='255.255.255.0'/></rule></filter>

drop.xml

允许客户机使用外网时的xml文件内容:

<filter name='no-ip-inout' chain='ipv4'><uuid>fce8ae34-e69e-83bf-262e-30786c1f8072</uuid><rule action='accept' direction='out' priority='100'></rule></filter>

accept.xml

linux和DHCP与UDP相关的端口分别是67和68号端口,定义优先级为100的规则:允许源地址接受DHCP和UDP信息,并且可以发送UDP信息,目的地址也一样。定义优先级为200的规则:丢弃所有发发送到网管的包。通过优先级可以获取到需要的信息,(如DHCP网络的获取),并且限制虚拟机上网,丢弃发送出去的包。

当使客户机禁止使用外网的时候:

virsh nwfilter-define drop.xml

当使客户机可以使用外网的时候:

virsh nwfilter-define accept.xml

当要取消这个网络过滤规则的时候:

virsh nwfilter-undefine no-ip-inout

我知道按攻略去旅行的人往往玩得过于按步就班,

libvirt网络过滤规则:禁止客户机(bridge方式)连接外网

相关文章:

你感兴趣的文章:

标签云: