มันแทนที่ nameserver (DNS) ที่ใช้ในเครื่องของคุณโดยบริการ Google มหาชน DNS หากการเรียกใช้คำสั่งนั้นช่วยคุณได้แสดงว่าคุณมีปัญหา DNS ในการตั้งค่าเริ่มต้นที่เครือข่ายของคุณอาจกำหนด (DHCP) แม้ว่าจะเป็นการดีกว่าที่จะแก้ไขสาเหตุของปัญหา แต่นี่เป็นคำตอบทั่วไปสำหรับคำถามของคุณ
คำอธิบายของคำสั่ง
sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
sudo
ยกระดับสิทธิ์การใช้งานให้เป็นรูทในกรณีนี้
echo
เพียงแค่ส่งออกข้อโต้แย้งต่อไปนี้กับเอาท์พุทมาตรฐาน (ในกรณีนี้มันเอาท์พุทnameserver 8.8.8.8
)
>
เปลี่ยนทิศทางเอาต์พุตมาตรฐานไปยังไฟล์ (เขียนทับมัน) ใน Unix shell ปกติ
/etc/resolv.conf
เป็นไฟล์ที่เขียนเอาต์พุตไป
- การมีบรรทัด
nameserver 8.8.8.8
ใน/etc/resolv.conf
ทำให้ระบบใช้เนมเซิร์ฟเวอร์ที่มีที่อยู่ IP 8.8.8.8
สำหรับการแก้ไขชื่อโดเมนเป็นที่อยู่ IP (เวอร์ชั่นสั้นมากของสิ่งที่เกิดขึ้นจริง)
8.8.8.8
เป็นหนึ่งในที่อยู่ที่เผยแพร่โดย Googleว่าเป็นที่ซึ่งบริการ DNS สาธารณะกำลังฟังอยู่
sudo
ผิดพลาด
ในขณะที่คำอธิบายนี้ฟังดูเป็นไปได้ แต่สิ่งนี้จะไม่ทำงานเนื่องจากคุณจะได้รับข้อผิดพลาด :
bash: /etc/resolv.conf: Permission denied
ทำไม? เปลี่ยนเส้นทางการส่งออกจะถูกจัดการโดยเปลือกของคุณ (ที่นี่: ทุบตี) sudo
และไม่ได้นำเข้าบัญชีสำหรับคำสั่งที่ใช้สำหรับ คล้ายกับวิธีการคูณในคณิตศาสตร์มีความสำคัญมากกว่าการเพิ่ม ดังนั้นมันเป็นเพียงแค่echo
นั้นที่ได้รับสิทธิ์ยกระดับ แต่เชลล์ของคุณไม่ได้! เพื่อแก้ปัญหานี้หนึ่งควรใช้คำสั่งนี้เช่น
sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"
หรือโดยใช้ไพพ์และtee
ส่งออกไปยังไฟล์:
echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf #prints to screen as well
Ubuntu และผู้จัดการเครือข่าย
บน Ubuntu นี่เป็นการเปลี่ยนแปลงชั่วคราวเท่านั้นเนื่องจากตัวจัดการเครือข่าย "จัดการ" /etc/resolv.conf
ไฟล์ การปรับเปลี่ยนในท้องถิ่นจะถูกเขียนทับ นั่นเป็นเหตุผลที่คุณควรกำหนดค่านี้ในตัวจัดการเครือข่ายเพื่อให้มันคงอยู่
การกำหนดค่าโดยใช้ Network Manager
ฉันจะแนะนำการกำหนดค่าพีซีของคุณอย่างถูกต้องโดยใช้ Network Manager ฉันสมมติว่าคุณกำลังใช้ DHCP ในเครือข่ายของคุณที่นี่ (พบมากที่สุด) จากนั้นทำเช่นนี้เพื่อดำเนินการเช่นเดียวกับคำสั่งที่คุณใช้:
เปิดแก้ไขการเชื่อมต่อ :
แก้ไขโปรไฟล์การเชื่อมต่อที่คุณใช้
บนแท็บการตั้งค่า IPv4 :
เสร็จสิ้น
บันทึกย่อที่สำคัญ
ในเครือข่ายท้องถิ่นหรือองค์กรเซิร์ฟเวอร์ DNS ในพื้นที่อาจถูกใช้สำหรับโฮสต์ในท้องถิ่น คุณจะสูญเสียฟังก์ชันการทำงานนี้โดยขอให้เซิร์ฟเวอร์ของ Google แก้ไขชื่อให้คุณโดยตรง ดังนั้นหากตัวอย่างเช่นเซิร์ฟเวอร์ DNS ในพื้นที่จะรู้ว่า "เครื่องพิมพ์" คืออะไรคุณจะหลวมโดยใช้ชื่อเครื่องพิมพ์ของคุณ
ดังนั้นโปรดแก้ไขเซิร์ฟเวอร์ DNS ในพื้นที่ของคุณแทน หากเป็นเพียงผู้ส่งต่อไปยังเซิร์ฟเวอร์ DNS ที่เสียของ ISP ของคุณและคุณไม่สามารถเปลี่ยนแปลงได้ (ตัวอย่างเช่นเราเตอร์ที่จัดการโดย ISP แบบ all-in-one-router) ดังนั้น8.8.8.8
โซลูชันนี้อาจเป็นตัวเลือกเดียวของคุณ