Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3899046
  • 博文数量: 408
  • 博客积分: 10227
  • 博客等级: 上将
  • 技术积分: 9820
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-17 21:48
个人简介

非淡泊无以明志,非宁静无以致远

文章存档

2022年(1)

2021年(1)

2020年(2)

2019年(5)

2018年(4)

2017年(3)

2016年(24)

2015年(8)

2014年(7)

2013年(3)

2012年(1)

2011年(23)

2010年(179)

2009年(147)

分类: 系统运维

2009-11-15 20:04:49

访问控制列表(ACL)是应用在路由器接口上的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来判断决定。

将数据包和访问列表进行比较时应遵循的重要规则:

1.数据包到来,则按顺序比较访问列表的每一行。

2.按顺序比较访问列表的各行,直到找到匹配的一行,一旦数据包和某行匹配,执行该行规则,不再进行后续比较。

3.最后一行隐含“deny”的意义。如果数据包与访问列表中的所有行都不匹配,将被丢弃。

4.IP访问控制列表会发送一个ICMP主机不可达的消息到数据包的发送者,然后丢弃数据包。

5.如果某个列表挂接在实际接口上,删除列表后,默认的deny any 规则会阻断那个接口的所有数据流量。

有两种类型的ACL:标准的访问列表和扩展的访问列表

标准访问控制列表控制基于过滤源地址的信息流。编号范围1-99,举例:

router(config)#access-list 10 permit 172.16.0.0 0.0.255.255

router(config)#access-list 20 deny 192.168.1.0 0.0.0.255

router(config)#access-list 20 permit any  //注意这个编号20ACL的顺序,如果调换顺序,就不起任何作用。

router(config)#access-list 30 deny host 192.168.1.1  //host表精确匹配,默认掩码为0.0.0.0,指定单个主机。

注意:在访问列表的最后默认定义了一条deny any any 语句。

扩展访问控制列表比标准访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、IP优先级等。编号范围是从100199,格式一般为:

access-list ACL [permit|deny] [协议] [定义过滤源主机范围]  [定义过滤源端口] [定义过滤目的主机访问] [定义过滤目的端口]

access-list 100 permit ip 172.16.0.0 0.0.255.255 192.168.1.0 0.0.0.255

access-list 101 deny tcp any host 192.168.1.1 eq www  //这句命令是将所有主机访问192.168.1.1上网页服务(WWWTCP连接的数据包丢弃。

access-list 101 permit tcp any host 198.78.46.8 eq smtp  //允许来自任何主机的TCP报文到达特定主机198.78.46.8smtp服务端口(25)

注意:这里eq 就是等于的意思。端口号的指定可以用几种不同的方法。可以用数字或一个可识别的助记符。可以使用80httpwww来指定Web的超文本传输协议。对于使用数字的端口号,还可以用"<"">""="以及不等于来进行设置。 

命名访问列表只是创建标准或扩展访问列表的另一种方法而已。所谓命名是以列表名代替列表编号来定义IP访问控制列表的。举例如下:

Router(config)#ip access-list extended http-not

Router(config-ext-nacl)#deny tcp 172.16.10.0 0.0.0.255 host 172.16.1.2 eq 23

Router(config-ext-nacl)# permit ip any any

Router(config-ext-nacl)#exit

入口访问列表和出口访问列表:通过上面方法创建的访问列表,要应用到路由器的一个要进行过滤的接口上,并且指定将它应用到哪一个方向的流量上时,才真正的被激活而起作用。

访问列表的调用:在接口下使用:

router(config)#interface s0/1

router(config-if)# ip access-group 10 in

router(config-if)# ip access-group 20 out

ACL可在VTY下调用,但只能用标准列表:

R1(config)#access-list 10 permit 192.168.1.1

R1(config)#line vty 0 4

R1(config-line)#access-class 10 in

下面是通用的ACL配置规则:

1.每个接口、每个协议或每个方向上只可以应用一个访问列表。(因为ACL末尾都隐含拒绝的语句,经过第一个ACL的过滤,不符合的包都被丢弃,也就不会留下任何包和第二个ACL比较)。

2.除非在ACL末尾有permit any命令,否则所有和列表条件不符的包都将丢弃,所以每个ACL至少要有一个运行语句,以免其拒绝所有流量。

3.要先创建ACL,再将其应用到一个接口上,才会生效。

4.ACL过滤通过路由器的流量,但不过滤该路由器产生的流量。

5.IP标准访问列表尽可能的应用在靠近目的地的接口上,因为他是基于源地址过滤的,放在源端没有意义。

6.IP扩展访问列表尽可能的应用在靠近源地址的接口上,因为它可以基于目的地址、协议等过滤,放在源端过滤,免得需要过滤的数据包还被路由到目的端才被过滤,以节省带宽。

 

阅读(8507) | 评论(0) | 转发(0) |
0

上一篇:L2TP配置与测试

下一篇:Linux Sendmail配置

给主人留下些什么吧!~~