主机名是否区分大小写?

主机名是否区分大小写? 是

ping MYHOST 

等于

 ping myhost 

它取决于使用的DNS? Win / Mac / Unix系统有区别吗?

从DNSparsing的名称不区分大小写。 这对防止混淆很重要。 如果区分大小写,那么我们将有八个变种.com(.com,.com,.cOm,.com,.coM,.CoM,.cOM和.COM)。 国家代码将有四个。

如果名称parsing对于Ping来说是大小写敏感的,那么它不是由DNS完成的。

我刚在这里工作。 DNS 不区分大小写。RFC指定。 https://tools.ietf.org/html/rfc4343,但并不是说它必须是小写。

所以我们很高兴能解决一个没有解决我们内部域名“t.local”的问题的主机

 p123$ ping p123-db.t.local PING p123-db.t.local (192.168.106.175) 56(84) bytes of data. ....works ok p123$ ping P123-dB.T.lOcal ping: unknown host P123-dB.T.lOcal 

为什么要解决混合的情况呢? 因为这就是tcpdump显示的DNS查询,因为这就是运行的软件所要求的。 pgbouncer被configuration为在其configuration中使用“p123-db”,而resolv.conf指定了一个“t.local”的search域。那么什么是混合的情况?

原来glibc是随机切换的。 该过程被称为“0x20填充”,并于2008年在“使用DNS标签中的位0x20来改善交易标识”中首次被描述http://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00

主要目的是增加熵值,以便更难伪造答复 – 问题的案例必须与答案的情况相匹配。

这里可以find一个很好的讨论。 https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


另外,我们在内部运行powerDNS,并对数据库进行查找。 多年来,没有人用大写字母在t.local域中使用主机名或FQDN,所以我们从未注意到我们的内部域是区分大小写的。

被查询中的一些调整修复了,但是如上所述,这会破坏0x20混合大小写的查找 – 客户端可能会要求在与请求相同的情况下返回答案。

简短的回答 :DNS不应区分大小写,但问题和答案在将来需要是相同的情况。

我刚刚在主机名称parsing呈现区分大小写的embedded式SE Linux设备上解决了一个问题。

“ping MYHOST”会ping到127.0.0.1,而“ping myhost”会ping正确的IP地址。

nslookup为大写和小写都产生了正确的结果,表明DNS服务器没有故障。

但是,与忽略caching的nslookup不同,“getent hosts MYHOST”输出“0.0.0.0”,“getent hosts myhost”输出正确的IP地址。

所以nscd显然是区分大小写的。 调用“nscd -i hosts”清除caching修复了问题。

由于尝试在创buildDNS条目之前build立到MYHOST的连接的进程(大写字母)中的MYHOST以0.0.0.0caching,这发生在远程设备获取其DHCP分配时发生。

正如BillThor所提到的,在DNS或netbiosparsing级别上不区分大小写。

不同的操作系统对于不同的shell也不会有问题。

但是,应用程序可能会意识到它们。 例如,各种环境下的networking平台可以检查区分大小写。 现在更常见的search引擎优化(SEO)的原因,以观察不同的shell和redirect。 这一切都取决于应用程序,虽然如此答案是,它有所不同。

不过,对于“大部分”来说,主机名在应用程序级别上并不是一个大小写敏感的问题。