440 likes | 598 Views
第十二章 IP 访问控制列表. 管理网络中逐步增长的 IP 数据 当数据通过路由器时进行过滤. 为什么要使用访问列表. 172.16.0.0. Internet. 172.17.0.0. 允许、拒绝数据包通过路由器 允许、拒绝 Telnet 会话的建立 没有设置访问列表时,所有的数据包都会在网络上传输. 访问列表的应用. 端口上的数据传输. 虚拟会话 ( IP). Source. 什么是访问列表-- 标准. Access List Processes. E0. Outgoing Packet. Incoming Packet. Permit?.
E N D
管理网络中逐步增长的 IP 数据 当数据通过路由器时进行过滤 为什么要使用访问列表 172.16.0.0 Internet 172.17.0.0
允许、拒绝数据包通过路由器 允许、拒绝Telnet会话的建立 没有设置访问列表时,所有的数据包都会在网络上传输 访问列表的应用 端口上的数据传输 虚拟会话 (IP)
Source 什么是访问列表--标准 Access List Processes E0 Outgoing Packet Incoming Packet Permit? S0 • 标准 • 检查源地址 • 通常允许、拒绝的是完整的协议
Source and Destination 什么是访问列表--扩展 Access List Processes E0 Outgoing Packet Protocol Incoming Packet Permit? S0 • 标准 • 检查源地址 • 通常允许、拒绝的是完整的协议 • 扩展 • 检查源地址和目的地址 • 通常允许、拒绝的是某个特定的协议
Source and Destination 什么是访问列表 Access List Processes E0 Outgoing Packet Protocol Incoming Packet Permit? S0 • 标准 • 检查源地址 • 通常允许、拒绝的是完整的协议 • 扩展 • 检查源地址和目的地址 • 通常允许、拒绝的是某个特定的协议 • 进方向和出方向
出端口方向上的访问列表 Packet Choose Interface S0 InboundInterface Packets Y Outbound Interfaces Routing Table Entry? N Access List? N Y Packet Discard Bucket
出端口方向上的访问列表 Packet Choose Interface S0 InboundInterface Packets Y Outbound Interfaces Test Access List Statements Routing Table Entry? E0 Packet N Access List? N Y Permit? Y Packet Discard Bucket
出端口方向上的访问列表 Packet Choose Interface S0 InboundInterface Packets Y Outbound Interfaces Test Access List Statements Routing Table Entry? E0 Packet N Access List? N Y Permit? Y N Discard Packet Notify Sender Packet Discard Bucket If no access list statement matches then discard the packet
访问列表的测试:允许和拒绝 Match First Test ? Packets to interfaces in the access group Y Y Deny Permit Destination Interface(s) Packet Discard Bucket Deny
访问列表的测试:允许和拒绝 Match First Test ? Packets to Interface(s) in the Access Group Y Y N Deny Permit Match Next Test(s) ? Y Y Deny Permit Destination Interface(s) Packet Discard Bucket Deny
访问列表的测试:允许和拒绝 Match First Test ? Packets to Interface(s) in the Access Group Y Y N Deny Permit Match Next Test(s) ? Y Y Deny Permit Destination N Interface(s) Match Last Test? Y Y Deny Permit Packet Discard Bucket Deny
访问列表的测试:允许和拒绝 Match First Test ? Packets to Interface(s) in the Access Group Y Y N Deny Permit Match Next Test(s) ? Y Y Deny Permit Destination N Interface(s) Match Last Test? Y Y Deny Permit N Implicit Deny Packet Discard Bucket If no match deny all Deny
访问列表配置指南 • 访问列表的编号指明了使用何种协议的访问列表 • 每个端口、每个方向、每条协议只能对应于一条访问列表 • 访问列表的内容决定了数据的控制顺序 • 具有严格限制条件的语句应放在访问列表所有语句的最上面 • 在访问列表的最后有一条隐含声明:deny any-每一条正确的访问列表都至少应该有一条允许语句 • 先创建访问列表,然后应用到端口上 • 访问列表不能过滤由路由器自己产生的数据
访问列表设置命令 Step 1: 设置访问列表测试语句的参数 Router(config)# access-list access-list-number { permit | deny } { testconditions }
IP 访问列表的标号为 1-99 和 100-199 访问列表设置命令 Step 1:设置访问列表测试语句的参数 Router(config)# access-list access-list-number { permit | deny } { testconditions } Step 2: 在端口上应用访问列表 Router(config-if)# ip access-group access-list-number {in | out}
如何识别访问列表号 访问列表类型 编号范围 Standard IP 1-99 • 标准访问列表 (1 to 99) 检查 IP 数据包的源地址
如何识别访问列表号 访问列表类型 编号范围 Standard Extended IP 1-99 100-199 • 标准访问列表 (1 to 99) 检查 IP 数据包的源地址 • 扩展访问列表 (100 to 199) 检查源地址和目的地址、具体的 TCP/IP 协议和目的端口
标准访问列表 检查 IP 数据包的源地址 扩展访问列表检查源地址和目的地址、具体的 TCP/IP 协议和目的端口 其它访问列表编号范围表示不同协议的访问列表 如何识别访问列表号 访问列表类型 编号范围 Standard Named 1-99 1300-1999 Name (Cisco IOS 11.2 and later) Extend Named 100-199 2000-2699 Name (Cisco IOS 11.2 and later)
例如 172.30.16.29 0.0.0.0 检查所有的地址位 可以简写为 host (host 172.30.16.29) 通配符掩码指明特定的主机 Test conditions: Check all the address bits (match all) An IP host address, for example: 172.30.16.29 0.0.0.0 Wildcard mask: (checks all bits)
所有主机: 0.0.0.0 255.255.255.255 可以用 any 简写 通配符掩码指明所有主机 Test conditions: Ignore all the address bits (match any) Any IP address 0.0.0.0 255.255.255.255 Wildcard mask: (ignore all)
标准IP访问列表的配置 Router(config)# access-list access-list-number {permit|deny} source [inverse-mask] • 为访问列表设置参数 • IP 标准访问列表编号 1 到 99 • “no access-list access-list-number” 命令删除访问列表
在端口上应用访问列表 指明是进方向还是出方向 “no ip access-group access-list-number” 命令在端口上删除访问列表 标准IP访问列表的配置 Router(config)# access-list access-list-number {permit|deny} source [mask] • 为访问列表设置参数 • IP 标准访问列表编号 1 到 99 • 缺省的通配符掩码 = 0.0.0.0 • “no access-list access-list-number” 命令删除访问列表 Router(config-if)# ip access-group access-list-number { in | out }
标准访问列表举例 1 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 1 permit 172.16.0.00.0.255.255 (implicit deny all - not visible in the list) (access-list 1 deny 0.0.0.0 255.255.255.255)
标准访问列表举例 1 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 1 permit 172.16.0.00.0.255.255 (implicit deny all - not visible in the list) (access-list 1 deny 0.0.0.0 255.255.255.255) interface ethernet 0 ip access-group 1 out interface ethernet 1 ip access-group 1 out Permit my network only
Deny a specific host 标准访问列表举例 2 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 1 deny 172.16.4.13 0.0.0.0
标准访问列表举例 2 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 1 deny 172.16.4.13 0.0.0.0 access-list 1 permit 0.0.0.0 255.255.255.255 (implicit deny all) (access-list 1 deny 0.0.0.0 255.255.255.255) Deny a specific host
标准访问列表举例 2 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 1 deny 172.16.4.13 0.0.0.0 access-list 1 permit 0.0.0.0 255.255.255.255 (implicit deny all) (access-list 1 deny 0.0.0.0 255.255.255.255) interface ethernet 0 ip access-group 1 out Deny a specific host
Deny a specific subnet 标准访问列表举例 3 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 1 deny 172.16.4.0 0.0.0.255 access-list 1 permit any (implicit deny all)(access-list 1 deny 0.0.0.0 255.255.255.255)
标准访问列表举例 3 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 1 deny 172.16.4.0 0.0.0.255 access-list 1 permit any (implicit deny all)(access-list 1 deny 0.0.0.0 255.255.255.255) interface ethernet 0 ip access-group 1 out Deny a specific subnet
在路由器上过滤vty • 五个虚拟通道 (0 到 4) • 路由器的vty端口可以过滤数据 • 在路由器上执行vty访问的控制 e0 console 4 0 3 1 2 Console port (direct connect) Physical port e0 (Telnet) Virtual ports (vty 0 through 4)
如何控制vty访问 e0 4 0 3 1 2 Physical port (e0) (Telnet) Router# Virtual ports (vty 0 through 4) • 使用标准访问列表语句 • 用 access-class命令应用访问列表 • 在所有vty通道上设置相同的限制条件
虚拟通道的配置 Router(config)# • line vty#{vty# | vty-range} • 指明vty通道的范围 Router(config-line)# • access-class access-list-number {in|out} • 在访问列表里指明方向
虚拟通道访问举例 Controlling Inbound Access • access-list 12 permit 192.89.55.0 0.0.0.255 • ! • line vty 0 4 • access-class 12 in 只允许网络192.89.55.0 内的主机连接路由器的 vty 通道
标准访问列表和扩展访问列表比较 标准 扩展 基于源地址和目标地址 基于源地址 允许和拒绝完整的 TCP/IP协议 指定TCP/IP的特定协议 和端口号 编号范围 1-99和1300-1999 编号范围 100-199和2000-2699
扩展 IP 访问列表的配置 Router(config)# access-list access-list-number { permit | deny } protocol source source-wildcard [operator port]destination destination-wildcard[ operator port ] • 设置访问列表的参数
扩展 IP 访问列表的配置 Router(config)# access-list access-list-number { permit | deny } protocol source source-wildcard [operator port]destination destination-wildcard[ operator port ] • 设置访问列表的参数 Router(config-if)# ip access-group access-list-number { in | out } • 在端口上应用访问列表
拒绝子网172.16.4.0 的数据使用路由器e0口ftp到子网172.16.3.0 允许其它数据 扩展访问列表应用举例 1 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 101 deny tcp 172.16.4.00.0.0.255 172.16.3.0 0.0.0.255 eq 21 access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
拒绝子网172.16.4.0 的数据使用路由器e0口ftp到子网172.16.3.0 允许其它数据 扩展访问列表应用举例 1 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 101 deny tcp 172.16.4.00.0.0.255 172.16.3.0 0.0.0.255 eq 21 access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20 access-list 101 permit ip any any (implicit deny all) (access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255)
拒绝子网172.16.4.0 的数据使用路由器e0口ftp到子网172.16.3.0 允许其它数据 扩展访问列表应用举例 1 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 101 deny tcp 172.16.4.00.0.0.255 172.16.3.0 0.0.0.255 eq 21 access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20 access-list 101 permit ip any any (implicit deny all) (access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255) interface ethernet 0 ip access-group 101 out
拒绝子网 172.16.4.0 内的主机使用路由器的 E0 端口建立Telnet会话 允许其它数据 扩展访问列表应用举例 2 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23
拒绝子网 172.16.4.0 内的主机使用路由器的 E0 端口建立Telnet会话 允许其它数据 扩展访问列表应用举例 2 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23 access-list 101 permit ip any any (implicit deny all)
拒绝子网 172.16.4.0 内的主机使用路由器的 E0 端口建立Telnet会话 允许其它数据 扩展访问列表应用举例 2 Non- 172.16.0.0 172.16.3.0 172.16.4.0 S0 172.16.4.13 E0 E1 access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23 access-list 101 permit ip any any (implicit deny all) interface ethernet 0 ip access-group 101 out
wg_ro_a#show {protocol} access-list {access-list number} 查看访问列表的语句 • wg_ro_a#show access-lists {access-list number} • wg_ro_a#show access-lists • Standard IP access list 1 • permit 10.2.2.1 • permit 10.3.3.1 • permit 10.4.4.1 • permit 10.5.5.1 • Extended IP access list 101 • permit tcp host 10.22.22.1 any eq telnet • permit tcp host 10.33.33.1 any eq ftp • permit tcp host 10.44.44.1 any eq ftp-data