网络(十一)之ACL的原理及配置(cisco)

ACL的原理及配置

续上篇的DHCP,本篇文章我们 讲解一下ACL的原理及配置命令。ACL的在目前的应用十分广泛,用来控制流量的走向以及数据包的传输。在思科里,ACL是默认拒绝所有的。

ACL的概念

访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。
简单的来说,在我们实现全网通的时候,我们又希望某个地址或者某个网段不能访问某个地址或网段,这时候就可以运用ACL了。

ACL的分类

标准IP访问列表:
一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。
扩展IP访问:
扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。
命名的IP访问:
所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两种列表,定义过滤的语句与编号方式中相似。
标准IPX访问:
标准IPX访问控制列表的编号范围是800-899,它检查IPX源网络号和目的网络号,同样可以检查源地址和目的地址的节点号部分。
扩展IPX访问:
扩展IPX访问控制列表在标准IPX访问控制列表的基础上,增加了对IPX报头中以下几个宇段的检查,它们是协议类型、源Socket、目标Socket。扩展IPX访问控制列表的编号范围是900-999。
命名的IPX访问
与命名的IP访问控制列表一样,命名的IPX访问控制列表是使用列表名取代列表编号。从而方便定义和引用列表,同样有标准和扩展之分。

ACL的配置命令

标准ACL:Router(config)#access-list 1 XXX(动作) XXX(源)
Router(config)#access-list 1(1-99) deny 192.168.1.0(网段) 0.0.0.255(通配符掩码) //拒绝192.168.1.0网段的访问。
Router(config)#access-list 1 deny host 192.168.1.1 //创建标准ACL,拒绝主机192.168.1.1
Router(config)#access-list 1(1-99) premit any //允许其他通过。
Router(config)#int f0/0
Router(config-if)ip access-group 1 out //调用ACL规则,out代表出口
Router#show access-lists //查看当前路由器存在的访问控制列表
Router(config)#no access-list 2 //删除访问控制列表

远程控制ACL:
Router(config)access-list 1 permit 192.168.1.0(IP地址) 0.0.0.255(通配符掩码)
Router(config)line vty 0 4
Router(config)access-class 1 in(进口)

扩展ACL:R2(config)#access-list 100 XXX(动作)XXX(协议) XXX(源) XXX(目的) eq XX(端口号/如果有)
Router(config)#access-list 100 deny tcp 10.1.1.0 0.0.0.255 host 172.16.1.100 eq 80 //创建ACL100号表,拒绝10.1.1.0/24网段到主机172.16.1.100 的TCP 80端口
Router(config)#access-list 100 permit ip any any //扩展访问控制列表允许所有
Router(config)#ip access-list XXXX(扩展/标准) XXXX(定义一个名字)
Router(config)#ip access-list standard ccna //创建一个标准访问控制列表名字为ccna
Router(config)#ip access-list extended ccie //创建一个扩展访问控制列表名字为ccie
Router(config-std-nacl)#permit 192.168.1.0 0.0.0.255 //允许192.168.1.0/24网段
Router(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 //允许192.168.1.0/24到192.168.2.0/24网络的访问。
R3#show access-lists //查看当前路由器的列表情况可以看到条目的编号。默认以10开始,以10递增。
R3(config)#ip access-list extended vpn123 //进入某个ACL列表
R3(config-ext-nacl)#no 10 //删除10号条目对应的匹配规则
R3(config-ext-nacl)#1 permit ip host 1.1.1.1 host 2.2.2.2 //为这个规则赋予1号条目的顺序。

ACL的特性

1、执行动作只有允许或者拒绝。如果是调用在其他协议里面允许可以理解为抓取。
2、ACL匹配的时候是从上往下,编号是从小到大的匹配。一旦匹配中数据包立即执行动作。停止匹配。所以,较为严谨的需求。需要写在ACL的最上方。决定ACL匹配条目的排序,是由工程师敲命令的顺序来决定。
3、在每一张ACL表格里面最下方都有一条隐藏的语句:拒绝所有。因此,一张ACL必须要有一条permit语句才有意义,如果没有任何一条permit语句这张ACL将会失去意义。所以可以把ACL理解为如果没有明确放行的流量将会被拒绝(白名单)。
4、路由器的ACL可以过滤穿越和抵达路由器的流量(远程登陆流量,路由信息流量),而路由器自身产生的流量不在自身路由器的过滤范围内。
5、在调用ACL在接口的时候要表明列表所应用的方向。也就是流量穿越路由器的时候,所走的方向。In或者Out。如果方向调用错误,那将完全不能实现需求效果。
6、ACL对于出站和入站方向的数据包处理顺序有所不同,入站先查ACL表。出站先查路由表。
7、IOS12.3版本之前,ACL表如果写错需要把整张表删除,重新书写。12.3后的命名ACL可以在一张表内任意的删除添加。调整列表条目的位置。
8、每个路由器的每个接口的每个方向只能调用一张ACL。
9、在使用标准或扩张ACL的时候。可以遵循以下建议来决定使用ACL的设备与接口:
标准访问控制列表:应当更加接近目的地使用。如果靠近源使用,可能会导致该源网段去往其他非需求里的网段时,不通。
扩展访问控制列表:应当更加接近源地址使用。如果靠近目的使用,会导致沿途的路由查询都是白费,因为扩展更加精确的控制了流量,不会影响到源网段到其他需求外的网段,所以靠近源使用,可以尽早的丢弃数据包,以免浪费沿途的链路带宽和路由器资源。
通配符掩码:
与正掩码相比。通配符掩码可以使用不连续的0 和 1来标识网络。0代表精确匹配。1代表可以变位。

ACL实例配置(标准)

在这里插入图片描述
在这里插入图片描述
分析:
先在SW1与SW2配置VTP,在配置好TRUNK的前提下,SW1作为server,SW2作为client。添加vlan,完成vlan同步。
再划分vlan,使得不同vlan之间不能通信。
再配置单臂路由,使得不同vlan之间可以通信。
配置好地址,再配置OSPF,实现全网通。
最后配置ACL,实现题目要求。

实例配置命令 (1)

配置:
配置VTP。
SW1:
SW1(config)#int f0/4
SW1(config-if)#switchport mode trunk
SW1(config)#vtp domain ccie
SW1(config)#vtp password ccie
SW2:
SW2(config)#int f0/3
SW2(config-if)#switchport mode trunk
SW2(config)#vtp domain ccie
SW2(config)#vtp password ccie
SW2(config)#vtp mode client
划分VLAN配置:
SW1:
SW1(config)#int f0/1
SW1(config-if)#switchport mode access
SW1(config-if)#switchport access vlan 10
SW1(config-if)#int f0/2
SW1(config-if)#switchport mode access
SW1(config-if)#switchport access vlan 20
SW1(config-if)#int f0/3
SW1(config-if)#switchport mode trunk
SW2
SW2(config)#int f0/1
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access vlan 10
SW2(config-if)#int f0/2
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access vlan 20
SW3
SW3 (config)#int f0/1
SW3(config-if)#switchport mode access
SW3(config-if)#switchport access vlan 10
SW3(config-if)#int f0/2
SW3(config-if)#switchport mode access
SW3(config-if)#switchport access vlan 20
配置单臂路由,
R1:
R1(config)#int f0/0.10
R1(config-subif)#encapsulation dot1Q 10
R1(config-subif)#ip address 192.168.10.254 255.255.255.0
SW3:
SW3(config)#ip routing
SW3(config)#int vlan 10
SW3(config-if)#ip address 172.16.10.254 255.255.255.0
SW3(config)#int vlan 20
SW3(config-if)#ip address 172.16.20.254 255.255.255.0
配置IP地址和OSPF。
R1:
R1(config-if)# int f0/1
R1(config-if)#ip address 192.168.2.1 255.255.255.0
R1(config)#router ospf 100
R1(config-router)#network 192.168.10.0 0.0.0.255 area 0
R1(config-router)#network 192.168.2.0 0.0.0.255 area 0

R2:
R2(config-if)# int f0/0
R2(config-if)#ip address 192.168.2.2 255.255.255.0
R2(config-if)# int f0/1
R2(config-if)#ip address 172.16.254.1 255.255.255.0
R2(config-if)# int f1/0
R2(config-if)#ip address 192.168.3.254 255.255.255.0
R2(config)#router ospf 100
R2(config-router)#network 192.168.3.0 0.0.0.255 area 0
R2(config-router)#network 192.168.2.0 0.0.0.255 area 0
R2(config-router)#network 172.16.2.0 0.0.0.255 area 0

SW3:
SW3(config)#int f0/3
SW3(config-if)#no switchport
SW3(config-if)#ip address 172.16.2.1 255.255.255.0
SW3(config)#router ospf 100
SW3(config-router)#network 172.16.2.0 0.0.0.255 area 0
SW3(config-router)#network 172.16.10.0 0.0.0.255 area 0
SW3(config-router)#network 172.16.20.0 0.0.0.255 area 0

扫描二维码关注公众号,回复: 9401894 查看本文章

最后,来做ACL。
配置:
R2:
R2(config)#access-list 1 deny 192.168.20.0 0.0.0.255
R2(config)#access-list 1 permit any
R2(config)#int f1/0
R2(config-if)#ip access-group 1 out

SW3:
SW3(config)#access-list 2 deny 172.16.10.0 0.0.0.255
SW3(config)#access-list 2 permit any
SW3(config)#int vlan 20
SW3(config-if)#ip access-group 2 out
SW3(config)#access-list 3 deny 192.168.20.0 0.0.0.255
SW3(config)#access-list 2 permit any
SW3(config)#int vlan 20
SW3(config-if)#ip access-group 2 out

测试查看

查看VTP配置.
在这里插入图片描述
在这里插入图片描述
查看vlan之间PING,成功则说明单臂路由配置成功。
在这里插入图片描述
配完测试是否全网通。测试成功。

在这里插入图片描述
在这里插入图片描述
查看访问情况。在这里插入图片描述
在这里插入图片描述
可以看到。做完,192.168.20.0/24 无法访问服务器
192.168.10.0/24可以访问。
满足全部需求。
在这里插入图片描述
可以看出,172.16.20.0/24无法访问20,可以访问10。
在这里插入图片描述
可以看到,172.16.10.0/24无法访问172.16.20.0/24了。

ACL实例配置(拓展及VTY)

在这里插入图片描述

分析:
前提:配置好IP,配置OSPF,实现全网。
需求一:配置VTY ACL.
需求二:通配符掩码是配置为0.0.0.7
需求三:使用拓展ACL配置。单数配置为 192.168.1.1 0.0.0.254 双数的配置为192.168.1.0 0.0.0.254。

配置命令:

配置IP地址及OSPF。
R1
R1(config)#int f0/0
R1(config-if)#ip address 192.168.1.254 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#int f0/1
R1(config-if)#ip address 12.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#router ospf 100
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0
R1(config-router)#network 12.1.1.0 0.0.0.255 area 0
R2:
R2(config)#int f0/0
R2(config-if)#ip address 12.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#int f0/1
R2(config-if)#ip address 23.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#int f1/0
R2(config-if)#ip address 10.1.1.254 255.255.255.0
R2(config-if)#no shutdown
R2(config)#router ospf 100
R2(config-router)#network 12.1.1.0 0.0.0.255 area 0
R2(config-router)#network 23.1.1.0 0.0.0.255 area 0
R2(config-router)#network 10.1.1.0 0.0.0.255 area 0
R3:
R3(config)#int f0/0
R3(config-if)#ip address 23.1.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config)#int f0/1
R3(config-if)#ip address 172.16.1.254 255.255.255.0
R3(config-if)#no shutdown
R3(config)#router ospf 100
R3(config-router)#network 23.1.1.0 0.0.0.255 area 0
R3(config-router)#network 23.1.1.0 0.0.0.255 area 0
R3(config-router)#network 172.16.1.0 0.0.0.255 area 0
查看是否全网通信。
在这里插入图片描述
在这里插入图片描述
需求1配置命令:
开启R2telnet。
R2(config)#line vty 0 4
R2(config-line)#password cisco
R2(config-line)#login local
R2(config-line)#exit
R2(config)#username CCIE privilege 15 secret cisco

测试R3telnetR2。直接进入特权模式。
在这里插入图片描述
需求2命令:
R2(config)access-list 1 permit 192.168.1.0 0.0.0.255
R2(config)line vty 0 4
R2(config)access-class 1 in

查看192.168.1.1telnetR2,成功telnet。
在这里插入图片描述
在这里插入图片描述
需求3命令:
R1(config)#access-list 101 permit ip 192.168.1.1 0.0.0.254 host 172.16.1.100
R1(config)#access-list 101 permit tcp 192.168.1.0 0.0.0.254 host 172.16.1.100 eq 80
R1(config)#int f0/0
R1(config-if)#ip access-group 101 in

查看配置后,
单数的192.168.1.1可以ping通服务器。192.168.1.2则不能。
在这里插入图片描述
在这里插入图片描述
再来查看HTTP情况。
192.168.1.1能访问,192.168.1.2也可以访问。满足所有要求。
在这里插入图片描述
在这里插入图片描述

最后

ACL在后续的我们还会讲到,配置NAT地址转化以及防火墙的配置都会涉及。作为一个重点的讲解。这里我们暂时以两个实例来讲一下基本的ACL改如何去运用及命令的敲法。谢谢你们的观看,有兴趣可以留言讨论。

发布了21 篇原创文章 · 获赞 0 · 访问量 955

猜你喜欢

转载自blog.csdn.net/Stephen_jj/article/details/104413011