ACL在镜像端的应用
2016-11-26
随着互联网业务的不断发展,用户数量的不断攀升,很多情况下网络管理员需要对进出网络的数据报文进行监视,而且企业出于对信息安全的需要,也迫切需要网络中有一个端口能提供这种监控功能。在设备上使用镜像功能,就可以很好的对网络内部的数据进行监控管理,特别是在网络排错的时候,可以做到很好的故障定位。
如果监听网络中所有流量会有相当大的困难,因此需要通过配置交换机或者路由器来把一个或多个端口的数据转发到某个端口从而实现对网络的监听。这就是镜像的概念,我们可以理解成把源端口的部分或者全部流量拷贝到另外一个指定的目的端口,在不严重影响源端口正常吞吐留流量的情况下,通过镜像端口对流量进行监控分析,特别是在网络排错的时候,使用镜像端口这一功能比较多,上面我们提到可以把源端口的部分或者全部流量拷贝到目的端口,从而实现对端口数据的监听,那么这里的部分流量将如何实现呢?下面就结合一个服务器的部署来具体介绍一下ACL在镜像端口中的应用。
近日,为了提高用户的上网体验,我们已经在网内部署了缓存服务器,用来存储用户经常访问的网页和视频资源等。基于它的工作原理就需要对互联网流量进行监听,从而分析那些访问流量是用户经常使用的,从而把相应的资源下载下来,这样一来可以提高用户的上网体验,二来可以有效节省互联网出口带宽。但是由于设备的硬件的限制,服务器和路由器使用千兆端口连接,这样就会出现镜像端口流量比较大的情况发生,这样就势必会增加链路的拥堵,还不利于缓存服务器对数据报文的高效抓取和分析。为了解决这一问题,我们决定对路由器出站方向的流量进行有选择性的镜像,从而降低缓存服务器的工作压力,这样也有助于提高缓存服务器对用户行为的高效分析和定位,既然要有选择的对流量进行镜像,那么需要对什么流量进行镜像呢?根据缓存服务器的工作原理,它只需要对用户的HTTP和DNS流量进行分析,那么我们可以对上述两个流量的进行允许,将其他流量拒绝即可,说到这里我们很自然的就想到使用ACL来定义流量,既然要对HTTP和DNS流量进行镜像,那么我们知道HTTP的端口号是80,而且是基于TCP协议的。DNS的端口是53,是基于TCP和UDP的。这样我们决定对路由器出站方向访问80和53端口的流量进行镜像,具体的配置命令如下所示:
上面我们先定义了一个ACL,然后在规则条目中分别定义了允许目的访问53和80端口的流量通过,其他的流量拒绝的动作,这个访问控制列表就可以将流量进行有选择性的过滤,既然ACL已经配置完毕,接下来就要将它进行应用,接下来我们将配置镜像端口,并将ACL进行应用。
刚才我们创建了镜像会话组然后将ACL应用到目的端口上,然后又定义了源端口和镜像出站方向的流量,最终完成了数据业务的配置。完成配置后我们查看了目的镜像端口的流量得到明显降低,端口利用率由原来的60%降低到2%,这样就会大大缓解服务器的处理压力,也有效地提高了服务器对数据报文的高效抓取和定位。完成这些操作后我们在服务器上可以看到只有目的访问80和53端口的数据出现,而没有出现其他的流量,这就说明我们的配置方法是正确的,同时也满足了服务器的需求。
总体上说我们为了减轻镜像端口的带宽压力,同时为了提高缓存服务器工作效率,并为了提高服务器对用户流量抓取的命中率,我们通过设置ACL,并在ACL中定义指定流量,最后在镜像会话组中应用了该ACL,从而实现了只有匹配ACL中的流量才可以镜像到目的端口上,其他的流量是不被镜像的。通过这些操作我们认为作为网络运维人员,当得知缓存服务器的需求后,经过仔细分析需求然后结合自我的理论知识,联想到定义流量需要使用ACL,最终将ACL应用到镜像端口上从而满足了网络的需求,达到了设备的高效运行的目的,也为进一步提高用户的上网体验打下了良好的基础。