思科设备配置新手篇--ACL(访问控制列表)
什么是ACL?访问控制列表简称为ACL,访问控制列表使用包过滤技术,在路由器上读取第三层及第四层包头中的信息如源地址,目的地址,源端口,目的端口等,根据预先定义好的规则对包进行过滤,从而达到访问控制的目的。该技术初期仅在路由器上支持,近些年来已经扩展到三层交换机,部分最新的二层交换机也开始提供ACL的支持了。
访问列表的配置原则
1.每个接口、每个协议、每个方向只允许配置一个访问列表。这意味着如果创建了IP访问列表,每个接口只能有一个入口访问列表和一个出口访问列表。
2.组织好访问列表,要将更严格的测试陈述放在访问列表的最前面。
3.任何时候访问列表添加新条目时,路由器将把新添加的条目放置在列表的最末尾。强烈推荐用文本编辑器先编辑好访问列表然后再复制访问列表到命令行。
4.不能从访问列表中删除一行。如果试着这样做,将删除整个列表。使用命名访问列表时例外。
5.除非在访问列表末尾有permit any命令,否则所有和列表测试条件都不符合的数据包将被丢弃。
6.先创建访问列表,然后将列表应用到某个接口。
7.将标准的访问列表尽可能的放置在靠近目的地址的位置。
8.将扩展的访问列表尽可能的放置在靠近源地址的位置。
9.访问列表设计为过滤通过路由器的流量,但不过滤路由器产生的流量。
访问控制列表简介
1.访问控制列表的两种类型
①标准的访问列表
这种访问列表只使用IP数据包的源IP地址作为条件测试。所有决定是基于源IP地址的。这意味着标准的访问列表是允许或拒绝整个协议组的。它们不区分IP流量的类型,如WWW、Telnet、UDP等。也就是说标准的访问列表只对数据包的源IP地址进行检测,而不管这个数据包将去往何地要做什么。
可以使用访问列表号1~99或1300~1999(扩展的范围)创建标准的访问列表。路由器通过检查访问列表号为1~99或1300~1999就可以知道这是一条标准的访问列表,接下来路由器只会分析测试行中的源IP地址部分。
a)创建一个访问控制列表
Router(config)#access-list ?
<1-99> IP standard access list #标准的访问控制列表号
<100-199> IP extended access list #扩展的访问控制列表号
Router(config)#access-list 1 ?
deny Specify packets to reject
permit Specify packets to forward
remark Access list entry comment
#为访问控制列表添加一个陈述
Router(config)#access-list 1 permit ?
A.B.C.D Address to match
any Any source host
host A single host address
Router(config)#access-list 1 permit 192.168.1.1 ?
A.B.C.D Wildcard bits #此处配置一个通配符掩码
<cr>
Router(config)#access-list 1 permit any ?
<cr>
Router(config)#access-list 1 permit host ?
A.B.C.D Host address
Router(config)#access-list 1 permit host 192.168.1.1 ?
<cr>
Router(config)#access-list 1 permit 192.168.1.1 0.0.0.0
或
Router(config)#access-list 1 permit host 192.168.1.1 ←这两个配置的效果是等价的
标准访问列表的一般语法:
Router(config)#access-list access_list_number {permit/deny/remark} source_ip_address wildcard_bits
Router(config)#no access-list access_list_number
#删除整个访问控制列表,需要注意的是访问控制列表不允许单独删除某一行测试条件,如果这样做了它将会删除整个访问控制列表。
b)在一个接口上应用访问列表
Router(config)#interface fa0/1
Router(config-if)#ip access-group ?
<1-199> IP access list (standard or extended)
WORD Access-list name
Router(config-if)#ip access-group 1 ?
in inbound packets
out outbound packets
Router(config-if)#ip access-group 1 in ?
<cr>
Router(config-if)#ip access-group 1 in
在一个接口上应用访问列表的语法:
Router(config-if)#ip access-group access_list_number {in/out} #这里的in/out应该以路由器为参照物。
Router(config-if)#no ip access-group access_list_number #从接口中删除访问列表。
②扩展的访问列表
这种访问列表可以测试IP数据包的第3层和第4层报头中的其他字段。他们可以测试源IP地址和目的IP地址、网络层报头中的协议字段,以及位于传输层报头中的端口号。这使得扩展的访问控制列表有能力在控制流量时做精细度更大的决定。
可以使用访问列表号100~199或2000~2699(扩展的范围)创建扩展的访问列表。路由器通过检查访问列表号为100~199或2000~2699就可以知道这是一条扩展的访问列表,接下来路由器将会分析测试行中的源IP地址和目的IP地址、网络层报头中的协议字段,以及位于传输层报头中的端口号。
Router(config)#access-list 101 deny ?
eigrp Cisco's EIGRP routing protocol
icmp Internet Control Message Protocol
ip Any Internet Protocol
ospf OSPF routing protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
Router(config)#access-list 101 deny tcp ?
A.B.C.D Source address
any Any source host
host A single source host
Router(config)#access-list 101 deny tcp host 192.168.1.1 ?
A.B.C.D Destination address
any Any destination host
host A single destination host
lt Match only packets with a lower port number
neq Match only packets not on a given port number
range Match only packets in the range of port numbers
Router(config)#access-list 101 deny tcp host 192.168.1.1 172.16.1.1 0.0.255.255 ?
eq Match only packets on a given port number
established established
gt Match only packets with a greater port number
lt Match only packets with a lower port number
neq Match only packets not on a given port number
range Match only packets in the range of port numbers
<cr>
Router(config)#access-list 101 deny tcp host 192.168.1.1 172.16.1.1 0.0.255.255 eq ?
<0-65535> Port number
ftp File Transfer Protocol (21)
pop3 Post Office Protocol v3 (110)
smtp Simple Mail Transport Protocol (25)
telnet Telnet (23)
www World Wide Web (HTTP, 80)
Router(config)#access-list 101 deny tcp host 192.168.1.1 172.16.1.1 0.0.255.255 eq www
扩展访问列表的一般语法:
Router(config)#access-list access_list_number {permit/deny/remark} protocol source_ip_address source_wildcard destination_ip_address destination_wildcard eq {port_number/protocol}
注:如何使用通配符掩码匹配一个给定的网络?
①172.16.144.0/19-----172.16.100 10000.0-----172.16.128.0 0.0.31.255(块大小:256-224=32)
②172.16.50.0/20------172.16.0011 0010.0-----172.16.48.0 0.0.15.255(块大小:256-240=16)
③172.16.198.0/18-----172.16.11 000110.0-----172.16.192.0 0.0.63.255(块大小:256-192=64)
④172.16.92.0/21------172.16.01011 100.0-----172.16.88.0 0.0.7.255(块大小:256-240=8)
签312 thank you for sharing! 谢谢楼主~~~~~~~~~~ 感謝超級版主! 666 感謝樓主教學 谢谢 谢谢版主 非常详细,谢谢 {:6_267:} 学习学习 ddddddddddd 谢谢分享 {:6_267:}{:6_267:}{:6_267:}
页:
[1]
2