วิธีเพิ่มรายการในโปรแกรมแก้ไข DNS ภายใน [ปิด]


19

ฉันต้องการทดสอบลินุกซ์ ฉันต้องการใส่เว็บเซิร์ฟเวอร์ขนาดเล็กบนเครื่องที่มี IP: 1.2.3.4 (ข้อสันนิษฐาน) และเมื่อมีการสืบค้น DNS สำหรับ URL ที่ระบุ: kitty.myweb.com ฉันต้องการส่งคืนที่อยู่ IP นี้

สถานการณ์:

  1. เมื่อฉันเปิดเบราว์เซอร์ (Firefox หรืออะไรก็ตาม) ฉันป้อน URL kitty.myweb.com และเบราว์เซอร์จะทำการสืบค้น DNS
  2. ฉันต้องการเขียนโปรแกรมที่ใช้สืบค้น DNS สำหรับ kitty.myweb.com

ฉันรู้ว่าคอมพิวเตอร์แต่ละเครื่องมีตัวแก้ไข DNS ท้องถิ่นซึ่งแคชบางรายการ การเรียกไปยัง URL จะทำการสอบถามตัวแก้ไข DNS ในเครื่องก่อนและหากไม่มีรายการที่เกี่ยวข้องระบบจะส่งการสอบถามไปยังตัวแก้ไข DNS ภายนอกบน LAN หรืออินเทอร์เน็ต

สิ่งที่ฉันต้องการคือการเพิ่มรายการ (kitty.myweb.com: 1.2.3.4) ไปยังตัวแก้ไข DNS ในเครื่องดังนั้นสำหรับสถานการณ์ 2 สถานการณ์ข้างต้นการตอบสนอง DNS จะเป็น 1.2.3.4 โดยไม่ต้องทำการค้นหาภายนอก

เป็นไปได้ไหมที่จะทำสิ่งนี้บน linux และถ้าเป็นเช่นนั้นจะเป็นอย่างไร อาจมีตัวอย่างรหัส C ที่จะทำเช่นนี้?

คำตอบ:


30

คุณอาจใช้ / etc / hosts เพื่อเพิ่มรายการของคุณ นี่ไม่ใช่การใช้ DNS แต่มีผลกับไลบรารีตัวแก้ไขใน Linux ซึ่งถูกใช้โดยแอปพลิเคชันส่วนใหญ่ เพิ่ม:

1.2.3.4 kitty.myweb.com

อีกตัวเลือกหนึ่งคือติดตั้งเซิร์ฟเวอร์ DNS อย่างง่ายในระบบของคุณ สิ่งที่ฉันมักจะใช้เรียกว่า dnsmasq ในบาง distros จะถูกติดตั้งโดยค่าเริ่มต้นเป็นตัวแก้ไขแคชซึ่งในกรณีนี้คุณจะต้องแก้ไขการกำหนดค่าเพื่อรวม:

ที่อยู่ = / kitty.myweb.com / 1.2.3.4

หากคุณใช้เซิร์ฟเวอร์ DNS ของคุณเองคุณอาจจะต้องเล่นกับ /etc/resolv.conf ซึ่งใช้งานโดยไลบรารี่ตัวแก้ไขลินุกซ์ ในการทำให้ไลบรารีตัวแก้ไขมองไปที่เซิร์ฟเวอร์ DNS ในตัวคุณต้องมีรายการใน resolv.conf:

เนมเซิร์ฟเวอร์ 127.0.0.1


9

วิธีที่ง่ายที่สุดในการเพิ่มรายการ DNS เดียวในโฮสต์ท้องถิ่นของคุณคือการเพิ่มลงในไฟล์โฮสต์ ตำแหน่งของไฟล์นั้นอาจแตกต่างกันไปตามการกระจาย แต่ตำแหน่งดั้งเดิมของมันคือ/etc/hostsและควรมีลักษณะดังนี้:

:: 1 localhost localhost.yourdomain.tld
127.0.0.1 localhost localhost.yourdomain.tld
1.2.3.4 kitty.myweb.com

โปรดทราบว่าการดำเนินการนี้จะมีผลเฉพาะคอมพิวเตอร์ของคุณเท่านั้น กล่าวอีกนัยหนึ่งก็เป็นเรื่องปกติสำหรับการทดสอบอย่างง่ายเพียงอย่าพยายามแก้ไขไฟล์โฮสต์ในคอมพิวเตอร์จำนวนมาก เพื่อที่คุณต้องการรายการ DNS ที่เหมาะสม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.