我目前有一台 Debian PC,有两个网络接口作为路由器/网关。
我有几个便宜的 IP 摄像机,它们试图访问外部服务,大概是为了某种“云”功能。无法禁用此功能。
我想向 Shorewall 添加规则,以丢弃来自这些摄像头的出站数据包,以防止它们访问互联网。过去,我使用过类似的方法来防止二手消费级 VOIP 设备下载不需要的配置文件。
为此,我可以为每台摄像机按 MAC 地址或 IP 添加过滤器。这有点乏味。例如
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 上的防火墙版本为 5.0.15.6
简短的回答是:不,你不能。
Shorewall 对接口名称(即使用 'ppp+';将匹配 ppp0、ppp1、ppp2..等)和端口名称(http://shorewall.net/manpages/shorewall-interfaces.html)的通配符支持有限,但不支持用于mac地址或IP地址。
我还做了一个快速测试,只得到“错误:无效的 MAC 地址......”。