步骤2:建立ACL
想真正阻止访问某个网站,我们必须建立一个存取控制列表(access control list,简称ACL)来具体定义我们想阻止什么。下面是个例子:
Router(config)# access-list 101 deny tcp any host www.badsite.com 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拒绝了所有对特定网站www.badsite.com的访问。在阻止访问该网站的同时,它允许所有人访问其他任意网站。
最后,由于ACL的隐含禁止,除WWW外所有的其他通信将全部被禁止。
如果您想知道到底是哪些IP地址在试图访问被阻止的网站,可以通过使用LOG关键字,记录相关信息。下面是个例子。
Router(config)# access-list 101 deny tcp any host www.badsite.com 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 www.google.com
Server: DNSSERVER
Address: 1.1.1.1
Non-authoritative answer:
Name: www.l.google.com
Addresses: 64.233.167.104, 64.233.167.147, 64.233.167.99
Aliases: www.google.com |
其次,如果被禁止的网页服务器更改了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 |
您曾使用过Cisco IOS来屏蔽过网站么?您的ACL是怎样的?您有好的ACL和我们分享么?请留下您的意见。
上一页 [1] [2]