我目前有一台带有两个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地址….”。