/etc/hosts 别名或多条记录

/etc/hosts 别名或多条记录

我想知道这两种配置有什么不同:
首先:

127.0.0.1       localhost my-hostname
192.168.10.12   host-a a.com

第二 :

127.0.0.1       localhost my-hostname
192.168.10.12   host-a 
192.168.10.12   a.com

如果我不使用别名会发生什么?

答案1

对于/etc/hosts文件来说,在解析名称的地址时,这两种选择是等效的。在这两种情况下,名称host-aa.com将被解析为地址为 192.168.10.12 的名称host-a

对于从 IP 地址反向查找名称,两种替代方案略有不同。两者都将host-a作为规范名称返回。第一个将a.com作为别名包含在内。

您将获得匹配的文件的第一行,该行的第一个文本条目是规范名称。

测试框架(根据需要修改以测试各种场景):

perl -MData::Dumper -e 'print Dumper(gethostbyname("a.com"))'

perl -MData::Dumper -e 'print Dumper(gethostbyaddr(pack("C4", 192, 168, 10, 12), 0))'

就我个人而言,我尽量避免使用/etc/hosts,更喜欢使用 DNS。然而,在某些情况下它可能很有用,在这些情况下,我总是将 FQDN 放在一行的前面,然后再将其别名放在后面。我在文件中逐行对实际计算机名称及其服务执行相同的操作。

例如,其中eleven是服务器的名称及其提供的web服务ftp

192.168.10.11 eleven.contoso.com eleven
192.168.10.11 web.contoso.com web
192.168.10.11 ftp.contoso.com ftp

相关内容