Cisco路由器中有兩種常用訪問控制列表(Access-List),一種是標(biāo)準(zhǔn)訪問列表,另一種是擴(kuò)展訪問列表。前者主要用于基于源和目標(biāo)地址的數(shù)據(jù)包過濾,而后者用于基于目標(biāo)地址、源地址和網(wǎng)絡(luò)協(xié)議及其端口號(hào)等的數(shù)據(jù)包過濾。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和用戶要求的變化,從IOS 12.0開始,Cisco路由器新增加了一種基于時(shí)間的訪問控制。通過它,可以根據(jù)一天中不同時(shí)間或者根據(jù)一周中的不同日期(當(dāng)然也可以二者結(jié)合起來)控制網(wǎng)絡(luò)數(shù)據(jù)包的轉(zhuǎn)發(fā),給網(wǎng)管人員的日常維護(hù)帶來很大便利。
這種基于時(shí)間的訪問列表是在原來標(biāo)準(zhǔn)訪問列表和擴(kuò)展訪問列表中加入有效的時(shí)間范圍來更合理有效地控制網(wǎng)絡(luò)的。它先定義一個(gè)時(shí)間范圍,然后在原來的各種訪問列表的基礎(chǔ)上應(yīng)用它,對(duì)于編號(hào)訪問表和名稱訪問表均適用。
命令及參數(shù)
可以用“time-range”命令來指定時(shí)間范圍的名稱,然后用“absolute”命令或者一個(gè)或多個(gè) “periodic”命令來具體定義時(shí)間范圍,IOS命令格式為:
time-range time-range-name absolute [start time date] [end time date] periodic days-of-the week hh:mm to [days-of-the week] hh:mm |
time-range:用來定義時(shí)間范圍;
time-range-name:時(shí)間范圍名稱,用來標(biāo)識(shí)時(shí)間范圍,以便在后面的訪問列表中引用;
absolute:該命令用來指定絕對(duì)時(shí)間范圍。它后面緊跟start和 end兩個(gè)關(guān)鍵字。在兩個(gè)關(guān)鍵字后面的時(shí)間要以24小時(shí)制和“hh: mm(小時(shí):分鐘)”表示,日期要按照“日/月/年”形式表示。這兩個(gè)關(guān)鍵字也可以都省略。如果省略start及其后面的時(shí)間,表示與之相聯(lián)系的permit 或deny語句立即生效,并一直作用到end處的時(shí)間為止; 若省略end及其后面的時(shí)間,表示與之相聯(lián)系的permit 或deny語句在start處表示的時(shí)間開始生效,并且永遠(yuǎn)發(fā)生作用(當(dāng)然如把訪問列表刪除了的話就不會(huì)起作用了)。
為了便于理解,下面看兩個(gè)例子。 如果要表示每天早8點(diǎn)到晚6點(diǎn)開始起作用,可以用這樣的語句:
absolute start 8∶00 end 18∶00
再如,我們要使一個(gè)訪問列表從2003年1月1日早8點(diǎn)開始起作用,直到2003年1月10日晚23點(diǎn)停止作用,命令如下:
absolute start 8∶00 1 January 2003 end 23∶00 10 January 2003
這樣我們就可以用這種基于時(shí)間的訪問列表來實(shí)現(xiàn),而不用半夜跑到辦公室去刪除那個(gè)訪問列表了。接下來,介紹一下periodic命令及其參數(shù)。
一個(gè)時(shí)間范圍只能有一個(gè)absolute語句,但是可以有幾個(gè)periodic語句。
periodic:主要以星期為參數(shù)來定義時(shí)間范圍。它的參數(shù)主要有Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday中的一個(gè)或者幾個(gè)的組合,也可以是daily(每天)、weekday(周一到周五)或者weekend(周末)。
我們還是來看幾個(gè)具體的例子。比如表示每周一到周五的早9點(diǎn)到晚10點(diǎn)半,命令如下:
periodic weekday 9∶00 to 22∶30
每周一早7點(diǎn)到周二的晚8點(diǎn)可以這樣表示:
periodic Monday to Tuesday 20∶00
在把時(shí)間范圍定義清楚后,我們來看看如何在實(shí)際情況下應(yīng)用這種基于時(shí)間的訪問列表。
實(shí)例分析
在上圖所示的網(wǎng)絡(luò)中,路由器有兩個(gè)以太網(wǎng)接口E0和E1,分別連接著202.111.170.0和202.222.100.0兩個(gè)子網(wǎng)絡(luò),其中202.111.170.50和202.222.100.100分別是Web服務(wù)器1和Web服務(wù)器2。還有一個(gè)串口S1,連入Internet。為了讓202.111.170.0子網(wǎng)的公司員工在工作時(shí)間不能進(jìn)行Web瀏覽,從2000年12月1日1點(diǎn)到2000年12月31日晚24點(diǎn)這一個(gè)月中,只有在周六早7點(diǎn)到周日晚10點(diǎn)才可以通過公司的網(wǎng)絡(luò)訪問Internet。我們做如下的基于時(shí)間的訪問控制列表來實(shí)現(xiàn)這樣的功能:
Router# config t Router(config)# interface ethernet 0 Router(config-if)#ip access-group 101 in Router(config-if)#time-range http Router(config-if)#absolute start 1∶00 1 December 2000 end 24∶00 31 December 2000 periodic Saturday 7∶00 to Sunday 22∶00 Router(config-if)#ip access-list 101 permit tcp any any eq 80 http |
網(wǎng)絡(luò)結(jié)構(gòu)同上例,現(xiàn)在假設(shè)我們的訪問要求變了,Web服務(wù)器2(IP:202.222.100.100)上放著新年賀歲版的公司主頁,希望在2001年12月31日24點(diǎn)前,Internet的用戶訪問的是服務(wù)器Web1(IP:202.111.170.50)上的主頁內(nèi)容,而不能訪問Web2上的內(nèi)容。在此之后的新年里,訪問的是新年版主頁而不能訪問舊版本的主頁。下面,我們利用帶有時(shí)間控制的訪問列表來自動(dòng)實(shí)現(xiàn)這個(gè)功能,而不必讓網(wǎng)管員在新年半夜時(shí)手動(dòng)刪除。列表內(nèi)容如下:
Router# config t Router(config)#interface serial 0 Router(config-if)#ip access-group web in Router(config-if)# time-range changewebabsolute end 24∶00 31 December 2000 Router(config-if)#ip access-list extended web permit tcp any host 202.111.170.50 eq 80 changeweb deny tcp any host 202.222.100.100 eq 80 changeweb permit tcp any host 202.222.100.100 eq 80 |
第一句是進(jìn)入端口控制模式。第二句是應(yīng)用名稱訪問列表Web,并且是用在Serial 0的入口方向,即數(shù)據(jù)流入路由器的時(shí)候做協(xié)議控制分析。第三句定義一個(gè)時(shí)間范圍名稱changeweb。第四句定義擴(kuò)展名稱訪問列表Web。第五、六句表示在新年前,只能允許訪問Web1。第七句是允許所有到Web2的Web訪問。表面看來第七句是在沒有時(shí)間限制的情況下全部允許Web2的訪問請(qǐng)求。實(shí)際上,路由器中訪問控制列表的每個(gè)表項(xiàng)的順序是很重要的,它是從上到下執(zhí)行的,在新年之前,也就是第五、六句起左右的時(shí)候,訪問Web2的請(qǐng)求已經(jīng)被禁止了,所以,第七句就沒有用了,而在新年之后第五、六句失效了,第七句才發(fā)揮它的作用,允許所有對(duì)Web2的訪問請(qǐng)求。
看到這兒,讀者是否感覺到這種方法的作用了?合理有效地利用基于時(shí)間的訪問控制列表,可以更有效、更安全、更方便地保護(hù)我們的內(nèi)部網(wǎng)絡(luò),這樣您所在的網(wǎng)絡(luò)才會(huì)更安全,網(wǎng)絡(luò)管理員也會(huì)更輕松!