ในเครื่อง linux ของฉันเมื่อฉันรันhostname
มันจะแสดงmongodb
แต่เมื่อฉันรันhost mongodb
มันจะแสดง:
mongodb@mongodb:/var/hadoop/hadoop-1.2.1/bin$ host mongodb
Host mongodb not found: 2(SERVFAIL)
/etc/hosts
ไฟล์ของฉัน:
192.168.10.10 mongodb
192.168.10.10 localhost
127.0.0.1 localhost
#127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
คำถามแรกของฉันคือเนื่องจาก
/etc/hosts
การจับคู่จาก IP กับชื่อโฮสต์ทำไมเครื่องนี้ไม่สามารถแก้ไขชื่อโฮสต์mongodb
เป็น IP 192.168.10.10 ได้ เมื่อฉันเรียกใช้host localhost
จะสามารถแก้ไขและแสดง:localhost has address 127.0.0.1
คำถามอื่นของฉัน: ตาม
/etc/hosts
ไฟล์ชื่อโฮสต์localhost
ควรได้รับการแก้ไขเป็น 192.168.10.10 แทนที่อยู่ IP วนลูปแบ็ค 127.0.0.1 ใครสามารถอธิบายสิ่งนี้ให้ฉันได้บ้าง
/etc/hosts
ไม่ได้มีการใด ๆ ที่มีผลในการแก้ปัญหา DNS เมื่อสอบถาม DNS เซิร์ฟเวอร์โดยตรงซึ่งเป็นสิ่งที่host
ไม่ อย่างไรก็ตามเครื่องมือระบบสาธารณูปโภคจำนวนมากและใช้localhost
นิยามคาดหวังว่ามันจะเป็นที่อยู่ย้อนกลับและการแก้ปัญหาชื่อระบบการใช้งาน (ซึ่งมีลักษณะที่/etc/hosts
ก่อนที่จะสอบถาม DNS) ชื่อแก้ไขมากกว่าอย่างเคร่งครัดจะ DNS ซึ่งอาจไม่เป็นปัจจุบัน