用Cisco IOS阻止訪問特定網站具體步驟

最近有一個朋友給我發了一封郵件,他希望知道如何使用Cicso IOS來屏蔽某個特定網站。他是這樣寫的:“我有一臺Cisco 2600,平時一般 用它作爲互聯網服務器。現在我希望可以屏蔽某些特定網站,我該怎麼做呢?”

  這不是一個很困難的任務——只要您知道Cisco IOS是如何工作的。這裏我將指導您如何進行這項工作,並告訴您使用這種方式應當注意些什麼 。

步驟1:配置一個DNS服務器

  假設我們打算屏蔽一個名爲[url]www.badsite.com[/url]的網站。我們並不知道該網站的具體IP地址,而且我們也不想知道。沒問題——Cisco IOS會自己 把地址找出來並填上它。

  要做到這一點,我們需要至少在路由器上配置一臺DNS服務器。若想配置一臺DNS服務器,應使用ip name-server命令。下面是個例子:

Router(config)# ip name-server 1.1.1.1 2.2.2.2

  本例中,我們配置了一個主DNS服務器1.1.1.1,以及一個備用DNS服務器2.2.2.2,以便路由器對域名進行解析。這不會影響路由器的任何流量 。當我們需要對某個域名進行Ping服務時,路由器將使用這些DNS服務器。以下是具體示例:

  Router# ping [url]www.techrepublic.com[/url]
  Translating "[url]www.techrepublic.com[/url]"...do main server (1.1.1.1) [OK]

  Type escape sequence to abort.
  Sending 5, 100-byte ICMP Echos to 216.239.113.101, timeout is 2 seconds:
  !!!!!
  Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
  Router#

  在上述例子中,路由器使用了我們指定的域名服務器地址(1.1.1.1)來嘗試解析域名。它成功的將域名[url]www.techrepublic.com[/url]解析爲對應的IP ——216.239.113.101。

  如果我們不曾指定DNS服務器,那麼路由器很可能會返回下述這些反饋:


  Translating "[url]www.techrepublic.com[/url]"...do main server (255.255.255.255)
  % Unrecognized host or address, or protocol not running.
  (不認識的主機或地址,或可能協議未運行)


步驟2:建立ACL

  想真正阻止訪問某個網站,我們必須建立一個存取控制列表(access control list,簡稱ACL)來具體定義我們想阻止什麼。下面是個例子:

  Router(config)# access-list 101 deny tcp any host [url]www.badsite.com[/url] eq www
  Translating "[url]www.badsite.com[/url]"...do main server (1.1.1.1) [OK]
  Router(config)# access-list 101 permit tcp any any eq www
  ! to allow all other web traffic

  這個ACL拒絕了所有對特定網站[url]www.badsite.com[/url]的訪問。在阻止訪問該網站的同時,它允許所有人訪問其他任意網站。

  最後,由於ACL的隱含禁止,除WWW外所有的其他通信將全部被禁止。

如果您想知道到底是哪些IP地址在試圖訪問被阻止的網站,可以通過使用LOG關鍵字,記錄相關信息。下面是個例子。

Router(config)# access-list 101 deny tcp any host [url]www.badsite.com[/url] eq www log

步驟3:避免“遺漏”

  有一點需要注意。在我們輸入了上述ACL的第一行之後,留意路由器是如何使用DNS服務器來解析域名的。然後它會用解析域名所得的IP地址替 換掉ACL中的主機名。我們來仔細看看配置:

  Router# sh run | inc access-list 101
  access-list 101 deny tcp any host 66.116.109.62 eq www

  這是個很好的功能,但是可能由於幾個原因導致出現問題。首先,該IP僅僅是DNS服務器響應的第一個IP。如果這是個大型網站,有多臺服務器 (比如一個搜索引擎),而ACL卻僅僅包含了DNS首先響應的第一個IP——您將不得不手工屏蔽其餘的IP地址。下面是個示例:

  C:\> nslookup [url]www.google.com[/url]
  Server: DNSSERVER
  Address: 1.1.1.1
  Non-authoritative answer:
  Name: [url]www.l.google.com[/url]
  Addresses: 64.233.167.104, 64.233.167.147, 64.233.167.99
  Aliases: [url]www.google.com[/url]

  其次,如果被禁止的網頁服務器更改了IP地址,ACL中的地址並不會跟隨變化。您必須對ACL進行人爲更新。

步驟4:實施ACL

  僅僅創建了ACL並不意味着路由器就用上了它——我們還必須對ACL進行實施。下面,假設我們要建立一個ACL,以阻止內部局域網訪問外部的廣 域網(比如Internet)。因此我們應當用ACL的源地址過濾,而不是目標地址的過濾。

  同樣,基於設計的目的,我們需要在路由器的Out方向實施這個ACL。下面是示例。

  Router(config)# int serial 0/0
  Router(config-if)# ip access-group 101 out
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章