可能很多人还不知道Cisco IOS是如何工作的,没有关系,下面我们将讲解Cicso IOS中路由器配置与DNS服务器的详细知识。最近有一个朋友给我发了一封邮件,他希望知道如何使用Cicso IOS来屏蔽某个特定网站。
他是这样写的:“我有一台Cisco 2600,平时一般 用它作为互联网服务器。现在我希望可以屏蔽某些特定网站,我该怎么做呢?”这不是一个很困难的任务——只要您知道Cisco IOS是如何工作的。这里我将指导您如何进行这项工作,并告诉您使用这种方式应当注意些什么 。
步骤1:配置一个DNS服务器
我们并不知道该网站的具体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服务器。
- 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#
步骤2:建立ACL
想真正阻止访问某个网站,我们必须建立一个存取控制列表(access control list,简称ACL)来具体定义我们想阻止什么。***,由于ACL的隐含禁止,除WWW外所有的其他通信将全部被禁止。如果您想知道到底是哪些IP地址在试图访问被阻止的网站,可以通过使用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地址。
步骤4:实施ACL
仅仅创建了ACL并不意味着路由器配置就用上了它——我们还必须对ACL进行实施。下面,假设我们要建立一个ACL,以阻止内部局域网访问外部的广 域网(比如Internet)。因此我们应当用ACL的源地址过滤,而不是目标地址的过滤。同样,基于设计的目的,我们需要在路由器配置的Out方向实施这个ACL。下面是示例。
- Router(config)# int serial 0/0
- Router(config-if)# ip access-group 101 out