กรณีที่ชื่อโฮสต์มีความสำคัญหรือไม่ คือ
ping MYHOST
เท่ากับ
ping myhost
มันขึ้นอยู่กับ DNS ที่ใช้หรือไม่ ระบบ Win / Mac / Unix มีความแตกต่างหรือไม่?
กรณีที่ชื่อโฮสต์มีความสำคัญหรือไม่ คือ
ping MYHOST
เท่ากับ
ping myhost
มันขึ้นอยู่กับ DNS ที่ใช้หรือไม่ ระบบ Win / Mac / Unix มีความแตกต่างหรือไม่?
คำตอบ:
ชื่อที่ได้รับการแก้ไขจาก DNS ไม่คำนึงถึงขนาดตัวพิมพ์ นี่เป็นสิ่งสำคัญเพื่อป้องกันความสับสน หากเป็นกรณี ๆ ไปเราจะมีแปดสายพันธุ์ของ. com (. com, .Com, .cOm, .COm, .coM, .CoM, .cOM และ. com) รหัสประเทศจะมีสี่
หากการจำแนกชื่อเป็นแบบตรงตัวพิมพ์สำหรับ 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 ถูกกำหนดค่าให้ใช้ "p123-db" ในการกำหนดค่าและ resolv.conf ระบุโดเมนการค้นหาของ "t.local" ดังนั้นสิ่งที่จะผสมกรณี?
ปรากฎว่า glibc กำลังสลับกรณีสุ่ม กระบวนการนี้เรียกว่า "การเติมเต็ม 0x20" และได้รับการอธิบายเป็นครั้งแรกในปี 2008 ใน "การใช้บิต 0x20 ในป้ายชื่อ DNS เพื่อปรับปรุงรหัสประจำตัวธุรกรรม" http://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00
วัตถุประสงค์หลักคือการเพิ่มเอนโทรปีเพื่อให้ยากที่จะปลอมคำตอบ - กรณีของคำถามจะต้องตรงกับกรณีของคำตอบ
การสนทนาที่ดีอาจพบได้ที่นี่ https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case
แยกจากกันเราเรียกใช้ powerDNS ภายในและจะทำการค้นหากับฐานข้อมูล หลายปีที่ผ่านมาไม่มีใครใช้ชื่อโฮสต์หรือ FQDN ในโดเมน t.local ด้วยอักษรตัวใหญ่ดังนั้นเราจึงไม่เคยสังเกตเห็นว่าโดเมนภายในของเรานั้นเล็กและใหญ่
ได้รับการแก้ไขโดยการปรับแต่งบางอย่างในแบบสอบถาม แต่จะทำให้การค้นหากรณีผสมผิดพลาด 0x20 ดังกล่าวข้างต้น - ลูกค้าอาจต้องการคำตอบจะถูกส่งกลับในกรณีเดียวกับที่ร้องขอ
คำตอบสั้น ๆ : DNS ไม่ควรตรงตามตัวพิมพ์ใหญ่ - เล็ก แต่คำถามและคำตอบจะต้องเป็นตัวพิมพ์เล็กในอนาคต
ฉันเพิ่งเสร็จสิ้นการแก้ไขปัญหาบนอุปกรณ์ SE Linux ที่ฝังตัวซึ่งการจำแนกชื่อโฮสต์แสดงถึงความละเอียดของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
"ping MYHOST" จะ ping เป็น 127.0.0.1 ในขณะที่ "ping myhost" จะ ping ที่อยู่ IP ที่ถูกต้อง
nslookup สร้างผลลัพธ์ที่ถูกต้องสำหรับทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็กซึ่งบ่งชี้ว่าเซิร์ฟเวอร์ DNS ไม่ได้เป็นฝ่ายผิด
แต่แตกต่างจาก nslookup ซึ่งละเว้นแคช "เอาต์โฮสต์ MYHOST" เอาต์พุต "0.0.0.0" และ "getent โฮสต์ myhost" ส่งออกที่อยู่ IP ที่ถูกต้อง
ดังนั้น nscd จึงเป็นตัวพิมพ์เล็กและใหญ่ การเรียก "nscd -i hosts" เพื่อล้างแคชแก้ไขปัญหา
MYHOST ใน (ตัวพิมพ์ใหญ่) สิ้นสุดลงด้วยแคช 0.0.0.0 เนื่องจากกระบวนการพยายามสร้างการเชื่อมต่อกับ MYHOST ก่อนที่จะสร้างรายการ DNS ซึ่งเกิดขึ้นเมื่ออุปกรณ์ระยะไกลได้รับการกำหนด DHCP
ดังที่ BillThor กล่าวไว้มันไม่ได้ตรงตามตัวพิมพ์ใหญ่ - เล็กที่ระดับความละเอียด DNS หรือ netbios
ระบบปฏิบัติการต่าง ๆ จะไม่มีปัญหากับกรอบที่แตกต่างกัน
อย่างไรก็ตามแอปพลิเคชั่นอาจจะรับรู้ได้ ตัวอย่างเช่นแพลตฟอร์มเว็บในสภาพแวดล้อมที่หลากหลายสามารถตรวจสอบความตรงตามตัวพิมพ์เล็กและใหญ่ได้ เป็นเรื่องปกติมากขึ้นในขณะนี้สำหรับเหตุผลในการเพิ่มประสิทธิภาพกลไกค้นหา (SEO) เพื่อดูเคสและการเปลี่ยนเส้นทางที่แตกต่างกัน นั่นคือทั้งหมดที่ขึ้นอยู่กับแอปพลิเคชัน แต่คำตอบก็คือมันแตกต่างกันไป
สำหรับ 'ส่วนใหญ่' ชื่อโฮสต์ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ที่ระดับแอปพลิเคชัน