地址与端口组复用对象
当一条 ACL 要放行十几台服务器与多个端口时,逐条写规则会让配置迅速膨胀,也容易漏项。对象组(思科 object-group、华为地址集与服务集、H3C object-group)把这些地址和端口封装成可复用的命名对象,ACL 里引用对象名即可。改动一处对象定义,所有引用它的规则行为同步变化——灵活性的另一面是影响面大,改对象前要想清楚。
基本信息
| 适用平台 | 思科 IOS(object-group)、华为 VRP(ip address-set / ip service-set,部分型号支持)、H3C Comware(object-group) |
|---|---|
| 思科用法 | object-group network / service,ACL 中以 object-group 关键字引用 |
| 华为用法 | 定义地址集后在 ACL 规则中用 destination-address-set 引用 |
| H3C 用法 | 定义对象组后在规则中用 destination-address 引用对象名 |
| 平台限制 | 低端型号可能不支持对象组,只能用逐条 rule 表达 |
| 影响面 | 对象组内容变更会同时影响所有引用(含 ACL 与安全策略) |
典型使用场景
- 服务器清单放行:一组服务器需要开放相同端口,用地址组一次性表达
- 服务端口集合:Web 服务同时开放 80 与 443,用端口组避免重复写规则
- 策略复用:同一条 ACL 在多个接口上引用,对象组保证口径统一
- 变更收敛:新增一台服务器只需更新对象组,不用改所有引用它的规则
- 审计可读性:对象命名清晰时,ACL 的意图比数字列表更容易核对
思科 IOS
思科 IOS
SW-CORE-01(config)# object-group network SRV
SW-CORE-01(config-network-group)# host 10.1.1.10 # 逐个加入服务器地址
SW-CORE-01(config-network-group)# host 10.1.1.11
SW-CORE-01(config)# object-group service WEB tcp
SW-CORE-01(config-service-group)# eq 443 # 服务组里放端口
SW-CORE-01(config)# access-list 101 permit tcp 192.168.10.0 0.0.0.255 object-group SRV object-group WEB
SW-CORE-01# show object-group # 查看对象组定义华为 VRP
华为 VRP
[Huawei] ip address-set SRV type object # 定义地址集(部分型号支持)
[Huawei-object-address-set-SRV] address 0 10.1.1.10 mask 32
[Huawei-object-address-set-SRV] address 1 10.1.1.11 mask 32
[Huawei] acl number 3000
[Huawei-acl-adv-3000] rule 5 permit tcp source 192.168.10.0 0.0.0.255 destination-address-set SRV destination-port eq 443
<Huawei> display acl 3000 # 核对规则与引用关系H3C Comware
H3C Comware
[H3C] object-group ip address SRV
[H3C-obj-grp-ip-SRV] 0 host address 10.1.1.10
[H3C-obj-grp-ip-SRV] 1 host address 10.1.1.11
[H3C] acl advanced 3000
[H3C-acl-ipv4-adv-3000] rule 5 permit tcp source 192.168.10.0 0.0.0.255 destination-address SRV destination-port eq 443
<H3C> display object-group # 查看对象组内容三厂对象能力对照
| 能力 | 思科 IOS | 华为 VRP | H3C Comware |
|---|---|---|---|
| 地址组 | object-group network | ip address-set | object-group ip address |
| 服务组 | object-group service | ip service-set | object-group ip port / service |
| ACL 内引用 | object-group 关键字 | destination-address-set 等 | destination-address 对象名 |
| 低端型号 | 普遍支持 | 部分型号不支持 | 普遍支持 |
对象组是「共享变量」:改一次影响所有引用点。变更前先查出哪些 ACL 与策略引用了该对象(show object-group / display 相关命令),再动手;改完要在实际接口上验证一次规则是否按新的对象内容生效。