两个文件的作用都是根据域名快速找到对应的IP,这就是DNS的基本功能。
hosts
hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。/etc/hosts中包含了IP地址和主机名之间的映射,还包括主机名的别名。
hosts文件的配置格式是: IP FQDN alias,其中全域名(FQDN,Fully Qualified Domain Name)是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。
Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。
下面是一个例子文件:
[NSOS1.1 ~]# cat /etc/hosts
127.0.0.1 NS localhost.localdomainlocalhost
192.168.1.13 NS
172.16.2.250 NS liveupdate.netentsec.com
一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效,使用下面的命令来重新启动网络:
/etc/rc.d/init.d/networkrestart
/etc/hosts文件通常含有主机名、localhost和系统管理员经常使用的系统别名,有时候telnet到linux机器要等待很长时间,可以通过在"/etc/hosts"加入客户的机器的IP地址和主机名的匹配项,就可以减少登录等待时间。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则,其他的主机名通常使用DNS来解决,DNS客户部分的配置在文件/etc/resolv.conf中。
resolv.conf
文件/etc/resolv.conf用来配置DNS,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数,用于设置DNS服务器的IP地址及DNS域名。计算机使用配置好的DNS 服务器将域名解析为对应的IP 地址。
文件格式:
domainname域名
search域名
nameserverPrimary_DNS_Server_IP_address
nameserverSecond_DNS_Server_IP_address
合法的参数及其意义如下:
nameserver 表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个I P地址。在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserver.
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,默认附加这个域名后缀。
search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存;如果同时存在,后面出现的将会被使用。
下面是一个例子文件:
[root@toor~]# cat /etc/resolv.conf
nameserver114.114.114.114
nameserver202.106.0.20
nameserver8.8.8.8
searchlocaldomain
[root@toor ~]#
网友评论