Nslookup เป็นโปรแกรมไปยังเซิร์ฟเวอร์ชื่อโดเมนแบบสอบถามอินเทอร์เน็ต Nslookup นั้นดีมากสำหรับการสอบถามเซิร์ฟเวอร์ DNS แต่ไม่ได้ให้ภาพรวมทั้งหมดเมื่อได้รับการจำแนกชื่อ
เกี่ยวกับการแก้ปัญหาชื่อลินุกซ์จะถูกควบคุมมากที่สุดโดยเอ็นเอส/etc/nsswitch.conf
ซึ่งจะเป็นผู้กำหนด โดยเฉพาะการกำหนดค่านี้มีhosts
รายการ ตัวอย่างเช่น:
hosts: files dns
ในรายการด้านบนคุณจะเห็นว่าสิ่งแรกที่จะสอบถามfiles
ตามด้วยdns
ความหมายที่/etc/hosts
จะถูกสอบถามก่อน DNS ตัวเลือกอื่น ๆ ที่มีอยู่รวมทั้งLDAP , Multicast DNSและWINS
ตอบคำถามของคุณโดยตรง SSH จะแก้ไขชื่อโฮสต์ให้เป็นที่อยู่ IP โดยใช้ NSS (ดึงผลลัพธ์จากหลายแหล่งที่มา) โดยที่ nslookup ทำการสืบค้น DNS เท่านั้น
คุณสามารถตรวจสอบเพื่อดูว่า IP NSS ใดแก้ชื่อโฮสต์ให้ใช้ getent ตัวอย่างเช่นการแก้ไขsomename
:
getent hosts somename
นอกจากนี้ ในกรณีของการ SSH ที่คุณสามารถกำหนดค่าข้อมูลเฉพาะโฮสต์ในและ/etc/ssh/ssh_config
~/.ssh/config
สิ่งนี้จะช่วยให้คุณระบุที่อยู่ IP สำหรับชื่อโฮสต์โดยข้ามการจำแนกชื่อทั้งหมด:
ต่อไปนี้จะบอก SSH เพื่อการใช้งาน192.168.1.25
สำหรับทั้งสองและdev
dev.example.com
SSH จะใช้ที่อยู่นี้ไม่ว่าชื่อเหล่านี้จะเป็นชื่อ DNS สำหรับ IP อื่นหรือไม่:
# contents of $HOME/.ssh/config
Host dev dev.example.com
HostName 192.168.1.25
/etc/hosts
หรือ~/.ssh/config
ไม่?