ก่อนอื่นเรื่องเล็ก ๆ น้อย ๆ ที่เกี่ยวข้องกับนักเทียบท่าซึ่งเกี่ยวกับคำถามนี้ Skydock - Automagic Service Discovery สำหรับนักเทียบท่า ซึ่งไปได้ดี ตอนนี้ฉันมีเซิร์ฟเวอร์ DNS ฟังอยู่ 172.17.42.1
ที่มีรายการสำหรับโฮสต์ redis1.redis.dev.docker
มี IP 172.17.0.4
:
$ dig @172.17.42.1 redis1.redis.dev.docker
; <<>> DiG 9.9.4-P2-RedHat-9.9.4-12.P2.fc20 <<>> @172.17.42.1 redis1.redis.dev.docker
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51671
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;redis1.redis.dev.docker. IN A
;; ANSWER SECTION:
redis1.redis.dev.docker. 29 IN A 172.17.0.4
;; Query time: 0 msec
;; SERVER: 172.17.42.1#53(172.17.42.1)
;; WHEN: Wed Nov 05 21:04:01 EST 2014
;; MSG SIZE rcvd: 80
ดังนั้นบริการ DNS จึงใช้งานได้ใช่ไหม ตกลงดังนั้นฉันจึงเพิ่มเซิร์ฟเวอร์ DNS ลงในสคริปต์ของอินเทอร์เฟซเครือข่ายและฉันได้ทำการเปลี่ยนแปลง:
$ cat /etc/resolv.conf
# Generated by NetworkManager
search fghijk.local
nameserver 192.168.0.1
nameserver 172.17.42.1
อย่างไรก็ตามเมื่อฉัน dig
โดยไม่ต้องระบุที่อยู่ IP ของเซิร์ฟเวอร์ DNS ดังที่แสดงไว้ด้านบนดูเหมือนว่า 192.168.0.1
เป็นเซิร์ฟเวอร์ DNS เดียวที่ได้รับการพิจารณา
ตอนนี้ฉันอาจจะทำอะไรผิด แต่คำถามจริงของฉันคือ:
เซิร์ฟเวอร์ DNS รองควรแสดงในของฉันเมื่อใด /etc/resolv.conf
ได้รับการปรึกษา? เป็นเพียงเมื่อหลักไม่ทำงาน? การเดาที่ไม่ได้รับการศึกษาของฉันคือหากเซิร์ฟเวอร์หลักไม่สามารถตอบแบบสอบถามเซิร์ฟเวอร์ DNS รองจะได้รับการพิจารณา นี่คือการคาดเดาที่ผิดธรรมดาหรือเปล่า? พฤติกรรมนี้เปลี่ยนไปตามระบบปฏิบัติการหรือไม่?