思科路由器--基於時間的訪問列表控制

思科路由器--基於時間的訪問列表控制


2010-01-23 11:21:46
 標籤:ACL 時間    [推送到技術圈]

 我們知道,CISCO路由器中的access-list(訪問列表)最基本的有兩種,分別是標準訪問列表和擴展訪問列表,二者的區別主要是前者是基於源地址的數據包過濾,而後者是基於目標地址、源地址和網絡協議及其端口的數據包過濾。隨着網絡的發展和用戶要求的變化,從IOS12.0開始,CISCO路由器新增加了一種基於時間的訪問列表。通過它,可以根據一天中的不同時間,或者根據一星期中的不同日期,當然也可以二者結合起來,控制對網絡數據包的轉發。
  一、使用方法
  這種基於時間的訪問列表就是在原來的標準訪問列表和擴展訪問列表中加入有效的時間範圍來更合理有效的控制網絡。它需要先定義一個時間範圍,然後在原來的各種訪問列表的基礎上應用它。並且,對於編號訪問表和名稱訪問表都適用。
  二、使用規則
  用time-range 命令來指定時間範圍的名稱,然後用absolute命令或者一個或多個 periodic命令來具體定義時間範圍。
  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 用來定義時間範圍的命令
  time-range-name:時間範圍名稱,用來標識時間範圍,以便於在後面的訪問列表中引用
  absolute 該命令用來指定絕對時間範圍。它後面緊跟這start end兩個關鍵字。在這兩個關鍵字後面的時間要以24小時制、hh:mm(小時:分鐘)表示,日期要按照日//年來表示。可以看到,他們兩個可以都省略。如果省略start及其後面的時間,那表示與之相聯繫的permit deny語句立即生效,並一直作用到end處的時間爲止;若省略如果省略end及其後面的時間,那表示與之相聯繫的permit deny語句在start處表示的時間開始生效,並且永遠發生作用,當然把訪問列表刪除了的話就不會起作用了。
  怎麼樣,看明白了嗎?上面講的就是命令和基本參數爲了便於理解,我們看兩個例子。
  1、如果要表示每天的早8點到晚8點就可以用這樣的語句:
  absolute start 8:00 end 20:00
  2、再如,我們要使一個訪問列表從2000121日早5點開始起作用,直到20001231日晚24點停止作用,語句如下:
  absolute start 5:00 1 December 2000 end 24:00 31 December 2000
  這樣一來,我們就可以用這種基於時間的訪問列表來實現,而不用半夜跑到辦公室去刪除那個訪問列表了。這對於網絡管理員來說,是個很好的事情。如果你恰好是網管。。哇。。。什麼也不要講了,快回去好好配置吧:)。好了接下來,讓我們接着看下一個periodic命令及其參數。一個時間範圍只能有一個absolute語句,但是可以有幾個periodic語句。
  periodic:主要是以星期爲參數來定義時間範圍的一個命令。它的參數主要有Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday中的一個或者幾個的組合,也可以是daily(每天)、 weekday(週一到週五)或者 weekend(週末)。
  我們還是看幾個具體的例子。比如表示每週一到週五的早9點到晚10點半,就可以用periodic weekday 9:00 to 22:30;每週一早7點到週二的晚8點就可以用periodic Monday to Tuesday 20:00。好了,我們已經把這個時間範圍如何定義弄清楚了,下面讓我們看看如何在實際情況下應用這種基於時間的訪問列表。(看仔細記清楚哦)
  三、應用實例
  例1
  
  在如上圖所示的網絡中,路由器有兩個以太網接口E0E1,分別連接着202.111.170.0202.222.100.0兩個子網絡,其中202.111.170.50202.222.100.100分別是WEB服務器1WEB服務器2。還有一個串口S0,連入Internet。爲了讓202.111.170.0子網公司員工在工作時間不能進行WEB瀏覽,從20001211點到20001231日晚24點這一個月中,只有在週六早7點到週日晚10點纔可以通過公司的網絡訪問Internet(只有週末纔可以訪問哦。這樣就不用擔心某些人上班時間偷着聊天咯)。我們來做如下的基於時間的訪問控制列表來實現這樣的功能:
  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
  我們是在一個擴展訪問列表的基礎上再加上時間控制就達到了目的。因爲是要控制WEB訪問的協議,所以必須要用擴展列表,也就是說,編號要在100-199之間。這些關於訪問列表的基礎知識,請參考其他關於Cisco或者CCNA的基礎文檔。我們定義了這個時間範圍名稱是http,這樣,我們就在列表中的最後一句方便的引用了。有了以上的詳細講解,這個很好看懂了。我們再看下面一個例子。
  
  例2:網絡結構同上例,現在假設我們的訪問要求變了,服務器WEB2IP202.222.100.100)上放着的是新年賀歲版的公司主頁,我們希望在200112312400點前,Internet的用戶訪問的是服務器WEB1IP202.111.170.50)上的主頁內容,而不能訪問WEB2上的內容。在此之後的新年裏,訪問的是新年版主頁而不能訪問舊版本的主頁。那麼,我們利用帶有時間控制的訪問列表來自動實現這個功能,而不用網絡管理員再到新年半夜來手動刪除(安心在家看春節聯歡晚會吧^&^)。列表內容如下:
  
  Router# config t
  Router(config)#interface serial 0
  Router(config-if)#ip access-group web in
  Router(config-if)#
  time-range changeweb absolute 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
  好了,我們分析下這個訪問控制列表。第一句是進入端口控制模式。第二句是應用名稱訪問列表web,並且是用在Serial 0 的入口方向,就是數據流入路由器的時候做協議控制分析。第三句,定義一個時間範圍名稱是changeweb。第四句是定義擴展名稱訪問列表web。第五、六句是表示在新年前,只能允許訪問WEB1。第七句是允許所有到WEB2web訪問。這樣第七句不是在沒有時間限制的情況下全部允許了WEB2的訪問嗎?那我們的目的是如何實現的呢?不要忘記,路由器中訪問控制列表的每個表項的順序是很重要的,它是從上到下執行的,這樣,在新年之前,也就是第五、六句起左右的時候,訪問WEB2的要求已經被禁止了,所以,第七句就沒有用了,而在新年之後呢,第五、六句失效了,第七句才發揮它的作用。允許所有對WEB2的訪問請求,那麼,新年之後,還能訪問WEB1服務器嗎?當然不能,因爲我們第七句只允許訪問WEB2,隱含的意思就是,其餘的全部禁止。
  看到這兒,你不是覺的您的想法都被CISCO路由器實現了? 合理有效的利用基於時間的訪問控制列表,可以更有效更安全更方便的保護我們的內部網絡。這樣你的網絡纔會更安全,網絡管理員也會更輕鬆!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章