路由器配置命令access-list 1 permit host 172.16.4.13 设置ACL,容许172.16.4.13的数据包通过。
access-list 1 deny any 设置ACL,阻止其他一切IP地址进行通讯传输。
int e 1 进入E1端口。
ip access-group 1 in 将ACL 1宣告。
经过设置后E1端口就只容许来自172.16.4.13这个IP地址的数据包传输出去了。
来自其他IP地址的数据包都无法通过E1传输。
小提示:由于CISCO默认添加了DENY ANY的语句在每个ACL中,所以上面的access-list 1 deny any这句命令可以省略。
另外在路由器连接网络不多的情况下也可以在E0端口使用ip access-group 1 out命令来宣告,宣告结果和上面最后两句命令效果一样。
标准访问控制列表实例二配置任务:禁止172.16.4.13这个计算机对172.16.3.0/24网段的访问,而172.16.4.0/24中的其他计算机可以正常访问。
路由器配置命令:access-list 1 deny host 172.16.4.13 设置ACL,禁止172.16.4.13的数据包通过access-list 1 permit any 设置ACL,容许其他地址的计算机进行通讯int e 1 进入E1端口ip access-group 1 in 将ACL1宣告,同理可以进入E0端口后使用ip access-group 1 out 来完成宣告。
配置完毕后除了172.16.4.13其他IP地址都可以通过路由器正常通讯,传输数据包。
总结:标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。
应用比较广泛,经常在要求控制级别较低的情况下使用。
如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。
扩展访问控制列表:上面我们提到的标准访问控制列表是基于IP地址进行过滤的,是最简单的ACL。
那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。
这时候就需要使用扩展访问控制列表了。
使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。
扩展访问控制列表使用的ACL号为100到199。
扩展访问控制列表的格式刚刚我们提到了标准访问控制列表,他是基于IP地址进行过滤的,是最简单的ACL。
那么如果我们希望将过滤细到端口怎么办呢?或者希望对数据包的目的地址进行过滤。
这时候就需要使用扩展访问控制列表了。
使用扩展IP访问列表可以有效的容许用户访问物理LAN而并不容许他使用某个特定服务(例如WWW,FTP等)。
扩展访问控制列表使用的ACL号为100到199。
扩展访问控制列表的格式:扩展访问控制列表是一种高级的ACL,配置命令的具体格式如下:access-list ACL号[permit deny] [协议] [定义过滤源主机范围] [定义过滤源端口] [定义过滤目的主机访问] [定义过滤目的端口]例如:access-list 101 deny tcp any host 192.168.1.1 eq www这句命令是将所有主机访问192.168.1.1这个地址网页服务(WWW)TCP连接的数据包丢弃。
小提示:同样在扩展访问控制列表中也可以定义过滤某个网段,当然和标准访问控制列表一样需要我们使用反向掩码定义IP地址后的子网掩码。
扩展访问控制列表实例我们采用如图所示的网络结构。
路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。
在172.16.4.0/24网段中有一台服务器提供WWW服务,IP地址为172.16.4.13。
配置任务:禁止172.16.3.0的计算机访问172.16.4.0的计算机,包括那台服务器,不过惟独可以访问172.16.4.13上的WWW服务,而其他服务不能访问。
路由器配置命令:access-list 101 permit tcp any 172.16.4.13 0.0.0.0 eq www 设置ACL101,容许源地址为任意IP,目的地址为172.16.4.13主机的80端口即WWW服务。
由于CISCO默认添加DENY ANY的命令,所以ACL只写此一句即可。
int e 1 进入E1端口ip access-group 101 out 将ACL101宣告出去设置完毕后172.16.3.0的计算机就无法访问172.16.4.0的计算机了,就算是服务器172.16.4.13开启了FTP服务也无法访问,惟独可以访问的就是172.16.4.13的WWW服务了。
而172.16.4.0的计算机访问172.16.3.0的计算机没有任何问题。
扩展ACL有一个最大的好处就是可以保护服务器,例如很多服务器为了更好的提供服务都是暴露在公网上的,这时为了保证服务正常提供所有端口都对外界开放,很容易招来黑客和病毒的攻击,通过扩展ACL可以将除了服务端口以外的其他端口都封锁掉,降低了被攻击的机率。
如本例就是仅仅将80端口对外界开放。
总结:扩展ACL功能很强大,他可以控制源IP,目的IP,源端口,目的端口等,能实现相当精细的控制,扩展ACL不仅读取IP包头的源地址/目的地址,还要读取第四层包头中的源端口和目的端口的IP。
不过他存在一个缺点,那就是在没有硬件ACL加速的情况下,扩展ACL会消耗大量的路由器CPU资源。
所以当使用中低档路由器时应尽量减少扩展ACL 的条目数,将其简化为标准ACL或将多条扩展ACL合一是最有效的方法。
基于名称的访问控制列表不管是标准访问控制列表还是扩展访问控制列表都有一个弊端,那就是当设置好ACL 的规则后发现其中的某条有问题,希望进行修改或删除的话只能将全部ACL信息都删除。
也就是说修改一条或删除一条都会影响到整个ACL列表。
这一个缺点影响了我们的工作,为我们带来了繁重的负担。
不过我们可以用基于名称的访问控制列表来解决这个问题。
一、基于名称的访问控制列表的格式:ip access-list [standard extended] [ACL名称]例如:ip access-list standard softer就建立了一个名为softer的标准访问控制列表。
二、基于名称的访问控制列表的使用方法:当我们建立了一个基于名称的访问列表后就可以进入到这个ACL中进行配置了。
例如我们添加三条ACL规则permit 1.1.1.1 0.0.0.0permit 2.2.2.2 0.0.0.0permit 3.3.3.3 0.0.0.0如果我们发现第二条命令应该是2.2.2.1而不是2.2.2.2,如果使用不是基于名称的访问控制列表的话,使用no permit 2.2.2.2 0.0.0.0后整个ACL信息都会被删除掉。
正是因为使用了基于名称的访问控制列表,我们使用no permit 2.2.2.2 0.0.0.0后第一条和第三条指令依然存在。
总结:如果设置ACL的规则比较多的话,应该使用基于名称的访问控制列表进行管理,这样可以减轻很多后期维护的工作,方便我们随时进行调整ACL规则。
反向访问控制列表:我们使用访问控制列表除了合理管理网络访问以外还有一个更重要的方面,那就是防范病毒,我们可以将平时常见病毒传播使用的端口进行过滤,将使用这些端口的数据包丢弃。
这样就可以有效的防范病毒的攻击。
不过即使再科学的访问控制列表规则也可能会因为未知病毒的传播而无效,毕竟未知病毒使用的端口是我们无法估计的,而且随着防范病毒数量的增多会造成访问控制列表规则过多,在一定程度上影响了网络访问的速度。
这时我们可以使用反向控制列表来解决以上的问题。
反向访问控制列表的用途及格式一、反向访问控制列表的用途反向访问控制列表属于ACL的一种高级应用。
他可以有效的防范病毒。
通过配置反向ACL可以保证AB两个网段的计算机互相PING,A可以PING通B而B不能PING通A。
说得通俗些的话就是传输数据可以分为两个过程,首先是源主机向目的主机发送连接请求和数据,然后是目的主机在双方建立好连接后发送数据给源主机。
反向ACL控制的就是上面提到的连接请求。
二、反向访问控制列表的格式反向访问控制列表格式非常简单,只要在配置好的扩展访问列表最后加上established 即可。
我们还是通过实例为大家讲解。
我们采用如图所示的网络结构。
路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。
在172.16.4.0/24网段中的计算机都是服务器,我们通过反向ACL 设置保护这些服务器免受来自172.16.3.0这个网段的病毒攻击。
配置实例:禁止病毒从172.16.3.0/24这个网段传播到172.16.4.0/24这个服务器网段。
路由器配置命令:access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.0 0.0.0.255 established 定义ACL101,容许所有来自172.16.3.0网段的计算机访问172.16.4.0网段中的计算机,前提是TCP连接已经建立了的。
当TCP连接没有建立的话是不容许172.16.3.0访问172.16.4.0的。
int e 1 进入E1端口ip access-group 101 out 将ACL101宣告出去设置完毕后病毒就不会轻易的从172.16.3.0传播到172.16.4.0的服务器区了。
因为病毒要想传播都是主动进行TCP连接的,由于路由器上采用反向ACL禁止了172.16.3.0网段的TCP主动连接,因此病毒无法顺利传播。
小提示:检验反向ACL是否顺利配置的一个简单方法就是拿172.16.4.0里的一台服务器PING在172.16.3.0中的计算机,如果可以PING通的话再用172.16.3.0那台计算机PING172.16.4.0的服务器,PING不通则说明ACL配置成功。
通过上文配置的反向ACL会出现一个问题,那就是172.16.3.0的计算机不能访问服务器的服务了,假如图中172.16.4.13提供了WWW服务的话也不能正常访问。
解决的方法是在ESTABLISHED那句前头再添加一个扩展ACL规则,例如:access-list 101 permit tcp 172.16.3.0 0.0.0.255 172.16.4.13 0.0.0.0 eq www。