基本配置:略
首先根据题目策略的需求1,从这个角度看,我们需要做一条高级ACL,因为我们不仅要看你是谁,还要看你去干什么事情,用高级ACL来做的话,对于我们华为设备,只写拒绝,因为华为默认允许所有
所以telnet R1 我们不用管,只写一条拒绝,不让PC1 ping R1 就行了
因为两条都有telnet的服务需求,所以我先把R1R2的telnet服务开启
先到aaa里面创建一个用户
[r1]aaa [r1-aaa]
创建一个hzf 用户,他的优先级是15,密码123456
[r1-aaa]local-user hzf privilege level 15 password cipher 123456
这个用户是做什么用的呢?主要是做telnet用的
[r1-aaa]local-user hzf service-type telnet
把我们的虚拟端口开启, 0 4是开启五个端口,同时可以登录五个人,这边只开个0端口
[r1]user-interface vty 0
告诉端口它的认证类型 :aaa
[r1-ui-vty0]authentication-mode aaa [r1-ui-vty0]q
此时我们便开启了telnet
同样方法开启r2的telnet服务
在R1上先创建一个高级acl 3000
[r1]acl 3000 [r1-acl-adv-3000]
注意写的时候只需要写拒绝就可以了,拒绝ping R1
ping匹配icmp协议,源地址匹配192.168.1.10 写死,目标地址192.168.1.1 写死,
r1有两个端口因此都加入规则
[r1-acl-adv-3000]rule deny icmp source 192.168.1.10 0.0.0.0 destination 192.168.1.1 0.0.0.0 [r1-acl-adv-3000]rule deny icmp source 192.168.1.10 0.0.0.0 destination 192.168.2.1 0.0.0.0
PC1不能telnet R2,因此写入规则
不能telnet是tcp协议,源地址192.168.1.10 写死,目标地址192.168.2.2 写死,目标端口23(telnet端口 23),icmp为啥不加,相当于所有icmp的包我们都拒绝,一般情况下,只有ping用icmp的包,还有tracert。要是不写目标端口会导致所有tcp协议的包都被拦截,所以我们要声明目标端口
[r1-acl-adv-3000]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23
规则写好了,我们就要调用,在r1的0/0/0接口
方向是流入方向inbound
[r1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000
ping和telnet测试:略
同理PC2的acl规则可以直接写入3000里,
[r1]acl 3000 [r1-acl-adv-3000]
拒绝PC2 telnet r1,也是两个端口都拒
[r1-acl-adv-3000]rule deny tcp source 192.168.1.11 0.0.0.0 destination 192.168.1 .1 0.0.0.0 destination-port eq 23 [r1-acl-adv-3000]rule deny tcp source 192.168.1.11 0.0.0.0 destination 192.168.2 .1 0.0.0.0 destination-port eq 23
可以ping R1,华为设备默认允许全部
不可以ping R2,但是可以telnet R2
[r1-acl-adv-3000]rule deny icmp source 192.168.1.11 0.0.0.0 destination 192.168. 2.2 0.0.0.0
测试:略