在Cisco ASA(Adaptive Security Appliance)防火墙配置中,网络对象组(Network Object Groups)是简化访问控制列表(ACL)管理的重要工具,通过将多个网络对象(如IP地址、子网、端口、协议等)组织成逻辑组,管理员可以避免在ACL中重复输入大量条目,降低配置复杂度,同时提高规则的可读性和维护效率,本文将详细说明ASA网络对象组的类型、创建方法、配置步骤及应用场景,帮助用户掌握这一核心功能的实践应用。

网络对象组的类型及用途
ASA中的网络对象组主要分为五类,每类针对不同的管理需求设计,具体如下表所示:
| 对象组类型 | 描述 | 配置命令示例(CLI) | 适用场景 | 
|---|---|---|---|
| 主机对象组 | 包含单个IPv4或IPv6地址 | object-group network HOST_GROUPhost 192.168.1.10exit | 管理需要单独控制的终端设备(如服务器、打印机) | 
| 网络对象组 | 包含IP子网或地址范围 | object-group network NETWORK_GROUPnetwork 192.168.10.0 255.255.255.0exit | 献管理部门子网、VLAN网段等连续IP范围 | 
| 端口对象组 | 包含TCP/UDP端口号或端口范围 | object-group port PORT_GROUP tcpport-object eq 80port-object range 8080 8089exit | 统一管理常用服务端口(如HTTP、HTTPS、自定义应用端口) | 
| 服务对象组 | 结合协议与端口,定义完整的服务类型 | object-group service SERVICE_GROUP tcpport-object eq 443exit | 简化ACL中服务规则的引用(如允许“HTTPS服务访问”) | 
| FQDN对象组 | 包含完全限定域名(需启用DNS解析) | object-group network FQDN_GROUPfqdn www.example.comexit | 基于域名控制流量(适用于ASA 9.x及以上版本) | 
网络对象组的创建方法
通过CLI创建(推荐批量操作)
CLI方式适合熟悉命令行的管理员,步骤清晰且可脚本化,以创建“允许内网访问Web服务器”的网络对象组为例:
- 创建主机对象组(服务器组) - ASA(config)# object-group network SERVERS # 定义网络对象组,名称为SERVERS ASA(config-network)# host 192.168.100.10 # 添加Web服务器1 ASA(config-network)# host 192.168.100.11 # 添加Web服务器2 ASA(config-network)# exit 
- 创建网络对象组(内网部门组) - ASA(config)# object-group network DEPT_A # 定义部门A网段 ASA(config-network)# network 192.168.20.0 255.255.255.0 # 添加部门A子网 ASA(config-network)# exit 
- 创建端口对象组(Web服务端口)  - ASA(config)# object-group port WEB_PORTS tcp # 定义TCP端口组 ASA(config-port)# port-object eq 80 # HTTP端口 ASA(config-port)# port-object eq 443 # HTTPS端口 ASA(config-port)# exit 
通过ASDM图形界面创建(适合新手)
- 登录ASDM,选择“Configuration” > “Firewall” > “Object Groups” > “Network”或“Port”;
- 点击“Add”,输入对象组名称(如“SERVERS”),选择类型(“Network”);
- 在“Members”中点击“Add”,选择“Host”并输入IP地址,或选择“Network”输入子网和掩码;
- 点击“OK”保存,重复步骤添加多个成员后,点击“Apply”配置到ASA。
网络对象组在ACL中的应用
创建对象组后,可在ACL中通过object-group关键字引用,简化规则编写,允许部门A访问Web服务器的80/443端口,同时拒绝其他内网访问:
ASA(config)# access-list OUTSIDE extended permit tcp object-group DEPT_A object-group SERVERS object-group WEB_PORTS ASA(config)# access-list OUTSIDE extended deny ip any any # 默认拒绝其他流量 ASA(config)# access-group OUTSIDE in interface outside # 将ACL应用到outside接口
说明:
- object-group DEPT_A:引用部门A网段组;
- object-group SERVERS:引用服务器IP组;
- object-group WEB_PORTS:引用端口组,等价于- eq 80 or eq 443。
高级应用:嵌套对象组与动态组
嵌套对象组
ASA支持将对象组嵌套到其他对象组中,实现分层管理,将“研发部”和“市场部”两个网络组合并为“内网允许组”:
ASA(config)# object-group network ALLOW_DEPTS # 创建允许部门组 ASA(config-network)# group-object DEPT_A # 嵌套部门A ASA(config-network)# group-object DEPT_B # 嵌套部门B ASA(config-network)# exit
动态对象组(ASA 9.x+)
结合身份认证(如Cisco ISE)动态更新成员,例如根据用户登录状态将设备加入“可信设备组”:
ASA(config)# object-group network DYNAMIC_TRUSTED ASA(config-network)# enable dynamic-user-group # 启用动态用户组 ASA(config-network)# exit
注意事项
- 名称唯一性:对象组名称在ASA中必须唯一,不区分大小写(如“SERVERS”与“servers”视为同一名称);
- 版本兼容性:FQDN对象组需ASA 9.x及以上版本且启用DNS(dns server命令);
- 数量限制:低端型号(如ASA 5505)支持对象组数量较少(约50个),高端型号(如ASA 5585-X)支持数百个;
- ACL顺序:ASA自上而下匹配ACL规则,建议将精确规则(如主机组)放在通用规则(如网络组)之前。
相关问答FAQs
Q1: 如何删除已配置的网络对象组?
A: 在CLI中使用no object-group [类型] [组名]命令删除,例如删除“SERVERS”组:

ASA(config)# no object-group network SERVERS
若组已被ACL引用,需先移除ACL中的引用(no access-list [ACL名]),否则删除会失败。
Q2: 对象组是否支持混合类型(如同时包含IP和端口)?
A: 不支持,不同类型的对象组需分开创建:网络对象组(IP/子网)仅包含网络对象,端口对象组仅包含端口/协议,服务对象组需结合协议和端口,若需控制“允许访问192.168.1.10的80端口”,需分别创建“主机组”和“端口组”,然后在ACL中同时引用两者。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
 
 
 
  
  
  
  
 
发表回复