天天看點

如何使用Cisco指令阻止通路特定網站

   我有一台Cisco 2600,平時一般 用它作為網際網路伺服器。現在我希望可以屏蔽某些特定網站,我該怎麼做呢?”

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    這不是一個很困難的任務——隻要您知道Cisco IOS是如何工作的。這裡我将指導您如何進行這項工作,并告訴您使用這種方式應當注意些什麼 。 BBS.bitsCN.com網管論壇

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

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

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

bitsCN~com

Router(config)# ip name-server <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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 "www.techrepublic.com"...domain 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# www_bitscn_com 中國.網管聯盟

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

如果我們不曾指定DNS伺服器,那麼路由器很可能會傳回下述這些回報: www_bitscn_com中國.網管聯盟

Translating "www.techrepublic.com"...domain 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 "www.badsite.com"...domain 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]的通路。在阻止通路該網站的同時,它允許所有人通路其他任意網站。 中國_網管聯盟bitsCN.com

    最後,由于ACL的隐含禁止,除WWW外所有的其他通信将全部被禁止。 bitsCN#com中國網管聯盟

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

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

步驟3:避免“遺漏”

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

Router# sh run | inc access-list 101

access-list 101 deny tcp any host 66.116.109.62 eq www bbs.bitsCN.com 中國網管論壇

    這是個很好的功能,但是可能由于幾個原因導緻出現問題。首先,該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] [email protected]_com 網管軟體下載下傳

    其次,如果被禁止的網頁伺服器更改了IP位址,ACL中的位址并不會跟随變化。您必須對ACL進行人為更新。

步驟4:實施ACL

    僅僅建立了ACL并不意味着路由器就用上了它——我們還必須對ACL進行實施。下面,假設我們要建立一個ACL,以阻止内部區域網路通路外部的廣 域網(比如Internet)。是以我們應當用ACL的源位址過濾,而不是目标位址的過濾。

    同樣,基于設計的目的,我們需要在路由器的Out方向實施這個ACL。下面是示例。 [email protected]@com

Router(config)# int serial 0/0

Router(config-if)# ip access-group 101 out

    您曾使用過Cisco IOS來屏蔽過網站麼?您的ACL是怎樣的?您有好的ACL和我們分享麼?請留下您的意見。

轉載于:https://blog.51cto.com/luoyuehansong/68360