Domain-Name-System

主機名是否區分大小寫?

  • March 28, 2022

主機名是否區分大小寫?是

ping MYHOST

等於

ping myhost

這取決於使用的​​ DNS 嗎?Win/Mac/Unix 系統之間有區別嗎?

從 DNS 解析的名稱不區分大小寫。這對於防止混淆很重要。如果區分大小寫,那麼我們將有 .com 的 8 個變體(.com、.Com、.cOm、.COm、.com、.CoM、.com 和 .COM)。國家程式碼將有四個。

如果 Ping 的名稱解析區分大小寫,則 DNS 不會完成。

我剛剛在這里工作。DNS應該不區分大小寫…. RFC(RFC 4343 - 域名系統 (DNS) 不區分大小寫澄清)指定但沒有說它必須小寫。

因此,我們很高興對無法為我們的內部域“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 被配置為在其配置中使用“p123-db”,並且 resolv.conf 指定了“t.local”的搜尋域 那麼是什麼混淆了這種情況?

原來 glibc 正在隨機切換案例。該過程稱為“0x20 填充”,並於 2008 年在“使用 DNS 標籤中的位 0x20 改進事務身份”中首次描述 https://datatracker.ietf.org/doc/html/draft-vixie-dnsext-dns0x20- 00

主要目的是增加熵,以便更難偽造回复 - 問題的大小寫必須與答案的大小寫匹配。

可以在這裡找到一個很好的討論。 https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


另外,我們在內部執行 powerDNS,它會針對數據庫進行查找。多年來,沒有人在 t.local 域中使用大寫字母的主機名或 FQDN,因此我們從未註意到我們的內部域區分大小寫。

已通過查詢中的一些調整來修復,但這會破壞上面的 0x20 混合大小寫查找 - 客戶端可能要求以與請求相同的大小寫返回答案。

簡短回答:DNS 不應該區分大小寫,但將來問題和答案需要是相同的大小寫。

引用自:https://serverfault.com/questions/261341