Shorewall – 通配符通过源MAC地址过滤

我目前有一台带有两个networking接口的Debian PC作为路由器/网关。

我有几个廉价的IP摄像机试图访问外部服务,大概是为了某种“云”function。 此function无法禁用。

我想向Shorewall添加规则,从这些相机中删除出站数据包,以防止他们访问互联网。 我曾经使用过类似的方法来防止二手消费级VOIP设备在过去下载不需要的configuration文件。

为了达到这个目的,我可以通过MAC地址或IP为每台摄像机添加filter。 这有点乏味。 例如

DROP local:~AA:BB:CC:11:22:33 DROP local:~AA:BB:CC:11:22:44 DROP local:~AA:BB:CC:11:22:55 etc.. 

我可以使用某种通配符吗? 例如

 DROP local:~AA:BB:CC:* 

这些摄像机与其他几个设备共享一个子网,并将它们移动到一个新的子网中,只是为了将防火墙规则应用到这些子网上是不可取的。

内核3.16.0-4-amd64上的Shorewall版本是5.0.15.6

简短的答案是:不,你不能。

Shorewall对界面名称(即使用'ppp +';这将匹配ppp0,ppp1,ppp2..etc。)和端口名称( http://shorewall.net/manpages/shorewall-interfaces.html )的通配符支持有限,但不支持为mac地址或ip地址。

我也做了一个快速testing,只得到“错误:无效的MAC地址….”。