สิ่งแวดล้อม
การตั้งค่า LAN ของฉันค่อนข้างพื้นฐาน:
- เราเตอร์ที่เชื่อมต่อกับโมเด็มของ ISP และอินเทอร์เน็ต
- พีซีของฉันพัฒนาเชื่อมต่อโดยตรงกับเราเตอร์
เราเตอร์ให้บริการ DHCP แต่ไม่ได้เรียกใช้เซิร์ฟเวอร์ DNS ของตัวเอง อันที่จริงไม่มีเซิร์ฟเวอร์ DNS ที่โฮสต์บน LAN ของฉัน (การตั้งค่าเครือข่ายภายในบ้านทั่วไป) เราเตอร์ได้รับการกำหนดค่าให้ส่งเซิร์ฟเวอร์ DNS ของ ISP โดยเป็นส่วนหนึ่งของข้อมูลการเช่า DHCP
ฉันตั้งค่าเครื่อง VirtualBox บนพีซีสำหรับการพัฒนาของฉันและติดตั้ง Debian Squeeze (6.0.4) แล้ว โหมดเครือข่าย VirtualBox คือBridged Adapter
การจำลองเซิร์ฟเวอร์แบบสแตนด์อโลนบน LAN ของฉัน การเป็นเซิร์ฟเวอร์ VirtualBox แทนที่จะเป็นเซิร์ฟเวอร์จริงไม่ใช่เรื่องสำคัญ แต่ฉันพูดถึงเพื่อความสมบูรณ์
ปัญหา
ทุกครั้งที่การดำเนินการเครือข่ายดำเนินการค้นหา DNS reverse ของ LAN ip ก่อนที่จะดำเนินการเซิร์ฟเวอร์มีความล่าช้านาน ตัวอย่างของการดำเนินงานเครือข่ายที่ช้า:
- การเชื่อมต่อ SSH ไปยังเซิร์ฟเวอร์จากพีซี dev ของฉัน
- เชื่อมต่อกับพอร์ต admin ของเซิร์ฟเวอร์ Glassfish
netstat -l
(netstat -nl
เร็วมาก)Starting MTA: exim4
ในการบูตใช้เวลานานกว่าจะเสร็จสมบูรณ์
สิ่งเหล่านี้มีวิธีแก้ปัญหาเช่นการเพิ่ม Ip ของ dev ของฉันไปยัง/etc/hosts
หรือเพิ่มตัวเลือกเฉพาะคำสั่งเพื่อหลีกเลี่ยงการทำการค้นหา DNS ย้อนกลับ เห็นได้ชัดว่าการใช้/etc/hosts
ไปได้ไกลเพียงเพราะมันขัดแย้งกับ DHCP
อย่างไรก็ตามฉันอดคิดไม่ได้ว่าคิดถึงอะไรบางอย่าง ฉันจริงๆต้องติดตั้งบางเซิร์ฟเวอร์ DNS บน LAN ของฉันได้อย่างไร ดูเหมือนว่าจะเป็นความพยายามที่ยิ่งใหญ่และไร้ประโยชน์สำหรับความต้องการของฉันและฉันไม่อยากเชื่อเลยว่าจะไม่มีตัวเลือกอื่นในสภาพแวดล้อม DHCP เหมือนของฉัน
ฉันค้นหาสิ่งนี้มากและบางทีฉันไม่มีคำค้นหาที่ถูกต้อง แต่ฉันไม่พบวิธีแก้ปัญหา ...
อัปเดต 1 ตามคำตอบของ BillThor
การใช้โฮสต์ (dig ให้ผลลัพธ์เหมือนกัน):
# ip of stackoverflow.com
$ time host -v 64.34.119.12
Trying "12.119.34.64.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15537
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;12.119.34.64.in-addr.arpa. IN PTR
;; ANSWER SECTION:
12.119.34.64.in-addr.arpa. 143 IN PTR stackoverflow.com.
Received 74 bytes from 192.168.1.1#53 in 15 ms
real 0m0.020s
user 0m0.008s
sys 0m0.000s
# ip of dev pc
$ time host -v 192.168.1.50
Trying "50.1.168.192.in-addr.arpa"
;; connection timed out; no servers could be reached
real 0m10.004s
user 0m0.004s
sys 0m0.000s
/etc/resolv.conf ของฉัน (ถูกสร้างขึ้นโดยอัตโนมัติระหว่างการติดตั้ง)
nameserver 192.168.1.1
ทั้งโฮสต์และขุดกลับมาเร็วมากสำหรับ IP สาธารณะ แต่ใช้เวลา 10 วินาทีในการหมดเวลาสำหรับ LAN ip ฉันเดาว่า 10s เป็นค่าการหมดเวลาปัจจุบันของฉัน
อัปเดต 2
ด้วยdev-pc
ไฟล์ / etc / hosts:
$ time getent hosts 192.168.1.50
192.168.1.50 dev-pc
real 0m0.001s
user 0m0.000s
sys 0m0.000s
โดยไม่ต้องdev-pc
อยู่ในไฟล์ / etc / hosts:
$ time getent hosts 192.168.1.50
real 0m10.012s
user 0m0.004s
sys 0m0.000s
ดูเหมือนว่าฉันจะต้องค้นหาตัวเลือกโปรแกรมหรือพารามิเตอร์สำหรับแต่ละคนที่พยายามทำการค้นหา DNS ย้อนกลับ! ไม่มีเครื่องจักรใด (เสมือนหรือไม่) สามารถทำหน้าที่เป็นเซิร์ฟเวอร์ DNS บน LAN ของฉันได้เนื่องจากเครื่องเหล่านั้นไม่ได้ทำงานตลอดเวลา น่าเสียดายที่เฟิร์มแวร์ของเราเตอร์ไม่มีเซิร์ฟเวอร์ DNS