我有点不知道如何阻止一系列 Ip 地址(最好是虚拟机的特定 mac 地址)
<filter name='local-fileserver-only' chain='ipv4' priority='-700'>
<uuid>blank for now</uuid>
<rule action='drop' direction='inout' priority='500'>
<mac srcmacaddr='52:54:00:c9:88:0b'/>
<ip start='192.168.1.0' end'192.168.1.255/>
</rule>
<rule action='drop' direction='inout' priority='500'>
<mac dstmacaddr='52:54:00:c9:88:0b'/>
<ip start='192.168.1.0' end'192.168.1.255/>
</rule>
</filter>
我开始怀疑 nwfilter 是否可行
答案1
根据文档,没有start or
对 IPv4 规则的 end` 属性支持。您的选择是:
srcmacaddr
srcmacmask
dstmacaddr
dstmacmask
srcipaddr
srcipmask
dstipaddr
dstipmask
protocol
srcportstart
srcportend
dstportstart
dstportend
dscp
comment
如果你想黑进出出192.168.1.0
的流量192.168.1.255
,那就对应网络192.168.1.0/24
。 24 位网络掩码表示255.255.255.0
.这给了我们:
<filter name="block-192-168-1-0" chain="ipv4">
<rule action="drop" direction="in" >
<ip srcipaddr="192.168.1.0" srcipmask="255.255.255.0"/>
</rule>
<rule action="drop" direction="out" >
<ip dstipaddr="192.168.1.0" dstipmask="255.255.255.0"/>
</rule>
</filter>
如果我使用以下命令将其应用于正在运行的虚拟机virt-xml
:
virt-xml --edit --update --network filterref.filter=block-192-168-1-0 my-test-vm
该虚拟机无法再访问 192.168.1.0/24 网络上的主机。