Linux基础服务 ·

DNS客户端配置及常用查询命令

[隐藏]

相关配置文件

主机名对应到 IP 有两种方法,早期的方法是直接写在文件里面来对应, 后来比较新的方法则是通过 DNS 架构!

  • /etc/hosts :这个是最早的 hostname 对应 IP 的文件,默认查询时会优先查询;
  • /etc/resolv.conf : ISP 的 DNS 服务器 IP 记录处;
  • /etc/nsswitch.conf:这个文件则是在『决定』先要使用 /etc/hosts 还是 /etc/resolv.conf 的设定!

一般而言, Linux 的预设主机名与 IP 的对应搜寻都以 /etc/hosts 为优先,其定义配置文件是 /etc/nsswitch.conf 。

上面那个 files 就是使用 /etc/hosts,而最后的 dns 则是使用 /etc/resolv.conf 的 DNS 服务器来进行搜寻啦!因此,你可以先以 /etc/hosts 来设定 IP 对应!当然啦,你也可以将他调换过来。

DNS 服务器的 IP 可以设定多个,默认当查询失败时会依次查询下一个 DNS。

用 DHCP 时,系统会主动的使用 DHCP 服务器传来的数据进行系统配置文件的修订。因此,你必须告知系统,不要使用 DHCP 传来的服务器设定值。 此时,你得要在 /etc/sysconfig/network-scripts/ifcfg-eth0 等相关文件内,增加一行:『PEERDNS=no』,然后重新启动网络即可。

DNS 查询命令: host

  • host

host 选项 参数

常用选项:

-a :代表列出该主机所有的相关信息,包括 IP、TTL 与除错信息等等

-l :若后面接的那个 domain 设定允许 allow-transfer 时,则列出该 domain 所管理的所有主机名对应数据!

参数:

参数可有可无,当想要利用非 /etc/resolv.conf 内的 DNS 主机来查询主机名与 IP 的对应时,就可以指定 DNS!

范例: 使用默认值来查出 getlinux.cn 的 IP

范例:查出 getlinux.cn 的所有重要参数

范例: 强制以 223.5.5.5 这部 DNS 主机来查询


DNS 查询命令: nslookup

nslookup 选项 参数

1. 可以直接在 nslookup 加上待查询的主机名或者是 IP ,[server] 可有可无;

2. 如果在 nslookup 后面没有加上任何主机名或 IP ,那将进入 nslookup 的查询功能在 nslookup 的查询功能当中,可以输入其他参数来进行特殊查询,例如:
set type=any :列出所有的信息『正解方面配置文件』
set type=mx :列出与 mx 相关的信息!

范例:直接搜寻 getlinux.cn 的 IP 信息

nslookup 可单纯的将 hostname 与 IP 对应列出而已,不过,还是会将查询的 DNS 主机的 IP 列出来的! 如果想要知道更多详细的参数,那可以直接进入 nslookup 这个软件的操作画面中,如下范例:

在上面的案例当中,请注意,如果你在 nslookup 的查询画面当中,输入 set type=any 或其他参数, 那么就无法再进行反解的查询了!这是因为 any 或者是 mx 等等的标志都是记录在正解 zone 当中的缘故!


DNS 查询命令: dig

  • dig

dig [options] FQDN [@server]

常用选项:
@server :如果不以 /etc/resolv.conf 的设定来作为 DNS 查询,可在此填入其他的 IP
options:相关的参数很多,主要有 +trace, -t type 以及 -x 三者最常用
+trace :从 . 开始追踪。
-t type:查询的数据主要有 mx, ns, soa 等类型。
-x :查询反解信息,非常重要的项目!

范例:使用默认值查询 getlinux.cn 吧!

在这个范例当中,我们可以看到整个显示出的信息包括有几个部分:

  • QUESTION(问题):显示所要查询的内容,因为我们是查询 getlinux.cn 的 IP,所以这里显示 A (Address);
  • ANSWER(回答):依据刚刚的 QUESTION 去查询所得到的结果,答案就是回答 IP !
  • AUTHORITY(验证):由这里我们可以知道 getlinux.cn 是由哪部 DNS 服务器所提供的答案! 结果是 f1g1ns1.dnspod.net. 及 f1g1ns2.dnspod.net. 这两部主机管理的。另外,那个 54314 就是允许查询者能够保留这笔记录多久的意思 (缓存),在 getlinux.cn 的设定中,预设可以保留 54314 秒。

范例:查询 getlinux.cn 的 SOA 相关信息吧!

由于 dig 的输出信息实在是太丰富了,又分成多个部分去进行反馈,因此很适合作为 DNS 追踪反馈的一个指令呢! 你可以通过这个指令来了解一下你所设定的 DNS 数据库是否正确,并进行除错!

此外,你也可以通过『 -t type 』 的功能去查询其他服务器的设定值,可以方便你进行设定 DNS 服务器时的参考!正解查询完毕,接下来试一下反解!

范例:查询 119.29.137.228 的反解信息结果.


查询域名所有者相关信息: whois

whois 域名

范例:查询 getlinux.cn 的所有者信息。

参与评论