IP : 域名系统 (DNS)

在 Cisco 路由器上配置 DNS

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

本文档旨在集中说明关于 Cisco 路由器使用的域名系统 (DNS) 的某些特定要点。

先决条件

要求

本文档的读者应掌握以下这些主题的相关知识:

  • Cisco IOS�命令行界面(CLI)

  • 一般 DNS 行为

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • Cisco 2500 系列路由器

  • Cisco IOS 软件 12.2(24a)

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

设置路由器以使用 DNS 查询

如果希望以主机名而不是 IP 地址使用 pingtraceroute 命令,则可将路由器配置为使用 DNS 查找。请使用以下命令执行此操作:

命令 说明
IP 域名查找 启用基于 DNS 的主机名到地址转换。默认情况下此指令被启用。
ip name-server 指定一个或多个名称服务器的地址。
ip domain list 定义一个域列表,将依次尝试每个域。

注意: 如果没有域列表,将使用您通过 ip domain-namen 全局配置命令指定的域名。

如果有域列表,则不使用默认域名。
ip域名 定义一个默认域名,由 Cisco IOS 软件用来将未限定的主机名(没有点分十进制域名的名称)补充完整。请勿包括将未限定的名称从域名分离的初始阶段。
ip ospf name-lookup 配置开放最短路径优先 (OSPF),以便在所有 OSPF show EXEC 命令显示的结果中查找可供使用的 DNS 名称。此功能有助于更轻松地识别路由器,因为这样一来路由器会按名称显示,而不是按自己的路由器 ID 或邻居 ID 显示。

下面显示了为进行基本的 DNS 查找而在某个路由器上所做的配置示例:

基本 DNS 查找配置示例
 

Router# show running-config
Building configuration... 
Current configuration : 470 bytes
!
version 12.2
service timestamps debug datetime msec
service timestamps log uptime
no service password-encryption
!
hostname Router
!
!
ip subnet-zero
ip name-server 192.168.1.100

!--- Configures the IP address of the name server. 
!--- Domain lookup is enabled by default.
 
!
!
interface Ethernet0
 ip address 192.168.1.1 255.255.255.0
!
!  

!--- Output Suppressed.

 end

Router# ping www.cisco.com
Translating "www.cisco.com"...domain server (192.168.1.100) [OK]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 198.133.219.25, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 224/228/236 ms

排除故障

在极少数情况下,您可能会发现以下错误之一:

Router# debug ip udp
UDP packet debugging is on
Router# ping www.yahoo.com 
Translating "www.yahoo.com"...domain server (129.250.35.250) 
*Mar  8 06:26:41.732: UDP: sent src=209.69.16.66(5476), dst=129.250.35.250(53), length=59 
*Mar  8 06:26:44.740: UDP: sent src=209.69.16.66(5476), dst=129.250.35.250(53), length=59 
*Mar  8 06:26:47.744: UDP: sent src=209.69.16.66(5476), dst=129.250.35.250(53), length=59 
% Unrecognized host or address, or protocol not running. 
Router#undebug allAll possible debugging has been turned off

Router# ping www.yahoo.co.kr 
Translating "www.yahoo.co.kr"...domain server (169.140.249.4) �� 
Not process 
 
Router# ping www.novell.com 
Translating "www.novell.com"...domain server (255.255.255.255) 
% Unrecognized host or address, or protocol not running.

要对此问题进行故障排除,请完成以下步骤:

  1. 确保路由器能到达 DNS 服务器。使用 DNS 服务器的 IP 地址从路由器上对该服务器执行 ping 操作,并确保已使用 ip name-server 命令在路由器上配置 DNS 服务器的 IP 地址。

  2. 通过以下步骤确保路由器转发查找请求:

    1. 定义在 DNS 数据包上匹配的访问控制列表 (ACL):

      access-list 101 permit udp any any eq domain 
      access-list 101 permit udp any eq domain any
      
    2. 使用 debug ip packet 101 命令。

      注意: 确保您指定了 ACL。如果在未指定 ACL 的情况下启用 debug ip packet 命令,可能会向控制台中生成大量输出,然后导致路由器重新加载。

  3. 确保您已经在路由器上启用 ip domain-lookup 命令。

可以 ping 通 Web 服务器却无法查看 HTML 页面

在极少数情况下,您可能无法根据名称访问特定的 Web 站点。此问题的起因通常是不可访问的站点在源 IP 地址上执行逆向 DNS 查找来验证该地址没有伪装。如果返回一个不正确的条目或没有返回条目(换言之,没有关联的名称对应此 IP 范围),将拒绝该 HTTP 请求。

当您获取 Internet 域名时,也应该申请一个 inaddr.arpa 域。这个特殊的域也称为反向域。反向域会将数字 IP 地址映射到域名中。如果您的 ISP 为您提供了名称服务器或已从自己的一堆地址中提供一个地址分配给您,您可能就不必自行申请 addr.arpa 域。请与您的 ISP 核实。

我们来看一个使用 www.cisco.com 的示例。以下输出是从 UNIX 工作站上捕获的。我们使用了 nslookup 程序和 dig 程序。请注意以下输出中的差别:

sj-cse-280% nslookup www.cisco.com 
Note:  nslookup is deprecated and may be removed from future releases. 
Consider using the 'dig' or 'host' programs instead.  Run nslookup with 
the '-sil[ent]' option to prevent this message from appearing. 
Server:         171.68.226.120 
Address:        171.68.226.120#53 
Name:   www.cisco.com 
Address: 198.133.219.25

sj-cse-280% nslookup 198.133.219.25 
Note:  nslookup is deprecated and may be removed from future releases. 
Consider using the 'dig' or 'host' programs instead.  Run nslookup with 
the '-sil[ent]' option to prevent this message from appearing. 
Server:         171.68.226.120 
Address:        171.68.226.120#53 
25.219.133.198.in-addr.arpa     name = www.cisco.com.

dig 程序输出了更多来自 DNS 数据包的详细信息:

sj-cse-280% dig 198.133.219.25 
 
; <<>> DiG 9.0.1 <<>> 198.133.219.25 
;; global options:  printcmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 5231 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
 
;; QUESTION SECTION: 
;198.133.219.25.                        IN      A 
 
;; AUTHORITY SECTION: 
.                       86400   IN      SOA     
A.ROOT-SERVERS.NET. nstld.verisign-grs.com. 
( 2002031800 1800 900 604800 86400 ) 

;; Query time: 135 msec 
;; SERVER: 171.68.226.120#53(171.68.226.120) 
;; WHEN: Mon Mar 18 09:42:20 2002 
;; MSG SIZE  rcvd: 107

路由器查询多个名称服务器

根据网络活动的程度而定,路由器可能会查询在配置中列出的多个名称服务器。示例如下:

router> test002 
Translating ?test002?...domain server (172.16.33.18) (171.70.10.78) 
(171.100.20.78) 
(172.16.33.18) (171.70.10.78) (171.10.20.78)
Translating ?test002?...domain server (172.16.33.18) [OK] 
Trying test002.rtr.abc.com (171.68.23.130)... Open

这是正常现象,在路由器需要为 DNS 服务器创建地址解析协议 (ARP) 条目时会出现这种情况。默认情况下,路由器会将一个 ARP 条目维持四个小时。在活动很少的时期,路由器需要将 ARP 条目补充完整,然后执行 DNS 查询。如果用于 DNS 服务器的 ARP 条目不在路由器 ARP 表中,那么在您只发送一条 DNS 查询的情况下就会收到提示失败的消息。因此,要发出两条查询,一条用于获取 ARP 条目(如有必要),另一条用于执行实际的 DNS 查询。在 TCP/IP 应用中,这种现象很常见。


相关信息


Document ID: 24182