地址池可为一组地址/网络掩码对建立单个引用。地址池可以减少将 IP 地址与规则相匹配所需的时间。还可使大型地址组更易于管理。
地址池配置规则可驻留在 IP 过滤器服务装入的文件中。必须创建文件,然后将其路径名设置为该服务的 config/ippool_config_file 属性的值。缺省值为 /etc/ipf/ippool.conf。
使用以下语法可创建地址池:
table role = role-name type = storage-format number = reference-number
定义对多个地址的引用。
指定 IP 过滤器中池的角色。可以引用的唯一角色是 ipf。
指定池的存储格式。
指定过滤规则所用的引用号。
例如,要将地址组 10.1.1.1 和 10.1.1.2 以及网络 192.16.1.0 作为池编号 13 引用,需要在地址池配置文件中包括以下规则:
table role = ipf type = tree number = 13 { 10.1.1.1/32, 10.1.1.2/32, 192.168.1.0/24 };
然后,要在过滤规则中引用池编号 13,需要构建与以下示例类似的规则:
pass in from pool/13 to any
请注意,必须在装入包含对池的引用的规则文件之前装入池文件。如果不这样做,则池是未定义的,如以下输出所示:
# ipfstat -io empty list for ipfilter(out) block in from pool/13(!) to any
即使稍后添加池,所添加的池也不会更新内核规则集合。另外,还需要重新装入引用池的规则文件。
有关完整的语法和句法,请参见 ippool(4) 手册页。