所谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的活动。一般来说,在路由过程中,信息至少会经过一个或多个中间节点。通常,人们会把路由和交换机进行对比,这主要是因为在普通用户看来两者所实现的功能是完全一样的。其实,路由和交换之间的主要区别就是交换发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。 路由器(Router)是互联网的主要节点设备。路由器通过路由决定数据的转发。转发策略称为路由选择(routing),这也是路由器名称的由来(router,转发者)。作为不同网络之间互相连接的枢纽,路由器系统构成了基于 TCP/IP 的国际互联网络 Internet 的主体脉络,也可以说,路由器构成了 Internet的骨架。它的处理速度是网络通信的主要瓶颈之一,它的可靠性则直接影响着网络互连的质量。
这种ACL是基于lock-and-key的,动态acl平时是不生效的,只用当条件触发时才生效。例如;
在某台路由器上我进行了如下配置:
username netdigedu password 123
username netdigedu autocommand access-enable host time 5
line vty 0 4
login local
同时配置一个动态ACL:
access-list 100 permit tcp 192.168.1.1 0.0.0.0 192.168.1.2 0.0.0.0 eq telnet
access-list 101 dynamic abc timeout 60 permit icmp host 5.5.123.1 host
5.5.12.3
int e0/0
ip access-group 100 in
exit
在配置完成以后,我们在路由器1上ping 192.168.1.2 得到的结果是timeout.
当我们从路由器1上telnet到路由器2上以后,发现以下提示
[Connection to 192.168.1.2 closed by foreign host]
当我们看到这个提示以后,我们在路由器1上去ping路由器2的时候,我们发现可以ping通了。
line vty 0 4
autocommand access-enable host timeout 5 '设置触发激活动态ACL
也就是说,当192.168.1.1 telnet到 192.168.1.2
并通过验证的话,则放置在e0/0接口上的动态ACL生效,这时192.168.1.可以ping通192.168.1.2.
关于两个timeout,access-list里的timeout是该条目的超时时间,也就是该条目只能存在60分钟,autocommand中的timeout是空闲超时时间,也就说如果2分钟内如果没有匹配该条目的流量出现,则条目失效。默认值忘了,谢谢!
关于host参数我说一下,加上host参数的话,假设动态acl是这样写的;
access-list 101 dynamic abc timeout 60 permit icmp 192.168.1.0 0.0.0.255 host
192.168.1.2
那么终生成的条目是permit icmp 5.5.123.1 0.0.0.0 host
5.5.12.3,也就是只为激活该条目的单个主机生成动态条目。不加host参数会为整个网段生成允许条目。
在这个例子里我做的实验的show ip acce的结果如下
r2#show ip acce
Extended IP access list 100
10 permit tcp host 192.168.1.1 host 192.168.1.2 eq telnet (807 matches)
20 Dynamic abc permit icmp host 192.168.1.1 host 192.168.1.2
permit icmp host 192.168.1.1 host 192.168.1.2
我们发现,路由器自动创建了一个动态的访问控制列表的条目。
上面那个完整的例子里,加不加host都一样,因为动态ACL本身是就是host的。
注意事项:
1、autocommand 整个命令必须打全!用?也看不到!而且打错了不提示!
2、在每个访问控制列表中只能创建一个动态的访问控制列表。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。