虚拟主机设置泛域名解析实例教程

发布时间:2020-02-19编辑:脚本学堂
本文介绍了在虚拟主机中设置泛域名解析的方法,为了测试出准确的结果,需要强制刷新本地 dns 缓存记录,这里提供windows 与 linux 客户端上的操作说明。

为了提高dns 解析的记录,很多操作系统都会提供缓存dns 记录的功能,但是,这可能会为测试dns 服务或域名设定带来麻烦。
为了测试出准确的结果,需要强制刷新本地 dns 缓存记录。这里提供windows 与 linux 客户端上的操作说明。

一、windows 客户端
windows 2000以上系统,默认自动启动了dns client服务,该服务提供了客户端的名字解析与缓存服务,用户的dns查询结果会在本地得到缓存。以下是该服务的描述:
引用
dns 客户端服务(dnscache)缓存域名系统(dns)名称并注册该计算机的完整计算机名称。如果该服务被停止,将继续解析 dns 名称。然而,将不缓存 dns 名称的查询结果,且不注册计算机名称。如果该服务被禁用,则任何明确依赖于它的服务都将无法启动。

可以通过下面的命令获得缓存中的dns 结果:
 

复制代码 代码示例:
ipconfig /displaydns

相关阅读:如何用命令清除dns缓存?

而下面的命令可以强制清除这些dns缓存:
 

复制代码 代码示例:
ipconfig /flushdns

如果您觉得dns client服务带来麻烦,可以用在控制面板——服务 中停止,或使用下面的命令停止该服务:
 

复制代码 代码示例:
net stop dnscache

重新启动该服务:
 

复制代码 代码示例:
net start dnscache

二、linux 客户端
以红旗asianux 3.0 为例,同样提供一个叫nscd 的本地dns 缓存的服务。
但与windows 平台不同的是,该服务默认是关闭的:
 

复制代码 代码示例:
# chkconfig --list|grep nscd
nscd   0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

该服务除了提供dns 缓存外,可提供nis 加速的作用。下面是nscd 的描述:
nscd caches name service lookups and can dramatically improve performance with nis+, and may help with dns as well.

如果要激活本地dns 缓存,启动该服务即可:
 

复制代码 代码示例:
# service nscd start

同样的,关闭该服务,可以避免dns 缓存带来的问题:
 

复制代码 代码示例:
# service nscd stop

注意,该服务没有提供强制删除其缓存结果的命令。
但是,可以通过删除其后台数据库记录信息,清空这些缓存:
 

复制代码 代码示例:
# rm /var/db/nscd/hosts
# service nscd restart

三、linux bind 服务
有时客户端是处于某台dns 缓存服务器后面的。
常见的情况是,作为nat 网关的linux 服务器,通过bind 服务,提供dns 缓存和转发功能。
这可通过配置/etc/named.conf,加入forward来实现:
引用
 

复制代码 代码示例:

options {
 directory "/var/named";
 dump-file "/var/named/data/cache_dump.db";
 statistics-file "/var/named/data/named_stats.txt";
 forward only;
 forwarders {
      202.96.128.86;
      202.96.134.133;
 };

};

这时,客户端对外的dns 解析结果,除保留在客户端本地的dns 缓存中,同样会保留在这台网关服务器上。
另外一种情况,当修改named 提供的dns服务时,也需要刷新缓存。
bind 提供的rndc 命令可以清空缓存的功能:
# rndc flush