iptables 中可以进行按位匹配吗?

iptables 中可以进行按位匹配吗?

我正在研究多站点部署,其中每个远程位置都有一个 IPSec VPN 返回数据中心。我正在尝试为支持人员找到一种简单的方法来提供对远程位置的访问,但这样做是安全的。

广义上讲:A 组的员工只能访问 A 组的设备,B 组的员工只能访问 B 组的设备。两个组可以将他们的设备放在一个位置(假设 A 组管理服务器,B 组管理 IP CCTV 系统)。每个组都有他们自己的专用子网,他们将从该子网进行连接,例如 A 组可能有 10.0.0.0/24,B 组可能有 10.0.1.0/24。

为数百台机器创建明确的规则感觉太繁琐了。一定有比列出用户可以连接的每台机器更好的方法。我的想法是这样的:在每个位置内,将其中的一部分专门分配给一个给定的组。因此 10.xx1-15 可以是 A 组的设备,而 10.xxx16-31 可以是 B 组的设备,等等……

现在 iptables问题部分:无论远程位置的数量有多少,数据中心方面是否可以只设置 2 条规则来匹配此规则?例如,一条匹配 10.xx1-15,另一条匹配 16-31?

如果没有,我是否应该研究其他方法?

编辑:我想我可以使用 ipset,这样可以减少规则的数量,尽管我仍然有管理集合的开销。

答案1

我想要一条规则涵盖:10.0.0.16/28、10.0.1.16/28、10.0.2.16/28

那么你会想要

iptables -A INPUT -s 10.0.0.16/255.255.0.240

iptables 完美地允许有“洞”的位掩码。

答案2

似乎你忽略了显而易见的事实:

 iptables -A INPUT .... -s 10.0.0.16/28 -j ...

相关内容