S5700的ACL访问控制列表及实验

若如初见. 提交于 2019-11-26 05:18:59

五、访问控制列表

<2000-2999>标准访问控制列表

<3000-3999>扩展访问控制列表

<4000-4999>指定一个L2的acl群组

<5000-5999>用户自定义访问控制列表

 

ACL的五大要素:源地址、源端口、目标地址、目标端口、协议

如果简单说来就是:源地址访问目的地址的什么协议的什么端口

思路:应用需要用什么协议,需要用什么端口--------确定IP地址

 

1.标准访问控制列表

Forexample1:

rule 0 deny source 192.168.16.2 0

#这条的意思是:访问规则0,拒绝源网段192.168.16.0的访问,而子网掩码为0就相当于255.255.255.255也就是32,为完全匹配的意思,就是说单单只拒绝这个一IP地址的访问

先搭建一个前期的可访问的路由的环境:

R1:

[router]interface GigabitEthernet 0/0/0

[router-GigabitEthernet0/0/0]ip address192.168.10.2 255.255.255.0

[router]ip route-static 192.168.1.0255.255.255.0 192.168.10.1

[router]ip route-static192.168.2.0 255.255.255.0 192.168.10.1

建议配置回程路由的时候加上出接口,然后在加上下一跳的地址。

三层交换switch:

#

 sysname switch

#

 vlan 2

 vlan 3

 quit

#

 interface vlan 1  

 ip address 192.168.10.1 24

 quit

#  

 interface vlan 2  

 ip address 192.168.1.1 255.255.255.0

 quit

#  

 interface vlan 3  

 ip address 192.168.2.1 255.255.255.0

 quit

#

 port-group 1  

 description hr

 group-member GigabitEthernet 0/0/1GigabitEthernet 0/0/2

 port link-type access

 port default vlan 2

 quit

#

 port-group 2  

 description sh

 group-member GigabitEthernet 0/0/3GigabitEthernet 0/0/4  

 port link-type access

 port default vlan 3

 quit

#

 interface GigabitEthernet 0/0/24

 port-like trunk

 port trunk allow-pass vlan 1 2 3

 quit

#

 ip route-static 0.0.0.0 0.0.0.0 192.168.10.2

同时来看下vlan的情况:

###########################################

通过实验证明:

在vlan1里面的诸多端口中,任意一个端口下接pc:

如果pc机的Ip在192.168.10.x网段,并且网关指向192.168.10.1,那么它是可以ping到192.168.10.2可以进外网路由。

如果pc机的Ip在任意其他网段都是不可访问到外网路由的192.168.10.2端口的。

所以这里,如果要使其他端口可以访问外网路由,要么将之添加到现有的可访问外网路由的vlan2或者vlan3,要么就新建其他的vlan并在三层交换的GE 0/0/24端口下重新允许新建的vlan数据通过。

标准acl:

inbound调用

[switch]acl 2000

[switch-acl-basic-2000]rule 5 deny source192.168.2.2 0

[switch]traffic-filter inbound acl 2000

(这这一步的实验中得出结论,阻止了来自源地址192.168.2.2的任何访问流量,自身2.0网段互访也不可以实现。)

如果将acl进行更改为:

[switch-acl-basic-2000]rule 5 deny source192.168.2.0 0.0.0.255

(这样表示拒绝来自192.168.2.0网段的所有流量,那么这时候2.0网段不仅不可以访问其他网段,而且连自身网段2.0内部互访都不可以。)

(对于上面的这种标准acl在inbound下调用和在outbound调用效果一样)

接口下调用

如果在三层交换的接口GE 0/0/1接口下同时调用inbound和outbound的acl 2000,如下

[switch-acl-basic-2000]rule 5 deny source192.168.2.0 0.0.0.255

[switch]interface GigabitEthernet 0/0/1

[switch-GigabitEthernet0/0/1]traffic-filterinbound acl 2000

[switch-GigabitEthernet0/0/1]traffic-filteroutbound acl 2000

[switch-GigabitEthernet0/0/1]restart   #重新启动端口才能生效

这样192.168.1.3无论是在进方向还是出方向上都无法访问2.0网段,同时2.0网段的数据流量也进不来。

###################################

通过实验其实可以看出,标准访问控制列表有局限性,它只能够单纯的阻止或者允许源地址访问,而无法具体定义,从而没有可扩展性,所以一般是不怎么使用标准访问控制列表的。

 

2.扩展访问控制列表

a.Forexample1:

acl 3000

rule 11 deny ip source 192.168.11.00.0.0.255 destination 192.168.12.0 0.0.0.255

#这条的意思是:访问规则11,拒绝源网段192.168.11.0访问192.168.12.0网段

b.Forexample2:

如果在扩展访问控制列表的Forexample1中,要使得其中一个192.168.11.6的IP访问192.168.12.99,因为原来是禁止的,如果要重建acl 3000又会很麻烦,怎么办呢?有一个简单的方法就是在这条语句的前面加上一条permit的单条语句,因为rule的匹配规则为从上往下匹配,所以如果放在第一条线匹配到,就可以既能让192.168.11.6访问成功,又能继续阻止其他的访问。

即:

rule 10 permit ip source192.168.11.6 0 destination 192.168.12.99 0

rule 11 deny ip source 192.168.11.0 0.0.0.255 destination 192.168.12.0 0.0.0.255

(所以在建立rule列表的时候,建议rule号码前面留有空余的号码,比如rule 11,如果有问题可以在前面添加rule 10)

c. 重新应用至接口.在应用过程中注意一点
traffic behavior 上permit与deny的区别.:
使用permit表示按照acl 3000的规则来进行数据放行,3001中允许那就允许,禁止那就禁止,但是若使用deny,则无论3000规则中的permit或者deny,一律全都丢弃不进行转发。

建立vlan并分别加入vlan:

[switch]vlan2

[switch-vlan2]vlan 3

[switch-vlan3]quit 

[switch]interface vlan 2   

[switch-Vlanif2]ip address192.168.1.1 255.255.255.0

[switch-Vlanif2]quit   

[switch]interface vlan 3   

[switch-Vlanif3]ip address 192.168.2.1255.255.255.0

[switch-Vlanif3]quit

[switch]port-group 1   #这里使用了端口群组的加入方式

[switch-port-group-1]description hr

[switch-port-group-1]group-memberGigabitEthernet 0/0/1 GigabitEthernet 0/0/2

[switch-port-group-1]port link-type access

[switch-port-group-1]port default vlan 2

[switch]port-group 2   

[switch-port-group-2]description sh

[switch-port-group-2]group-memberGigabitEthernet 0/0/3 GigabitEthernet 0/0/4

[switch-port-group-2]port link-type access

[switch-port-group-2]port default vlan 3

[switch]interface vlan 1   

[switch-Vlanif1]ip address 192.168.10.1 24

当配置好了以后其它们的vlan间是可以互通的,这是默认的,不同于思科的设备得配置vlan间路由才可以使vlan间互通。如果需要让vlan间不互通,通过配置acl就可以实现。

 

配置acl访问控制策略:

(目前192.168.2.2/24和192.1680.1.2/24是可以互通的,现在要使他们不能互通,但是可以访问192.168.10.2/24)

[switch]acl 3000

[switch-acl-adv-3000]rule1 deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255

#因为系统默认是permit所有,所以这个acl 3000里面只用有一条deny的语句就可以实现了。

[switch]traffic-filter inbound acl 3000  #这里是在流量过滤下调用访问控制列表3000

而下面的这条策略则可以实现禁PING的功能,因为ping命令是属于icmp的协议。

[switch-acl-adv-3000]rule 5 deny icmpsource 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!