這種ACL是基于lock-and-key的,動(dòng)態(tài)acl平時(shí)是不生效的,只用當(dāng)條件觸發(fā)時(shí)才生效。例如;
在某臺(tái)路由器上我進(jìn)行了如下配置:
username netdigedu password 123
username netdigedu autocommand access-enable host time 5
line vty 0 4
login local
同時(shí)配置一個(gè)動(dòng)態(tài)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
在配置完成以后,我們?cè)诼酚善?上ping 192.168.1.2 得到的結(jié)果是timeout。
當(dāng)我們從路由器1上telnet到路由器2上以后,發(fā)現(xiàn)以下提示
[Connection to 192.168.1.2 closed by foreign host]
當(dāng)我們看到這個(gè)提示以后,我們?cè)诼酚善?上去ping路由器2的時(shí)候,我們發(fā)現(xiàn)可以ping通了。
line vty 0 4
autocommand access-enable host timeout 5 '設(shè)置觸發(fā)激活動(dòng)態(tài)ACL
也就是說(shuō),當(dāng)192.168.1.1 telnet到 192.168.1.2
并通過(guò)驗(yàn)證的話,則放置在e0/0接口上的動(dòng)態(tài)ACL生效,這時(shí)192.168.1.可以ping通192.168.1.2。
關(guān)于兩個(gè)timeout,access-list里的timeout是該條目的絕對(duì)超時(shí)時(shí)間,也就是該條目只能存在60分鐘,autocommand中的timeout是空閑超時(shí)時(shí)間,也就說(shuō)如果2分鐘內(nèi)如果沒(méi)有匹配該條目的流量出現(xiàn),則條目失效。默認(rèn)值忘了,謝謝!
關(guān)于host參數(shù)我說(shuō)一下,加上host參數(shù)的話,假設(shè)動(dòng)態(tài)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,也就是只為激活該條目的單個(gè)主機(jī)生成動(dòng)態(tài)條目。不加host參數(shù)會(huì)為整個(gè)網(wǎng)段生成允許條目。
在這個(gè)例子里我做的實(shí)驗(yàn)的show ip acce的結(jié)果如下
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
我們發(fā)現(xiàn),路由器自動(dòng)創(chuàng)建了一個(gè)動(dòng)態(tài)的訪問(wèn)控制列表的條目。
上面那個(gè)完整的例子里,加不加host都一樣,因?yàn)閯?dòng)態(tài)ACL本身是就是host的。
注意事項(xiàng):
1、autocommand 整個(gè)命令必須打全!用?也看不到!而且打錯(cuò)了不提示!
2、在每個(gè)訪問(wèn)控制列表中只能創(chuàng)建一個(gè)動(dòng)態(tài)的訪問(wèn)控制列表。