欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

域名服务(DNS)及解析器

程序员文章站 2022-03-29 14:24:59
域名服务(DNS)及解析器   主机由域名和 IP 地址来查询。DNS 是一套客户端-服务器系统,在这套系统中域名解释器访问域名服务器从而把域名和 IP 地址或是其他合适的主机联...

域名服务(DNS)及解析器
 

主机由域名和 IP 地址来查询。DNS 是一套客户端-服务器系统,在这套系统中域名解释器访问域名服务器从而把域名和 IP 地址或是其他合适的主机联系在一起。 GNU C Library resolver(3) 也能够在文件中或通过网络信息服务(NIS)来查找 IP 地址。

 

某些程序(如,GNOME)就希望主机名能被解析为一个 IP 地址并且拥有一个合法的域名。这样真的是非常不合适的,因为主机名和域名是两个完全不同的的东西。为了支持这些软件,我们需要确保系统主机名能够被解析。通常的做法就是在 /etc/hosts 中加入一行带有 IP 地址和系统主机名的内容。如果你的系统有一个永久的 IP 地址,那就用这个地址,否则使用 127.0.0.1 这个地址。

 

127.0.0.1 localhost

127.0.1.1 uranus

使用 hostname --fqdn 来查看你的系统的主机名能否被解析为一个 IP 地址并拥有一个有效的域名。

 

 域名解析器

域名解析器的工作是查找某个域名所对应的 IP 地址。大部分常用的域名解析器是 GNU C Library 中的 resovler 提供的功能(resolver(3))。另一个是由 libfiredns 软件包提供的 FireDNS resolver。还有其他的。

 

GNU LIBC 的域名解析器对域名的解析是由 /etc/nsswitch.conf 中的 hosts 这一行配置决定的。该行列出了解析域名用的服务:例如 dns、files、nis、nisplus。 即使在使用 files 的情况下,域名解析器的行为也是由 /etc/hosts 这个配置文件控制的。

 

上述文件都是静态的,你可以用你喜欢的编辑器修改。

 

在使用 dns 服务的情况下,域名解释器的行为也是由 /etc/resolv.conf 这个配置文件控制的。参阅 resolv.conf(5)。resolv.conf 的一个重要功能就是提供一个域名服务器的 IP 地址列表,通过查询这些服务器来获得域名解析。这一列表常常依赖于网络环境,而且在你机器运行的时候,网络环境时常发生变化。pppd 和 dhclient 这类程序都能添加或删除 resolv.conf 中的信息。但是这些功能不是每次都能正常工作而且两者还会有冲突。软件包 resolvconf 采用了更好的方法解决了这个问题,并提供了一个标准的框架来更新 resolv.conf。