ฉันจะกำหนดค่ารายการเซิร์ฟเวอร์ DNS อย่างถาวรใน 16.04 ได้อย่างไร


13

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

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

ฉันตรวจสอบผู้ดูแลระบบเครือข่าย gui หนึ่งชั่วโมงที่ผ่านมาและได้อ่านตามลำดับ 127.0.1.1 8.8.4.4 8.8.8.8 ฉันย้ายสอง 8. ไปด้านบนเหนือ 127 ; เพิ่งตรวจสอบตอนนี้คนแรกที่ไม่ได้อยู่ในรายชื่อก่อนหน้านี้คือ 192.168.1.254 - ซึ่งเป็นเราเตอร์เครือข่ายที่อยู่ด้านแลน คำขอนี้ถูกส่งไปยังอินเทอร์เน็ต คำขอ DNS ที่นี่จะถูกกำหนดเส้นทางไปยัง DNS ของ att แทนที่จะเป็นของ Google โดยอัตโนมัติ สิ่งนี้แสดงให้เห็นเมื่อมีข้อผิดพลาดการค้นหาในเบราว์เซอร์ FireFox จะแสดงหน้าข้อผิดพลาดจาก dnserrorassist.att.net

ฉันต้องการมีเซิร์ฟเวอร์ DNS รายการเดียวที่คงที่เพื่อให้สามารถแก้ไขได้ตามความประสงค์ของฉันและเพื่อกำหนดลำดับการค้นหาที่ใช้ ฉันสามารถทำสิ่งนั้นกับ Ubuntu (16.04) ได้หรือไม่


คุณหมายถึง "files" และ "hook script" อะไร? คุณแก้ไข/etc/resolv.confไฟล์และ / หรือไฟล์ด้วยตนเอง/etc/resolvconf/resolv.conf.d/(ฐาน / หัว / ท้าย) หรือไม่? หรือคุณกำลังพูดถึงการกำหนดค่าผ่าน GUI ผู้จัดการเครือข่าย
ขับขี่เหล็ก

1
1. "โดยปกติแล้วไฟล์ /etc/resolv.conf เป็นไฟล์การกำหนดค่าแบบคงที่ซึ่งไม่ค่อยจำเป็นต้องเปลี่ยนหรือเปลี่ยนแปลงโดยอัตโนมัติผ่านทางไคลเอนต์ DCHP hooks ปัจจุบันคอมพิวเตอร์สามารถสลับจากเครือข่ายหนึ่งไปยัง
ลุงเก่า

1
อีกค่อนข้างบ่อยและเฟรมเวิร์ก resolvconf กำลังถูกใช้เพื่อติดตามการเปลี่ยนแปลงเหล่านี้และอัพเดตคอนฟิกูเรชันของตัวแก้ไขโดยอัตโนมัติ มันทำหน้าที่เป็นสื่อกลางระหว่างโปรแกรมที่ให้ข้อมูลเนมเซิร์ฟเวอร์และแอ็พพลิเคชันที่ต้องการข้อมูลเนมเซิร์ฟเวอร์ Resolvconf จะได้รับข้อมูลโดยชุดของเบ็ดสคริปต์ที่เกี่ยวข้องกับการกำหนดค่าเครือข่ายอินเตอร์เฟซ
ลุงเก่าโฮ

1
จริง ๆ แล้วฉันแค่พยายามตั้งให้ google nameservers สองสามตัวอยู่ด้านบนสุดของรายการ ฉันได้รับข้อผิดพลาดจาก dnserrorassist.att.net เพราะพวกเขาไม่ได้อยู่ในปัจจุบันหรือเซิร์ฟเวอร์ไม่ว่างหรืออะไรก็ตาม ไม่ว่าฉันจะตั้ง 8.8.8.8 หรือเซิร์ฟเวอร์อื่น ๆ ที่ด้านบนของรายการโดยใช้ gui กี่ครั้งต่อไปที่ฉันบูตมันกลับไปใช้ค่าเริ่มต้น 127.0.0.1 ที่ดูเหมือนว่ามีปัญหากับการตั้งค่าระบบการจำแนกชื่อของ Ubuntu หากไม่มีหากมีวิธีที่เชื่อถือได้ในการตั้งค่าฉันต้องการค้นหาตั้งค่าย้ายไปยัง user-ville
Old Uncle Ho ลุง

1
ขอบคุณสำหรับสิ่งนั้นและฉันเห็นจุดของคุณ แต่มันเกินขอบเขตที่จะถามว่าทำไมหน้าเว็บของฉันโหลดทำการร้องขอที่แก้ไขแล้วโดยเซิร์ฟเวอร์ DNS att.net แทนที่จะเป็นเซิร์ฟเวอร์ Google DNS ตามที่ระบุในผู้ดูแลระบบเครือข่าย gui หรือไม่
ลุงเก่าโฮ

คำตอบ:


9

ที่ถูกต้องคำตอบสำหรับคำถามนี้:

  1. ไปที่ไอคอนเครือข่ายในแผงด้านบน

  2. เลือกแก้ไขการเชื่อมต่อ

  3. เปิดการเชื่อมต่อที่คุณต้องการแก้ไขเช่นการเชื่อมต่ออินเทอร์เน็ตแบบใช้สาย

  4. เลือกแท็บIPv4

    1. กำหนดวิธีการที่จะอัตโนมัติ (DHCP) ที่อยู่เท่านั้น

    2. ในฟิลด์เซิร์ฟเวอร์ DNSป้อนรายการเซิร์ฟเวอร์ DNS ของคุณที่คั่นด้วยเครื่องหมายจุลภาค

    3. ขึ้นอยู่กับรุ่นของ Ubuntu หากคุณเห็นสวิตช์ชื่อ Automatic ให้สลับเป็น OFF

    4. คลิกปุ่มบันทึก

อย่าแก้ไขresolv.confไฟล์ของคุณ!


1
ขอบคุณสำหรับขั้นตอนที่ชัดเจนและรัดกุม ฉันได้ตั้งค่าทั้ง Wifi และอีเธอร์เน็ตแล้วและฉันจะตั้งค่าที่เหลือตลอดเวลาและเริ่มต้นใหม่
ลุงเก่าโฮ

4
เราจำเป็นต้องรีบูตหรือไม่ หรือวิธีกำหนดค่าเพื่อรับการเปลี่ยนแปลงได้หรือไม่
Vikas Goel

1
ในอูบุนตู 18 (อย่างน้อยสำหรับฉัน) ไม่มีการเปลี่ยนแปลง GUI ที่ฉันทำกับ DNS จะยังคงมีอยู่ วิธีเดียวที่ฉันจัดการเพื่อให้ระบบของฉันชอบ OpenDNS คือ "ผนวกโดเมนเนมเซิร์ฟเวอร์" ดังที่แสดงที่นี่: askubuntu.com/a/1077479/231504 (ขออภัยที่โพสต์ความคิดเห็น แต่คำถามคือ "ได้รับการป้องกันเพราะมี ดึงดูดคำตอบที่มีคุณภาพต่ำ ") (ถ้าฉันได้รับคะแนนมากพอในความคิดเห็นนี้ฉันสามารถบรรลุ 10 คะแนนที่จำเป็นในการโพสต์คำตอบ)
28719

+1 คำแนะนำที่อัปเดตล่าสุดสำหรับ Ubuntu รุ่นที่ใหม่กว่ามีวางจำหน่ายแล้วที่1.1.1.1
caw

11

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

สำหรับการกำหนดค่า DHCP: แก้ไข / etc / network / interfaces ภายใต้อินเทอร์เฟซของคุณ (eth0 ฯลฯ ) ให้เพิ่มบรรทัดต่อไปนี้:

dns-nameservers 123.123.123.123 # replace with wanted IP

นี่ใช้เฉพาะเซิร์ฟเวอร์ DNS หากเซิร์ฟเวอร์ DHCP ของคุณได้รับการกำหนดค่าให้คุณใช้แล้ว !!! หากต้องการเอาชนะเนมเซิร์ฟเวอร์ที่ให้มาของเซิร์ฟเวอร์ DHCP จะแก้ไขไฟล์ต่อไปนี้

/etc/dhcp/dhclient.conf:
supersede domain-name-servers 123.123.123.123 # replace with wanted DNS server

จากนั้นคุณจะต้องรีสตาร์ทเครือข่ายของคุณ ควรทำสิ่งต่อไปนี้# invoke-rc.d networking restart

ตอนนี้ถ้าคุณดู /etc/resolv.conf คุณควรเห็นเฉพาะเซิร์ฟเวอร์ของคุณ


2
ฉันทำตามคำแนะนำของคุณแล้วมันใช้งานได้ดีมาก ฉันทำงานกับการติดตั้ง Ubuntu 16.04.2 ที่ไม่มีหัว
Sergei G

1
resolv.confอยู่ไกลจากวิธีที่เหมาะสมที่สุดในการเลือกเซิร์ฟเวอร์ DNS ดูคำตอบที่ยอมรับสำหรับทางเลือกที่ดีกว่า (อย่างน้อยสำหรับผู้ใช้ส่วนใหญ่)
David Foerster

การใช้ Linux / UNIX ที่ไม่มีกราฟิกเป็นทางออกที่ดีที่สุดเพราะช่วยให้คุณควบคุมได้ GUI สำหรับ noobs
Anthony Rutledge

ฉัน googled ปัญหา DNS นี้ทุกวันและไม่มีอะไรทำงานจนกว่าฉันจะพบaskubuntu.com/a/1077479/231504 (ขออภัยที่โพสต์เป็นความคิดเห็น แต่คำถามคือ "ได้รับการป้องกันเพราะมันดึงดูดคำตอบคุณภาพต่ำ")
pestophagous
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.