resolv.conf ไม่ได้รับการตั้งค่าเมื่อรีบูตเมื่อมีการกำหนดค่าเครือข่ายสำหรับ ip แบบคงที่


17

ฉันประสบสิ่งที่ดูเหมือนจะเป็นปัญหาการระบุชื่อใน Ubuntu 12.04 Server edition เมื่อกำหนดค่าคอมพิวเตอร์ของฉันให้ใช้ ip แบบคงที่

ใน / etc / network / interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

กำลังทำงาน$ sudo apt-get upgradeส่งผลให้ 'ไม่สามารถดึงข้อมูล ... ':

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

เมื่อฉันเปลี่ยน / etc / network / interfaces เป็น:

auto eth0
iface eth0 inet dhcp

ทุกอย่างทำงานได้ดี

การดู /etc/resolv.conf จะให้คำแนะนำเพิ่มเติม

ในกรณีที่ฉันได้รับปัญหาการแก้ไข resolv.conf ว่างเปล่า ไม่ได้ระบุเนมเซิร์ฟเวอร์ จากนั้นฉันเปลี่ยนเป็น DHCP จากเครือข่ายคงที่และเริ่มใหม่ /etc/resolv.conf ถูกเปลี่ยนเป็น: 'nameserver 192.168.1.1'

การสลับกลับจาก DHCP เป็นแบบคงที่และเริ่มใหม่ไม่ได้ลบรายการเนมเซิร์ฟเวอร์ แต่เมื่อฉันรีสตาร์ทระบบด้วยการตั้งค่าคงที่ resolv.conf ว่างเปล่า เมื่อฉันรีสตาร์ทระบบด้วยการตั้งค่า DHCP resolv.conf มีเนมเซิร์ฟเวอร์ 192.168.1.1 ดังนั้นปรากฏว่าปัญหาคือ resol.conf ไม่ได้รับการเขียนไปอย่างถูกต้อง? แพคเกจ / รหัสใดรับผิดชอบในการเขียนเพื่อ resolv.conf? มีแพคเกจเฉพาะที่ฉันสามารถดูปัญหาเปิดได้หรือไม่

UPDATE: istream โพสต์บทความที่ดีเกี่ยวกับการเปลี่ยนแปลงเพื่อ resol.conf ใน 12.04 http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/


2
หากทุกอย่างทำงานได้ดีเมื่อคุณใช้งานDHCPสิ่งที่ "ปัญหา" คือสิ่งที่คุณต้องการให้คำแนะนำเพื่อ "แก้ไข" LAN คุณมีลักษณะอย่างไร คุณใช้เราเตอร์ประเภทใด (ที่ 192.168.1.1 คืออะไร) เซิร์ฟเวอร์ DNS ใดที่คุณระบุเมื่อคุณใช้ IP แบบคงที่
ไม่มีเหตุผลจอห์น

1
อัปเดตชื่อเพื่อให้สะท้อนอาการได้อย่างแม่นยำยิ่งขึ้นและเพิ่มการค้นพบเพิ่มเติม
kenneth koontz

+1 สำหรับการแก้ไขคำถามและชื่อเพื่อปรับปรุงแม้ว่าคุณจะมีคำตอบแล้ว!
ไม่มีเหตุผล John

1
เพิ่มการอ้างอิงของ istream เพื่อการเปลี่ยนแปลงใน dns ใน ubuntu 12.04
kenneth koontz

คำตอบ:


16

ตามหน้า man resolvconf (ตัวอย่างที่มีให้ในหน้าคน) ให้เพิ่มสิ่งต่อไปนี้ใน / etc / network / interfaces ของคุณภายใต้การกำหนดค่าแบบคงที่ของคุณ:

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]

สมบูรณ์ มันใช้งานได้!
kenneth koontz

สิ่งที่แปลกคือแม้ว่าใน 11.10 ฉันไม่ต้องระบุ dns-nameservers
kenneth koontz

ถูกตัอง. ใน 12.04 Ubuntu เริ่มใช้ resolvconf เพื่อจัดการ resolv.conf มันเป็น resolvconf ที่อ่านdns-nameserversตัวเลือกใน / e / n / i
jdthood

1

คุณแน่ใจหรือไม่ว่าคุณได้ระบุไว้192.168.1.1เป็นค่าสำหรับ DNS เมื่อคุณตั้งค่า IP แบบคงที่

ฉันไม่รู้วิธีการทำเช่นนี้จากบรรทัดคำสั่ง แต่การใช้System Settings -> NetworkGUI ควรทำงานด้วยใช่ไหม ทั้งหมดที่ฉันคิดคือการที่คุณต้องการบางสิ่งบางอย่างเช่นจับภาพหน้าจอด้านล่าง? หรือฉันไม่เข้าใจสิ่งที่คุณพยายามทำ

กำหนดค่าเครือข่ายด้วย IP แบบคงที่เส้นทางเริ่มต้นเซิร์ฟเวอร์ DNS

หมายเหตุ: ละเว้นค่าในหน้าต่างด้านซ้าย นั่นเป็นเพียงค่าของฉันจาก DHCP ฉันไม่ได้สนใจที่จะบันทึกการตั้งค่าแบบคงที่เพราะฉันแค่พยายามอธิบายสิ่งที่ฉันคิด

โดยวิธีการที่ฉันใช้192.168.1.1เพราะนั่นคือสิ่งที่คุณกำลังใช้ แต่คุณสามารถใช้ IP สำหรับเซิร์ฟเวอร์ DNS ที่ถูกต้องได้ ตัวอย่างเช่น8.8.8.8และ / หรือ208.67.222.222ควรทำงานเช่นกัน


ขอบคุณสำหรับการแก้ปัญหา อย่างไรก็ตามฉันไม่ได้ใช้เดสก์ท็อป
kenneth koontz

@kennethkoontz ฉันไม่เข้าใจ คุณใช้เซิร์ฟเวอร์ Ubuntu หรือไม่ หากคุณไม่ได้ใช้การติดตั้งเดสก์ท็อปทั่วไป 12.04 โปรดแก้ไขคำถามของคุณและเพิ่มข้อมูลนี้
ไม่มีเหตุผล John

2
ขอโทษสำหรับความสับสน. ฉันควรจะพูดว่า "ฉันไม่ได้ใช้รุ่นเดสก์ท็อปฉันใช้รุ่นเซิร์ฟเวอร์" ฉันจะอัปเดตโพสต์คำถามเพื่อลบความกำกวม
kenneth koontz

0

หากคุณไม่ต้องการ (หรือไม่สามารถใช้) แอปเพล็ตตัวจัดการเครือข่ายเพื่อตั้งค่าการตั้งค่าเครือข่ายของคุณฉันจะหาวิธีที่เหมาะสมในการตั้งค่าการกำหนดค่า IP แบบ "คงที่"สำหรับเมื่อคุณไม่มีเซิร์ฟเวอร์ DHCP dhclient.confคือการมีสัญญาเช่าคงที่ใน ที่นั่นคุณควรระบุเนมเซิร์ฟเวอร์ที่จะถูกเขียนไปยังresolv.confไฟล์เมื่อ dhclient อยู่ด้านหลังเป็นแบบคงที่

อย่างไรก็ตามหากคุณไม่ต้องการให้มือสกปรกฉันยังคงแนะนำให้ใช้ GUI เพื่อระบุที่อยู่เซิร์ฟเวอร์ DNS ในการตั้งค่า IP ของการเชื่อมต่อของคุณเช่นเดียวกับใน/ubuntu//a/127537/33305 .


0

OP กำลังใช้เซิร์ฟเวอร์ ed NetworkManager ใช้ไม่ได้ .. แต่ใครจะรู้บางทีมันอาจถูกเพิ่มเข้ามาเพื่อเพิ่มความซับซ้อนให้กับเซิร์ฟเวอร์

สำหรับเหตุผลที่ว่าทำไมในโลกที่ไม่ได้แก้ไข resolvconf ได้รับการเพิ่มไปยังเซิร์ฟเวอร์ ed ... WHY !! ??!?

อย่างไรก็ตามเพื่อตอบคำถามของคุณเพิ่มใน:

/ etc / เครือข่าย / อินเตอร์เฟซ

บางสิ่งเช่นนี้

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

ตัวเลือกที่สำคัญคือ "dns-nameservers"

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