当使用互联网时,大多数人通过连接到域名来连接到网站,ftp 服务器或其他互联网服务器,如 www.bleepingcomputer.com。但是,互联网应用程序不是通过域名进行通信,而是使用 IP 地址进行通信,例如 192.168.1.1。因此,当您在程序中键入要连接到的域名时,应用程序必须首先将其转换为将用于连接的 IP 地址。
将这些主机名解析为其映射的 IP 地址的方式称为域名解析。在几乎所有操作系统上,无论是 Apple,Linux,Unix,Netware 还是 Windows,从域名到IP地址的大多数解析都是通过称为 DNS 的过程完成的。
如上所述,域名解析是将域名转换为其相应的IP地址的任务。这都是在幕后完成的,很少被用户注意到。当您在使用 Internet 的应用程序中输入域名时,该应用程序将发出命令,让操作系统将域名转换为其 IP 地址,然后连接到该 IP 地址以执行它尝试执行的任何操作。
操作系统解析域名的方式基于其配置。对于几乎所有操作系统,域名解析的默认顺序如下:
但是,可以更改操作系统在执行域名解析时使用的顺序。我们将在下面讨论 Windows 和 Unix / Linux 操作系统的这些方法。
默认情况下,Windows 使用上述顺序进行域名解析。这可以通过更改某些注册表项来更改。注册表项包括:
注册表项
|
描述
|
DnsPriority | 这与使用域名系统相对应 |
本地优先级 | 这是指计算机的本地名称 |
主机优先级 | 这是主机文件 |
净债务优先级 | 这是使用 Netbios 名称映射 |
您可以根据介于 -32768 和 32767 之间的值为这些键分配优先级。分配给条目的数字越低,该特定解析提供程序的优先级就越高。
例如,检查分配给以下值的优先级:
Dns优先级 = 30
本地优先级 = 200
主机优先级 = 75
Netbt优先级 = 100
这将执行的操作是将域名解析顺序更改为以下顺序:
如您所见,我更改了 Windows 如何执行域名解析的默认顺序,并且在执行域名解析时,具有最低数字的值具有最高优先级。
可以在以下注册表项下找到上述注册表子项的位置:
视窗 95/98/ME | HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSTCP\ServiceProvider |
Windows NT, 2000, XP | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider |
Unix 和 Linux 具有与 Windows 类似的默认域名解析顺序。操作系统将首先检查其 /etc/hosts 文件,如果未找到所查询域的条目,则将查询其配置的 DNS 服务器。
服务器解析域名的顺序可以通过编辑 /etc/host.conf 文件进行更改。此文件确定操作系统用于解析域名的顺序。我们关注的线是这样的:
订购主机,绑定
这告诉操作系统首先检查主机文件,如果失败,则使用 DNS,也称为绑定,这是用于发出 DNS 请求的软件的名称。
您可以通过更改顺序行来更改操作系统使用的顺序。例如,如果我们想让它首先查询 DNS,然后查询主机文件,我们会将行更改为:
顺序绑定,主机
目前,您可以在订单后放置的有效值是主机、绑定或 nis。NIS 代表 网络信息服务,本文不涵盖。
如您所见,认为您的操作系统将始终使用默认的解析顺序并不总是明智的。由于可以更改操作系统执行域名解析的顺序,因此在尝试调试解析域名的问题时,必须牢记这一点。