ฉันจะเพิ่มเซิร์ฟเวอร์ DNS ที่กำหนดเองและรักษา DNS เริ่มต้นของ ISP ใน OS X Mountain Lion ได้อย่างไร


9

ฉันใช้ OS X Mountain Lion ฉันกำลังใช้dnsmasqเพื่อตั้งค่าชื่อโดเมน wildcard localhost เช่นhttp://local.devเพื่อชี้ไปที่ localhost แต่ฉันต้องเพิ่ม 127.0.0.1 ในการตั้งค่าระบบของฉัน -> การตั้งค่าเครือข่าย

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

ฉันพยายามใช้เซิร์ฟเวอร์ DNS ของ google ด้วย แต่ก็ไม่ทำงานในบางกรณี ฉันจะจอง (หรืออัปเดต) เซิร์ฟเวอร์ DNS ของ ISP ได้อย่างไรโดยไม่ลบ 127.0.0.1 เป็น DNS

ขอบคุณล่วงหน้า.

คำตอบ:


11

อ๋อ คุณสามารถทำได้/etc/resolverคือเพื่อนของคุณ

$ man 5 resolver:

โดเมน
ชื่อโดเมนที่เกี่ยวข้องกับการกำหนดค่าตัวแก้ไขนี้ ตามปกติตัวเลือกนี้ไม่จำเป็นต้องใช้ระบบค้นหา DNS Mac OS X เมื่อมีการอ่านการกำหนดค่าตัวแก้ไขจากไฟล์ในไดเร็กทอรี / etc / resolver ในกรณีนั้นชื่อไฟล์จะถูกใช้เป็นชื่อโดเมน

เพียงแค่ใส่คุณสามารถวางไว้nameserver 127.0.0.1ในไฟล์ที่คุณสร้างขึ้นเรียกว่า/etc/resolver/dev

คุณจะต้องโหลดซ้ำ / รีสตาร์ท จากนั้นจะส่งคำขอใด ๆ ไป*.devยังเนมเซิร์ฟเวอร์ท้องถิ่นของคุณ

DNS การเชื่อมต่อเครือข่ายของคุณยังคงเป็นอัตโนมัติดังนั้นมันจะรับมือกับการเปลี่ยนแปลงใด ๆ ในสภาพแวดล้อมของคุณ

แก้ไข:ฉันเพิ่งพบhttps://serverfault.com/a/164215/163311และhttp://www.echoditto.com/blog/never-touch-your-local-etchosts-file-os-x-againซึ่งมีรายละเอียดเพิ่มเติมเล็กน้อยและรวมถึงdnsmasqรายละเอียดการตั้งค่า


บทความที่สองมีอยู่ที่alanthing.com/blog/2012/04/24/…
ebelisle

0

มีเหตุผลเฉพาะในการใช้งานdnsmasqหรือไม่?

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

sudo nano /private/etc/hosts ป้อนรหัสผ่านเมื่อได้รับแจ้ง

เพิ่มการเพิ่มใด ๆ ที่ท้ายไฟล์ hosts (รายการเดียวต่อบรรทัด) ตัวอย่างเช่น:

127.0.0.1 local.dev

Control + O แล้วป้อนเพื่อบันทึกไฟล์ภายใน nano ควบคุม + X เพื่อออกจากนาโน

คุณจะต้องล้างแคช DNS ในเครื่องโดยใช้: dscacheutil -flushcache


2
ใช้ไฟล์ hosts อาจเป็นวิธีง่ายๆ แต่ฉันต้องตั้งค่าโดเมนไวด์การ์ดเช่น * .dev เพื่อชี้ไปที่ localhost
Daiwei
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.