6.3 DNS客户端配置
6.3.1 etchosts
因特网发明初期,联网的主机数量有限,想要访问对方主机时只需要输入对方的IP地址即可。但是随着主机数量的不断增长,单凭人脑已经无法记忆越来越多的IP地址了。为了解决这个问题,人们使用hosts文件来记录主机名和IP的对应关系,这样访问对方的主机时,就不需要使用IP了,只需要使用主机名。这个文件在Linux下就是etchosts,这种方式确实“可以工作”,但是当主机数量增长到一定数量级的时候仍然无法适用。为了彻底解决这个问题,人们发明了DNS系统。经过几十年的发展,虽然系统、网络技术都发生了翻天覆地的变化,但是这个文件还是被当作传统保留了下来。具体来说,hosts文件的作用主要如下:
·加快域名解析。当访问网站时,系统会首先查看hosts文件中是否有记录,如果记录存在则直接解析出对应的IP,这时则不需要请求DNS服务器。
·方便小型局域网用户使用的内部设备。很多单位的局域网中都存在着不少内部应用系统(比如办公自动化OA、公司论坛等),平时在工作中也都需要访问,但是由于这些局域网太小而不必为此专门设置DNS服务器,那么此时使用hosts文件则能简单地解决这个问题。
假设公司里有A、B两台主机,B主机的IP为10.1.1.145,为了方便访问B主机,可以在A主机的etchosts文件中添加一条记录:
- 10.1.1.145 hostB
完成后在A主机上使用ping命令测试到B主机的连通性,在ping的输出中可以看到主机名hostB被正确地解析为10.1.1.145,如果没有之前添加的记录,这里将会显示ping:unknown host hostB的错误。
- [root@localhost ~]# ping hostB -c 1
- PING hostB (10.1.1.145) 56(84) bytes of data.
- 64 bytes from hostB (10.1.1.145): icmp_seq=1 ttl=64 time=0.797 ms
- --- hostB ping statistics ---
- 1 packets transmitted, 1 received, 0% packet loss, time 0ms
- rtt min/avg/max/mdev = 0.797/0.797/0.797/0.000 ms