Upload
fl-yu
View
1.275
Download
2
Embed Size (px)
Citation preview
第 12 讲ACL
www.cisco.com
本章目标本章目标
通过本章的学习,您应该掌握以下内容: •识别 IP 访问列表的主要作用和工作流程•配置标准的 IP 访问列表•利用访问列表控制虚拟会话的建立•配置扩展的 IP 访问列表•查看 IP 访问列表
www.cisco.com
FDDI
• 管理网络中逐步增长的 IP 数据
TokenRing
为什么要使用访问列表为什么要使用访问列表
www.cisco.com
FDDI
172.16.0.0
172.17.0.0
TokenRing
Internet
• 管理网络中逐步增长的 IP 数据• 当数据通过路由器时进行过滤
为什么要使用访问列表为什么要使用访问列表
www.cisco.com
访问列表的应用
• 允许、拒绝数据包通过路由器• 允许、拒绝 Telnet 会话的建立• 没有设置访问列表时,所有的数据包都会在网络上传输
虚拟会话 (IP)
端口上的数据传输
www.cisco.com
QueueList
优先级判断
访问列表的其它应用访问列表的其它应用
基于数据包检测的特殊数据通讯应用
www.cisco.com
QueueList
优先级判断
访问列表的其它应用访问列表的其它应用
按需拨号
基于数据包检测的特殊数据通讯应用
www.cisco.com
访问列表的其它应用
路由表过滤Routing
Table
QueueList
优先级判断
按需拨号
基于数据包检测的特殊数据通讯应用
www.cisco.com
• 标准– 检查源地址– 通常允许、拒绝的是完整的协议
OutgoingPacket
E0
S0
IncomingPacket
Access List Processes
Permit?
Source
什么是访问列表 -- 标准什么是访问列表 -- 标准
www.cisco.com
• 标准– 检查源地址– 通常允许、拒绝的是完整的协议
• 扩展– 检查源地址和目的地址– 通常允许、拒绝的是某个特定的协议
OutgoingPacket
E0
S0
IncomingPacket
Access List Processes
Permit?
Sourceand
Destination
Protocol
什么是访问列表 -- 扩展什么是访问列表 -- 扩展
www.cisco.com
• 标准– 检查源地址– 通常允许、拒绝的是完整的协议
• 扩展– 检查源地址和目的地址– 通常允许、拒绝的是某个特定的协议
• 进方向和出方向
OutgoingPacket
E0
S0
IncomingPacket
Access List Processes
Permit?
Sourceand
Destination
Protocol
什么是访问列表什么是访问列表
www.cisco.com
如何识别访问列表号如何识别访问列表号
编号范围访问列表类型
IP 1-99Standard
• 标准访问列表 (1 to 99) 检查 IP 数据包的源地址
www.cisco.com
编号范围访问列表类型
如何识别访问列表号如何识别访问列表号
IP 1-99100-199
StandardExtended
• 标准访问列表 (1 to 99) 检查 IP 数据包的源地址• 扩展访问列表 (100 to 199) 检查源地址和目的地址、具体的 TCP/IP 协议和目
的端口
www.cisco.com
编号范围
1-99 1300-1999
Name (Cisco IOS 11.2 and later)
100-199 2000-2699
Name (Cisco IOS 11.2 and later)
Standard
Named
访问列表类型
如何识别访问列表号如何识别访问列表号
• 标准访问列表 检查 IP 数据包的源地址• 扩展访问列表 检查源地址和目的地址、具体的 TCP/IP 协议和目的端
口• 其它访问列表编号范围表示不同协议的访问列表
Extend
Named
www.cisco.com
SourceAddress
Segment(for example, TCP header)
DataPacket(IP header)
Frame Header(for example, HDLC)
Deny Permit
Useaccess
list statements1-99
用标准访问列表测试数据用标准访问列表测试数据
www.cisco.com
DestinationAddress
SourceAddress
Protocol
PortNumber
Segment(for example, TCP header)
DataPacket(IP header)
Frame Header(for example, HDLC)
Useaccess
list statements1-99 or 100-199 to
test thepacket Deny Permit
An Example from a TCP/IP Packet
用扩展访问列表测试数据用扩展访问列表测试数据
www.cisco.com
InboundInterfacePackets
N
Y
Packet Discard Bucket
ChooseInterface
NAccessList
?
RoutingTable Entry
?
Y
Outbound Interfaces
Packet
S0
出端口方向上的访问列表 出端口方向上的访问列表
www.cisco.com
Outbound Interfaces
Packet
N
Y
Packet Discard Bucket
ChooseInterface
RoutingTable Entry
?N Packet
TestAccess ListStatements
Permit?
Y
出端口方向上的访问列表出端口方向上的访问列表
AccessList
?
Y
S0
E0
InboundInterfacePackets
www.cisco.com
Notify Sender
出端口方向上的访问列表出端口方向上的访问列表
If no access list statement matches then discard the packet
N
Y
Packet Discard Bucket
ChooseInterface
RoutingTable Entry
?N
Y
TestAccess ListStatements
Permit?
Y
AccessList
?
Discard Packet
N
Outbound Interfaces
Packet
Packet
S0
E0
InboundInterfacePackets
www.cisco.com
访问列表的测试:允许和拒绝访问列表的测试:允许和拒绝
Packets to interfacesin the access group
Packet Discard Bucket
Y
Interface(s)
Destination
Deny
Deny
Y
MatchFirstTest
?
Permit
www.cisco.com
访问列表的测试:允许和拒绝访问列表的测试:允许和拒绝
Packets to Interface(s)in the Access Group
Packet Discard Bucket
Y
Interface(s)
Destination
Deny
Deny
Y
MatchFirstTest
?
Permit
N
Deny PermitMatchNext
Test(s)?
YY
www.cisco.com
访问列表的测试:允许和拒绝访问列表的测试:允许和拒绝
Packets to Interface(s)in the Access Group
Packet Discard Bucket
Y
Interface(s)
Destination
Deny
Deny
Y
MatchFirstTest
?
Permit
N
Deny PermitMatchNext
Test(s)?
DenyMatchLastTest
?
YY
N
YYPermit
www.cisco.com
访问列表的测试:允许和拒绝访问列表的测试:允许和拒绝
Packets to Interface(s)in the Access Group
Packet Discard Bucket
Y
Interface(s)
Destination
Deny
Y
MatchFirstTest
?
Permit
N
Deny PermitMatchNext
Test(s)?
DenyMatchLastTest
?
YY
N
YYPermit
Implicit Deny
If no matchdeny allDeny
N
www.cisco.com
• 0 表示检查与之对应的地址位的值• 1 表示忽略与之对应的地址位的值
do not check address (ignore bits in octet)
=0 0 1 1 1 1 1 1
128 64 32 16 8 4 2 1
=0 0 0 0 0 0 0 0
=0 0 0 0 1 1 1 1
=1 1 1 1 1 1 0 0
=1 1 1 1 1 1 1 1
Octet bit position and address value for bit
ignore last 6 address bits
check all address bits(match all)
ignore last 4 address bits
check last 2 address bits
Examples
通配符:如何检查相应的地址位通配符:如何检查相应的地址位
www.cisco.com
• 例如 172.30.16.29 0.0.0.0 检查所有的地址位 • 可以简写为 host (host 172.30.16.29)
Test conditions: Check all the address bits (match all)
172.30.16.29
0.0.0.0(checks all bits)
An IP host address, for example:
Wildcard mask:
通配符掩码指明特定的主机通配符掩码指明特定的主机
www.cisco.com
• 所有主机 : 0.0.0.0 255.255.255.255• 可以用 any 简写
Test conditions: Ignore all the address bits (match any)
0.0.0.0
255.255.255.255(ignore all)
Any IP address
Wildcard mask:
通配符掩码指明所有主机通配符掩码指明所有主机
www.cisco.com
Check for IP subnets 172.30.16.0/24 to 172.30.31.0/24
Network Network .host 172.30.16172.30.16.0
00 00 00 11 0 0 0 0Wildcard mask: 0 0 0 0 1 1 1 1
|<---- match ---->|<----- don’t care ----->|
0 0 0 1 0 0 0 0 = 16
0 0 0 1 0 0 0 1 = 17
0 0 0 1 0 0 1 0 = 18
: :
0 0 0 1 1 1 1 1 = 31
Address and wildcard mask:
172.30.16.0 0.0.15.255
通配符掩码和 IP 子网的对应
通配符掩码和 IP 子网的对应
www.cisco.com
配置标准的 IP 访问列表配置标准的 IP 访问列表
www.cisco.com
访问列表配置指南访问列表配置指南
•访问列表的编号指明了使用何种协议的访问列表•每个端口、每个方向、每条协议只能对应于一条访问列表
•访问列表的内容决定了数据的控制顺序 •具有严格限制条件的语句应放在访问列表所有语句的最上面
•在访问列表的最后有一条隐含声明: deny any-每一条正确的访问列表都至少应该有一条允许语句
•先创建访问列表,然后应用到端口上•访问列表不能过滤由路由器自己产生的数据
www.cisco.com
标准 IP 访问列表的配置标准 IP 访问列表的配置
access-list access-list-number {permit|deny} source [mask]
Router(config)#
• 为访问列表设置参数• IP 标准访问列表编号 1 到 99
• 缺省的通配符掩码 = 0.0.0.0• “no access-list access-list-number” 命令删除访问列表
www.cisco.com
access-list access-list-number {permit|deny} source [mask]
Router(config)#
• 在端口上应用访问列表• 指明是进方向还是出方向• 缺省 = 出方向• “no ip access-group access-list-number” 命令在端口上删除访问列表
Router(config-if)#
ip access-group access-list-number { in | out }
• 为访问列表设置参数• IP 标准访问列表编号 1 到 99
• 缺省的通配符掩码 = 0.0.0.0• “no access-list access-list-number” 命令删除访问列表
标准 IP 访问列表的配置标准 IP 访问列表的配置
www.cisco.com
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
标准访问列表举例 1标准访问列表举例 1
access-list 1 permit 172.16.0.0 0.0.255.255(implicit deny all - not visible in the list)(access-list 1 deny 0.0.0.0 255.255.255.255)
www.cisco.com
Permit my network only
access-list 1 permit 172.16.0.0 0.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 0ip access-group 1 outinterface ethernet 1ip access-group 1 out
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
标准访问列表举例 1标准访问列表举例 1
www.cisco.com
Deny a specific host
标准访问列表举例 2标准访问列表举例 2
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
access-list 1 deny 172.16.4.13 0.0.0.0
www.cisco.com
标准访问列表举例 2标准访问列表举例 2
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
Deny a specific host
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)
www.cisco.com
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 0ip access-group 1 out
标准访问列表举例 2标准访问列表举例 2
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
Deny a specific host
www.cisco.com
Deny a specific subnet
标准访问列表举例 3标准访问列表举例 3
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
access-list 1 deny 172.16.4.0 0.0.0.255access-list 1 permit any(implicit deny all)(access-list 1 deny 0.0.0.0 255.255.255.255)
www.cisco.com
access-list 1 deny 172.16.4.0 0.0.0.255access-list 1 permit any(implicit deny all)(access-list 1 deny 0.0.0.0 255.255.255.255)
interface ethernet 0ip access-group 1 out
标准访问列表举例 3标准访问列表举例 3
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
Deny a specific subnet
www.cisco.com
用访问列表控制 vty 访问用访问列表控制 vty 访问
www.cisco.com
在路由器上过滤 vty在路由器上过滤 vty
• 五个虚拟通道 (0 到 4)
• 路由器的 vty 端口可以过滤数据• 在路由器上执行 vty 访问的控制
0 1 2 3 4
Virtual ports (vty 0 through 4)
Physical port e0 (Telnet)Console port (direct connect)
console e0
www.cisco.com
如何控制 vty 访问如何控制 vty 访问
0 1 2 3 4
Virtual ports (vty 0 through 4)
Physical port (e0) (Telnet)
• 使用标准访问列表语句• 用 access-class 命令应用访问列表• 在所有 vty 通道上设置相同的限制条件
Router#
e0
www.cisco.com
虚拟通道的配置虚拟通道的配置
• 指明 vty 通道的范围
• 在访问列表里指明方向
access-class access-list-number {in|out}
line vty#{vty# | vty-range}
Router(config)#
Router(config-line)#
www.cisco.com
虚拟通道访问举例虚拟通道访问举例
只允许网络 192.89.55.0 内的主机连接路由器的 vty 通道
access-list 12 permit 192.89.55.0 0.0.0.255
!
line vty 0 4
access-class 12 in
Controlling Inbound Access
www.cisco.com
扩展 IP 访问列表的配置
扩展 IP 访问列表的配置
www.cisco.com
扩展 IP 访问列表的配置扩展 IP 访问列表的配置
Router(config)#
• 设置访问列表的参数
access-list access-list-number { permit | deny } protocol source source-wildcard [operator port] destination destination-wildcard [ operator port ] [ established ] [log]
www.cisco.com
Router(config-if)# ip access-group access-list-number { in | out }
扩展 IP 访问列表的配置扩展 IP 访问列表的配置
• 在端口上应用访问列表
Router(config)#
• 设置访问列表的参数
access-list access-list-number { permit | deny } protocol source source-wildcard [operator port] destination destination-wildcard [ operator port ] [ established ] [log]
www.cisco.com
• 拒绝子网172.16.4.0 的数据使用路由器e0口 ftp到子网172.16.3.0 • 允许其它数据
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
扩展访问列表应用举例 1扩展访问列表应用举例 1
access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
www.cisco.com
• 拒绝子网 172.16.4.0 的数据使用路由器 e0 口 ftp 到子网 172.16.3.0 • 允许其它数据
扩展访问列表应用举例 1扩展访问列表应用举例 1
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20access-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)
www.cisco.com
access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20access-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 0ip access-group 101 out
• 拒绝子网 172.16.4.0 的数据使用路由器 e0 口 ftp 到子网 172.16.3.0 • 允许其它数据
扩展访问列表应用举例 1扩展访问列表应用举例 1
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
www.cisco.com
• 拒绝子网 172.16.4.0 内的主机使用路由器的 E0 端口建立 Telnet 会话• 允许其它数据
扩展访问列表应用举例 2扩展访问列表应用举例 2
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23
www.cisco.com
• 拒绝子网 172.16.4.0 内的主机使用路由器的 E0 端口建立 Telnet 会话• 允许其它数据
扩展访问列表应用举例 2扩展访问列表应用举例 2
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23access-list 101 permit ip any any(implicit deny all)
www.cisco.com
access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23access-list 101 permit ip any any(implicit deny all)
interface ethernet 0ip access-group 101 out
• 拒绝子网 172.16.4.0 内的主机使用路由器的 E0 端口建立 Telnet 会话• 允许其它数据
扩展访问列表应用举例 2扩展访问列表应用举例 2
172.16.3.0 172.16.4.0
172.16.4.13E0
S0E1
Non-172.16.0.0
www.cisco.com
标准访问列表和扩展访问列表比较
标准访问列表和扩展访问列表比较
标准 扩展
基于源地址 基于源地址和目标地址
允许和拒绝完整的
TCP/IP 协议
指定 TCP/IP 的特定协议
和端口号编号范围 100-199 和 2000-
2699编号范围 1-99 和 1300-
1999
www.cisco.com
使用名称访问列表使用名称访问列表
Router(config)#
ip access-list { standard | extended } name
• 适用于 IOS 版本号为 11.2 以后
• 所使用的名称必须一致
www.cisco.com
使用名称访问列表使用名称访问列表
Router(config)#
ip access-list { standard | extended } name
{ permit | deny } { ip access list test conditions }{ permit | deny } { ip access list test conditions } no { permit | deny } { ip access list test conditions }
Router(config {std- | ext-}nacl)#
• 适用于 IOS 版本号为 11.2 以后
• 所使用的名称必须一致
• 允许和拒绝语句不需要访问列表编号 • “no” 命令删除访问列表
www.cisco.com
Router(config)# ip access-list { standard | extended } name
Router(config {std- | ext-}nacl)# { permit | deny } { ip access list test conditions }{ permit | deny } { ip access list test conditions } no { permit | deny } { ip access list test conditions }
Router(config-if)# ip access-group name { in | out }
使用名称访问列表
• 适用于 IOS 版本号为 11.2 以后
• 所使用的名称必须一致
• 允许和拒绝语句不需要访问列表编号 • “no” 命令删除访问列表
• 在端口上应用访问列表
www.cisco.com
访问列表配置准则访问列表配置准则
• 访问列表中限制语句的位置是至关重要的• 将限制条件严格的语句放在访问列表的最上面• 使用 no access-list number 命令删除完整的访
问列表例外 : 名称访问列表可以删除单独的语句
• 隐含声明 deny all
在设置的访问列表中要有一句 permit any
www.cisco.com
• 将扩展访问列表置于离源设备较近的位置• 将标准访问列表置于离目的设备较近的位置
E0
E0
E1
S0
To0
S1S0
S1
E0
E0TokenRing
BB
AACC
访问列表的放置原则访问列表的放置原则
推荐:
DD
www.cisco.com
wg_ro_a#show ip int e0Ethernet0 is up, line protocol is up Internet address is 10.1.1.11/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Outgoing access list is not set Inbound access list is 1 Proxy ARP is enabled Security level is default Split horizon is enabled ICMP redirects are always sent ICMP unreachables are always sent ICMP mask replies are never sent IP fast switching is enabled IP fast switching on the same interface is disabled IP Feature Fast switching turbo vector IP multicast fast switching is enabled IP multicast distributed fast switching is disabled <text ommitted>
查看访问列表查看访问列表
www.cisco.com
查看访问列表的语句查看访问列表的语句
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.1Extended 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
wg_ro_a#show {protocol} access-list {access-list number}
wg_ro_a#show access-lists {access-list number}
www.cisco.com
本章总结本章总结
完成本章的学习后,你应该能够掌握:
• 了解 IP 访问列表的工作过程• 配置标准的 IP 访问列表• 用访问列表控制 vty 访问
• 配置扩展的 IP 访问列表• 查看 IP 访问列表
www.cisco.com
问题回顾问题回顾
1. IP 访问列表有哪两种类型 ?
2. 在访问列表的最后有哪一个语句是隐含的 ?
3. 在应用访问控制 vty通道时,使用什么命令 ?