ACL,是Access Control List的简写,中文名称叫做“访问控制列表”。它是由一系列条件规则(即描述报文匹配条件的判断语句)组成, 这些条件规则可以是报文的源地址、目的地址、端口号等,是一种应用在网络设备各种软硬接口上的的指令列表。其主要功能为过滤及分类。
ACL访问控制列表分为两种:标准列表(只关注源ip地址。),扩展列表(关注源及目标ip地址,同时关注端口号,协议号。)以下为实验需求:
首先搭建网络,利用静态路由协议搭建起此网络。(注:由于eNSP的pc模拟器不支持telnet远程控制访问,所以我们选择使用路由器(PC1,PC2)代替pc完成实验。只需给PC1,PC2配置一条缺省路由去R1即可。)ip地址规划如下图所示。
在使用ACL之前,我们需要首先配置telnet,按照实验需求在R1密令行上输入以下指令:
[R1]aaa 进入aaa服务
[R1-aaa]local-user wangcai privilege level 15 password cipher 12345 告知用户名及密码
[R1-aaa]local-user wangcai service-type telnet
[R1]user-interface vty 0
[R1-ui-vty0]authentication-mode aaa
同理,以以上密令配置R2。
现在分析需求(1)PC2不能telnetR1(2)PC1不能pingR1(3)PC2不能pingR2,(4)PC1不能telnetR2
有上述信息可以看出,我们要有目标性的干掉流量,所以选择使用扩展列表。Ping测试命令属于ICMP协议(internet控制管理协议)拒绝该协议即拒绝ping。Telnet 基于TCP目标端口号23工作,拒绝该端口即拒绝telnet。
扩展列表需要选择离源流量较近的接口,因此我们选择R1的g0/0/0,我们在路由器输入以下密令:
[R1]acl 3000 创建acl访问控制列表,编号2000-2999为标准列表;3000-3999为扩展列表。
R1-acl-adv-3000]rule deny icmp source 192.168.2.1 0 destination 192.168.1.1 0
[R1-acl-adv-3000]rule deny icmp source 192.168.2.1 0 destination 192.168.2.3 0 创建规则,PC1不可以对R1进行icmp协议,即不可以进行ping
[R1-acl-adv-3000]rule deny tcp source 192.168.2.2 0 destination 192.168.1.1 0 destination-port eq 23
[R1-acl-adv-3000]rule deny tcp source 192.168.2.2 0 destination 192.168.2.3 0 destination-port eq 23 创建规则,PC2不可以通过23号端口进行远程控制访问R1。
[R1-acl-adv-3000]rule deny tcp source 192.168.2.1 0 destination 192.168.1.2 0 destination-port eq 23 同上,配置R2的进入规则
[R1-acl-adv-3000]rule deny icmp source 192.168.2.2 0 destination 192.168.1.2 0
[R1-acl-adv-3000]q
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 进入使用接口,启用acl3000协议
我们打开PC1尝试ping R1并不会通,结果如下。同理PC2 Ping R2 也不会通。
接着我们尝试使用PC2对 R1进行远程访问,结果如下图,显示尝试失败,PC1对R2也是如此。
现在我们尝试一次正确的telnet访问,使用PC1 telnet R1,密令行显示如下:
Press CTRL_] to quit telnet mode
Trying 192.168.2.3 ...
Connected to 192.168.2.3 ...
Login authentication
Username:wangcai
Password: 密码为盲打,不会显示
当出现