IP包过滤技术介绍
随着越来越多的私有网络连入公有网,网络管理员们逐渐需要面对这样一个问题:如何在保证合法访问的同时,对非法访问进行控制。这就需要对路由器转发的数据包做出区分.即需要包过滤。路由器对需要转发的数据包.先获取包头信息,包括IP层所承载的上层协议的协议号,数据包的源地址、目的地址、源端口号和目的端口等.然后与设定的规则进行比较.根据比较的结果对数据包进行转发或者丢弃。
包过滤技术是在路由器上实现防火墙的一种主要方式,而实现包过滤技术最核心内容就是使用访问控制列表。
访问控制列表的作用
访问控制列表具有区分数据包的功能,因此,它可以控制“什么样的数据包”可以做“什么样的事情”。
例如:
将访问控制列表应用于防火墙,可以在保证合法用户访问的同时拒绝非法用户的访问。 也可以允许某种服务(如Telnet)通过.而拒绝另一种服务(如DNS)。
在Qos的应用中,我们可以利用访问控制列表对网络中的数据流量进行控制,重要的数据得到优先处理,不重要的数据后处理,不需要的数据被丢弃。
在DCC(拨号控制中心)中我们则可以用访问控制列表来规定哪些数据包可以触发拨号(请参见DCC一章的内容)。
在地址转换中.访问控制列表还可以用来规定哪些数据包需要进行地址转换。另外访问控制列表还广泛应用于路由策略中,主要用作路由信息的过滤。
访问控制列表原理
IP数据包具有一定的特征,例如,对于每个TCP数据包,都包含有源地址、目的地址、协议号、源端口、目的端口,利用这5个元素就可以描述出一个数据包的特征。
访问控制列表利用的就是利用这些信息来定义规则,区分不同的数据包(例如所有源地址是202.10.10.0地址段的数据包、所有使用Telnet访问的数据包等等),路由器将在使能访问控制列表的接口上对所有的数据包进行规则的匹配检查。
例如.我们可以定义下面的规则:
允许202.38.O.0/16网段的主机使用协议HTTP访问129.10.10.1
acl 101
rule pernuit tcp source 202.38. 0.0 0.0.255.255 destination 192.10.10.l 0.0.0.0 destination-port equal www
禁止从202.110.0.0/16网段发出的所有访问。
acl l
rule deny source 202.l 10.0.0 0 .0.255.255
不让任何主机使用Telnet登录
acl 101
rule deny tcp source any destination any destination-port equal telnet
某台主机10.0.0.1/16能通过SMTP把邮件发给我们,但是没有其他主机能这样做。
acl 101
rule permit tcp source 10.0.0.1 0.0.255.255 destination any destination-port equal smtp
然而,你不可以这样说:
这个用户能从外部远程登录,但是其它用户不能这样做。因为“用户名”不是访问控制列表所能辨认的信息。 你能发送这些文件而不能发送那些文件。因为“文件”也不是包过滤系统所能辨认的信息。
访问控制列表的分类
在配置访问控制列表时,我们必须定义一个序列号.并利用这个序列号来唯一的标识一条访问控制列表,同时我们也可以通过序列号来引用一条访问控制列表。
当然。这个序列号必须保证在协议所允许的范围之内,通过定义序列号的范围,我们可以将访问控制列表分为如上图所示的两类。序列号的范围表示了它属于什么样的访问控制列表。例如:
acl l
rule permit ip source 202.110.10 0 0.0.0.255
表示序号为l的访问控制列表,它是标准访问列表。
acl 100
rule deny tcp source any destination any destination-port equal smtp
表示序号为100的访问控制列表,它是扩展访问列表。