diff --git "a/07\345\207\241\345\205\211\344\271\220/20250424 \350\267\257\347\224\261\345\231\250IP\350\256\277\351\227\256\346\216\247\345\210\266\345\210\227\350\241\250ACL\351\205\215\347\275\256.md" "b/07\345\207\241\345\205\211\344\271\220/20250424 \350\267\257\347\224\261\345\231\250IP\350\256\277\351\227\256\346\216\247\345\210\266\345\210\227\350\241\250ACL\351\205\215\347\275\256.md" new file mode 100644 index 0000000000000000000000000000000000000000..02ff2faa3aad81289bb69a96e4fb6917fa16c826 --- /dev/null +++ "b/07\345\207\241\345\205\211\344\271\220/20250424 \350\267\257\347\224\261\345\231\250IP\350\256\277\351\227\256\346\216\247\345\210\266\345\210\227\350\241\250ACL\351\205\215\347\275\256.md" @@ -0,0 +1,185 @@ +## 笔记 + +### **思科ACL(访问控制列表)使用指南** + +访问控制列表(ACL,Access Control List)是思科设备中用于**流量过滤**和**安全策略**的核心技术,广泛应用于: + +- **网络安全**:限制非法访问(如阻止攻击流量)。 +- **流量控制**:允许/拒绝特定服务(如HTTP、SSH)。 +- **策略路由**:结合路由映射(Route-map)实现高级选路。 + +本指南涵盖**标准ACL、扩展ACL、命名ACL**的语法、配置案例及验证方法,适用于CCNA/CCNP学习及实际工程部署。 + +--- + +### **一、ACL类型** + +| 类型 | 编号范围 | 匹配依据 | 特点 | +| ----------- | ------------------ | ------------------------ | ------------------ | +| **标准ACL** | 1-99, 1300-1999 | 仅源IP地址 | 简单,效率低 | +| **扩展ACL** | 100-199, 2000-2699 | 源IP、目的IP、协议、端口 | 精细控制,推荐使用 | + +### **二、标准ACL语法** + +#### **1. 创建ACL** + +```cmd +//语法 +access-list <编号> <动作> <源IP> <通配符掩码> +# 编号范围 1-99 +# 动作:permit 允许 、 deny 拒绝 + +//具体操作 +access-list 10 permit 192.168.1.0 0.0.0.255 # 允许192.168.1.0/24g整个网络 +access-list 10 permit 192.168.10.2 # 允许192.168.10.2单个IP通过 +access-list 10 deny any # 拒绝其他所有流量 +``` + +#### **2. 应用ACL** + +```cmd +Router(config)#interface g0/0 +Router(config-if)#ip access-group 10 in +``` + +### **三、扩展ACL语法** + +#### **1. 创建ACL** + +```cisco +access-list <100-199|2000-2699> {permit|deny} <协议> <源IP> <通配符掩码> [源端口] <目的IP> <通配符掩码> [目的端口] [选项] +``` + +#### **2. 常用协议关键字** + +- `ip`:所有IP流量 +- `tcp`:TCP协议 +- `udp`:UDP协议 +- `icmp`:ICMP协议 + +#### **3. 示例** + +##### **(1)允许特定TCP端口** + +```cisco +access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80 ! 允许192.168.1.0/24访问任意HTTP +access-list 101 deny tcp any any eq 22 ! 拒绝所有SSH流量 +access-list 101 permit ip any any ! 允许其他所有IP流量 +``` + +##### **(2)允许ICMP(Ping)** + +```cisco +access-list 102 permit icmp any any echo-reply ! 允许Ping回应 +access-list 102 permit icmp any any echo ! 允许发起Ping +``` + +##### **(3)拒绝特定子网访问** + +```bash +# 拒绝来自192.168.10.0网段主机的IP流量访问172.16.1.0的主机 +access-list 103 deny ip 192.168.10.0 0.0.0.255 172.16.1.0 0.0.0.255 +#允许其它任意网络IP流量访问任意网络(除上一条拒绝的以外) +access-list 103 permit ip any any +``` + +#### **4. 应用ACL** + +```cisco +interface GigabitEthernet0/1 + ip access-group 101 out ! 在接口出方向应用 +``` + +--- + +### **四、命名ACL(更易管理)** + +#### **1. 创建命名ACL** + +```cisco +ip access-list {standard|extended} +``` + +#### **2. 示例** + +```cisco +ip access-list extended WEB_TRAFFIC + permit tcp 192.168.1.0 0.0.0.255 any eq 80 + deny tcp any any eq 22 + permit ip any any +``` + +#### **3. 应用命名ACL** + +```cisco +interface GigabitEthernet0/2 + ip access-group WEB_TRAFFIC in +``` + +--- + +### **五、ACL高级选项** + +#### **1. 通配符掩码(Wildcard Mask)** + +- `0.0.0.255` = 匹配前24位(类似子网掩码`255.255.255.0`的反向)。 +- `host 192.168.1.1` = 精确匹配单个IP(等价于`192.168.1.1 0.0.0.0`)。 + +#### **2. 端口匹配** + +- `eq 80`:等于80端口(HTTP) +- `gt 1023`:大于1023端口 +- `range 20 21`:20到21端口(FTP) + +#### **3. 日志记录** + +```cisco +access-list 104 deny tcp any any eq 23 log ! 拒绝Telnet并记录日志 +``` + +--- + +### **六、验证与排错** + +#### **1. 查看ACL配置** + +```cisco +show access-lists ! 显示所有ACL +show ip interface Gig0/0 ! 查看接口应用的ACL +``` + +#### **2. 清除ACL统计** + +```cisco +clear access-list counters ! 重置ACL命中计数器 +``` + +--- + +### **七、注意事项** + +1. **隐式拒绝**:ACL末尾默认有`deny any`,需显式允许必要流量。 +2. **顺序敏感**:ACL按从上到下匹配,首条匹配的规则生效。 +3. **性能影响**:过多ACL规则可能影响设备性能,尽量合并规则。 + +--- + +### **八、完整示例** + +#### **场景**:允许内网访问Web,禁止访问SSH,允许Ping。 + +```bash +# 创建扩展ACL +access-list 105 permit tcp 192.168.1.0 0.0.0.255 any eq 80 +access-list 105 deny tcp any any eq 22 +access-list 105 permit icmp any any +access-list 105 deny ip any any log + +# 应用ACL +interface GigabitEthernet0/0 + ip access-group 105 in +``` + +--- + +掌握这些语法后,可以灵活实现流量过滤、安全策略等功能!建议在模拟器(如Packet Tracer)中实践验证。 \ No newline at end of file