ลด 50% ทุกแผน มีเวลาจำกัด เริ่มต้นที่ $2.48/mo
เหลือเวลาอีก 12 นาที
ความปลอดภัยและเครือข่าย

ความล้มเหลวชั่วคราวในการแก้ไขชื่อ: หมายความว่าอย่างไรและจะแก้ไขได้อย่างไร

เรกซ่า ไซรัส By เรกซ่า ไซรัส อ่าน 12 นาที อัปเดตเมื่อ 89d ที่แล้ว
ภาพประกอบคำแนะนำในการแก้ไขปัญหาเซิร์ฟเวอร์ DNS พร้อมสัญลักษณ์เตือนและเซิร์ฟเวอร์สีน้ำเงินบนพื้นหลังสีเข้มสำหรับข้อผิดพลาดในการแก้ไขชื่อ Linux

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

ปัญหานี้มักเกิดจากปัญหาการเชื่อมต่ออินเทอร์เน็ตหรือปัญหาการกำหนดค่า DNS การแก้ไขปัญหาและแก้ไขข้อผิดพลาดนี้ทำได้ง่ายและตรงไปตรงมา ในคู่มือนี้ เราจะอธิบายทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการแก้ไขข้อผิดพลาดนี้ใน Linux เวอร์ชันต่างๆ เราจะพูดถึงการแก้ไขเฉพาะสำหรับ Ubuntu 22.04 และ 24.04

ความล้มเหลวชั่วคราวในการแก้ไขชื่อหมายถึงอะไร

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

มันทำหน้าที่เป็นความล้มเหลว "ลองอีกครั้ง" ทั่วไปสำหรับ DNS การค้นหาล้มเหลวในห่วงโซ่ ไม่ว่าจะเป็นความผิดพลาดในเครื่อง การหมดเวลาอัปสตรีม หรือปัญหาการตรวจสอบ

โดยทั่วไปคุณจะเห็นข้อผิดพลาดนี้เมื่อพยายาม ping เว็บไซต์:

หน้าต่างเทอร์มินัลแสดงคำสั่ง ping ไปยัง google.com ส่งผลให้เกิดข้อความแสดงข้อผิดพลาด "ความล้มเหลวชั่วคราวในการแก้ไขชื่อ" เป็นข้อความสีแดง

ping google.com

ping: google.com: Temporary failure in name resolution

วิธีแก้ไขความล้มเหลวชั่วคราวในการแก้ไขชื่อ

มีหลายวิธีในการแก้ไขข้อผิดพลาดนี้ ขึ้นอยู่กับสาเหตุที่แท้จริง เรามาสำรวจวิธีแก้ปัญหาหลักกันดีกว่า

โซลูชันที่ 1: ตรวจสอบการเชื่อมต่ออินเทอร์เน็ต

ตรวจสอบเราเตอร์และฮาร์ดแวร์เครือข่ายของคุณเพื่อให้แน่ใจว่าทุกอย่างถูกต้อง ลองเปิดแอปพลิเคชันอื่นเพื่อยืนยันว่าคุณสามารถสร้างการเชื่อมต่ออินเทอร์เน็ตผ่านแอปพลิเคชันเหล่านั้นได้

คุณสามารถทดสอบการเชื่อมต่อพื้นฐานได้โดยการส่ง Ping ไปยังที่อยู่ IP โดยตรง:

ping -c 4 8.8.8.8

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

หากคุณเห็น “คำขอหมดเวลา” หรือ “ไม่สามารถเข้าถึงเครือข่าย” แสดงว่าคุณมีปัญหาการเชื่อมต่อทั่วไปที่ไม่เกี่ยวข้องกับ DNS

การเปรียบเทียบเทอร์มินัลแบบแยกแสดงการ ping ที่ล้มเหลวไปยังโดเมน Google.com กับการตอบกลับ ping ที่สำเร็จไปยังที่อยู่ IP ของ Google 8.8.8.8

หากแอพพลิเคชั่นเชื่อมต่ออินเทอร์เน็ตได้สำเร็จ ให้ดำเนินการตามแนวทางแก้ไขปัญหาถัดไป

โซลูชันที่ 2: ไฟล์ resolv.conf ที่กำหนดค่าไม่ถูกต้อง

ที่ /etc/resolv.conf ไฟล์แสดงรายการเซิร์ฟเวอร์ DNS ที่ระบบของคุณใช้ หากไฟล์นี้มีที่อยู่ IP ไม่ถูกต้อง คุณจะไม่สามารถเชื่อมต่อกับเว็บไซต์ได้

ในระบบ Ubuntu หลายระบบ ไฟล์นี้เป็นลิงก์ไปยังไฟล์ไดนามิกที่จัดการโดย systemd-resolved มักจะมีคำเตือนว่า “ห้ามแก้ไข” อย่างไรก็ตาม หากคุณแก้ไขไฟล์นี้โดยตรง การเปลี่ยนแปลงของคุณอาจใช้เวลาเพียงไม่กี่นาที ระบบจะเขียนทับเมื่ออัพเดตการตั้งค่าเครือข่ายหรือรีสตาร์ท

ก่อนกำหนดการตั้งค่า DNS ตรวจสอบให้แน่ใจว่าผู้ใช้ระบบของคุณมีสิทธิ์ระดับผู้ดูแลระบบ เรียนรู้วิธีการ เพิ่มผู้ใช้ใน sudoers ถ้าจำเป็น

ตรวจสอบการกำหนดค่า DNS ปัจจุบัน

ตรวจสอบการตั้งค่า DNS ของคุณโดยไม่ต้องเปลี่ยนแปลงก่อน:

cat /etc/resolv.conf

หากคุณไม่เห็นเนมเซิร์ฟเวอร์ที่ถูกต้อง แสดงว่าคุณพบปัญหาแล้ว

การทดสอบชั่วคราว

คุณสามารถเพิ่มเซิร์ฟเวอร์ DNS ของ Google เพื่อทดสอบอย่างรวดเร็วได้

nameserver 8.8.8.8

nameserver 8.8.4.4

หรือคุณสามารถใช้เซิร์ฟเวอร์ DNS ของ Cloudflare ได้:

โปรแกรมแก้ไขข้อความเทอร์มินัลที่แสดงไฟล์การกำหนดค่า resolv.conf พร้อมรายการเซิร์ฟเวอร์ชื่อ Google DNS 8.8.8.8 และ 8.8.4.4 สำหรับระบบ Ubuntu 

nameserver 1.1.1.1

nameserver 1.0.0.1

นี่คือการเปรียบเทียบเซิร์ฟเวอร์ DNS สาธารณะยอดนิยม:

แผนภูมิเปรียบเทียบของผู้ให้บริการ DNS ยอดนิยมสี่ราย: Google DNS, Cloudflare, Quad9 และ OpenDNS พร้อมที่อยู่ IP และฟีเจอร์

ผู้ให้บริการ DNS DNS หลัก DNS รอง คุณสมบัติที่สำคัญ
Google DNS 8.8.8.8 8.8.4.4 ความพร้อมใช้งานสูง ครอบคลุมทั่วโลก
คลาวด์แฟลร์ 1.1.1.1 1.0.0.1 เน้นความเป็นส่วนตัว ไม่บันทึก IP
ควอด9 9.9.9.9 149.112.112.112 บล็อกโดเมนที่เป็นอันตรายที่รู้จัก
โอเพ่น DNS 208.67.222.222 208.67.220.220 การป้องกันฟิชชิ่ง การกรองเนื้อหา

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

ตรวจสอบสถานะบริการที่ได้รับการแก้ไขโดย Systemd

หากเนมเซิร์ฟเวอร์ของคุณดูถูกต้อง แต่การแก้ปัญหายังคงล้มเหลว ให้ตรวจสอบ systemd-แก้ไขแล้ว บริการ. บริการนี้จัดการการค้นหา DNS ในเครื่องบนระบบ Linux ที่ทันสมัยที่สุด ใช้คำสั่งนี้เพื่อดูว่ากำลังทำงานอยู่หรือไม่: sudo systemctl สถานะ systemd-ได้รับการแก้ไขแล้ว

หากผลลัพธ์แสดงว่าบริการไม่ได้ใช้งาน คุณสามารถเริ่มบริการได้ทันที

sudo systemctl เริ่ม systemd แก้ไขแล้ว

ขั้นตอนนี้เป็นสิ่งที่ต้องรู้สำหรับผู้ใช้ Ubuntu เนื่องจากการหยุดชะงักของบริการมักจะทำให้เกิดความล้มเหลวในการแก้ไขชื่อ

โซลูชันที่ 3: ข้อ จำกัด ไฟร์วอลล์

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

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

กำหนดค่าไฟร์วอลล์ UFW

การแจกแจง Debian และ Ubuntu ส่วนใหญ่ใช้ ไฟร์วอลล์ UFW. คุณต้องอนุญาตการรับส่งข้อมูล DNS บนพอร์ต 53 (ทั้ง UDP และ TCP):

sudo ufw allow 53/udp

sudo ufw allow 53/tcp

DNS อาศัย UDP สำหรับการสืบค้นมาตรฐานและ TCP สำหรับการถ่ายโอนที่มีขนาดใหญ่กว่า

หลังจากเปิดพอร์ตเหล่านี้แล้ว ให้โหลด UFW ซ้ำเพื่อใช้การเปลี่ยนแปลง:

แผนภาพไฟร์วอลล์ระบบ Ubuntu แสดงการกำหนดค่า UFW ที่อนุญาตการรับส่งข้อมูล DNS ผ่านพอร์ต 43 และ 53 ไปยังเซิร์ฟเวอร์ DNS บนคลาวด์

sudo ufw โหลดซ้ำ

กำหนดค่าไฟร์วอลล์

สำหรับระบบที่ใช้ CentOS และ Red Hat ที่ใช้ไฟร์วอลล์ ให้เปิดพอร์ตที่จำเป็น:

sudo firewall-cmd --add-port=53/udp --permanent

sudo firewall-cmd --add-port=53/tcp --permanent

โหลดไฟร์วอลล์ซ้ำเพื่อใช้การเปลี่ยนแปลง:

sudo firewall-cmd --reload

โซลูชันที่ 4: ล้างแคช DNS

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

คุณเท่านั้น ล้างแคช DNS เมื่อคุณต้องการบังคับให้ระบบขอข้อมูลใหม่ ใช้ขั้นตอนนี้เมื่อคุณพบข้อผิดพลาดในการแก้ไข

การแสดงภาพกระบวนการล้างแคช DNS โดยใช้คำสั่งรีสตาร์ทบริการที่แก้ไขโดยระบบ โดยมีการรีเฟรชบล็อกข้อมูลที่แคชไว้

ระบุบริการ DNS ของคุณ

บริการจะแตกต่างกันไปตามการติดตั้ง ตรวจสอบว่าอันไหนกำลังทำงานอยู่เพื่อหลีกเลี่ยงข้อผิดพลาด "ไม่พบหน่วย":

sudo systemctl is-active nscd

sudo systemctl is-active dnsmasq

ฟลัช nscd

If nscd เปิดใช้งานอยู่ ให้รีสตาร์ท:

sudo systemctl restart nscd.service

ล้าง DNSmasq

If DNSMAQ เปิดใช้งานอยู่ ให้รีสตาร์ท:

sudo systemctl restart dnsmasq.service

ล้างแคชบน Ubuntu (แก้ไขโดยระบบ)

สำหรับระบบที่ใช้ systemd-resolved:

sudo systemctl restart systemd-resolved.service

หรือใช้คำสั่ง solvectl:

sudo resolvectl flush-caches

ทำความเข้าใจการจำแนกชื่อ

เมื่อคุณป้อนที่อยู่เว็บไซต์ เช่น cloudzy.com คอมพิวเตอร์ของคุณจะต้องแปลงโดเมนที่มนุษย์สามารถอ่านได้นี้เป็นที่อยู่ IP (เช่น 172.66.40.212) เพื่อค้นหาเว็บไซต์บนอินเทอร์เน็ต กระบวนการแปลงนี้เรียกว่าการจำแนกชื่อ และเซิร์ฟเวอร์ DNS จะจัดการเอง

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

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

ในทำนองเดียวกัน กระบวนการรีโซลเวอร์ 1.1.1.1 ของ Cloudflare เกือบ 2 ล้านล้านข้อความค้นหาต่อวัน. ปริมาณนี้พิสูจน์ให้เห็นว่า DNS เป็นกุญแจสำคัญต่ออินเทอร์เน็ต

อะไรทำให้เกิดความล้มเหลวชั่วคราวในการแก้ไขชื่อ

การระบุสาเหตุที่แท้จริงเป็นขั้นตอนแรกในการแก้ไขความล้มเหลวชั่วคราวของ Ubuntu ในข้อผิดพลาดในการแก้ไขชื่อ มีหลายปัจจัยที่สามารถทำให้เกิดปัญหานี้ได้

แผนภาพสี่แผงแสดงสาเหตุข้อผิดพลาด DNS ทั่วไป: สาย Ethernet ถูกตัดการเชื่อมต่อ, เซิร์ฟเวอร์ DNS ที่กำหนดค่าไม่ถูกต้อง, ไฟร์วอลล์บล็อกพอร์ต 53, แคชเสียหาย

ปัญหาการเชื่อมต่ออินเทอร์เน็ต

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

ปัญหาการกำหนดค่า DNS

ข้อผิดพลาดในการกำหนดค่า DNS เป็นสาเหตุหนึ่งที่พบบ่อยที่สุดของข้อผิดพลาดนี้:

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

ข้อจำกัดของไฟร์วอลล์

การกำหนดค่าไฟร์วอลล์สามารถบล็อกคำขอ DNS ได้แม้ว่าจะกำหนดค่าอย่างเหมาะสมแล้วก็ตาม ใช้แบบสอบถาม DNS พอร์ต 53และหากไฟร์วอลล์ของคุณบล็อกพอร์ตนี้ การจำแนกชื่อจะล้มเหลว

พอร์ต 53 รองรับทั้งโปรโตคอล UDP และ TCP โดยทั่วไปแล้ว DNS จะใช้พอร์ต UDP 53 สำหรับการสืบค้นแบบมาตรฐานเนื่องจากเร็วกว่า TCP Port 53 ใช้สำหรับการถ่ายโอนโซนและการสืบค้นขนาดใหญ่ที่เกินขีดจำกัดขนาดของ UDP

ปัญหาการกำหนดค่าบริการ

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

ความล้มเหลวชั่วคราวในการแก้ไขชื่อ Ubuntu 22.04

Ubuntu 22.04 LTS นำเสนอการเปลี่ยนแปลงการจัดการเครือข่ายที่อาจทำให้เกิดปัญหาการแก้ไข DNS โดยเฉพาะหลังจากอัปเกรดระบบ ผู้ใช้อาจพบว่า Ubuntu ไม่สามารถแก้ไขโฮสต์ได้ ข้อผิดพลาดชั่วคราวในการแก้ไขชื่อเกิดขึ้นบ่อยครั้งในเวอร์ชันนี้

ปัญหาทั่วไปของ Ubuntu 22.04

ผู้ใช้ที่อัปเกรดจาก Ubuntu 20.04 เป็น 22.04 มักรายงานความล้มเหลวในการแก้ไข DNS ความล้มเหลวชั่วคราวของ Ubuntu 22.04 ในปัญหาการแก้ไขชื่อมักเกิดจากการกำหนดค่าบริการที่แก้ไขโดยระบบอย่างไม่ถูกต้องซึ่งเกิดขึ้นในระหว่างกระบวนการอัปเกรด

การแก้ไขเฉพาะ Ubuntu 22.04

หากคุณประสบปัญหา DNS ถาวรบน Ubuntu 22.04 ให้ทำตามขั้นตอนเหล่านี้:

ขั้นแรก ตรวจสอบว่าบริการเครือข่าย systemd เปิดใช้งานอย่างถูกต้อง:

sudo systemctl unmask systemd-networkd.service

sudo systemctl unmask systemd-resolved.service

ตรวจสอบสถานะของ systemd-resolved:

รายการตรวจสอบระบบ Ubuntu 22.04 แสดงเครื่องหมายถูกสีเขียวสามอันสำหรับบริการ systemd-networkd บริการที่แก้ไขโดยระบบ และการกำหนดค่าลิงก์ resolv.conf

sudo systemctl status systemd-resolved.service

หากบริการไม่ได้ใช้งาน ให้เริ่มต้น:

sudo systemctl start systemd-resolved.service

sudo systemctl enable systemd-resolved.service

ตรวจสอบ /etc/resolv.conf symlink ของคุณชี้ไปยังตำแหน่งที่ถูกต้อง:

ls -l /etc/resolv.conf

ลิงก์การกำหนดค่าที่แนะนำไปยังตัวแก้ไข stub:

sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

ทดสอบการแก้ไข

หลังจากทำการเปลี่ยนแปลงเหล่านี้แล้ว ให้ทดสอบการแก้ไข DNS:

resolvectl status

คำสั่งนี้แสดงการกำหนดค่า DNS ปัจจุบันของคุณ นอกจากนี้ยังยืนยันว่า systemd-resolved กำลังจัดการ DNS อย่างถูกต้อง

Ubuntu 24.04 ความล้มเหลวชั่วคราวในการแก้ไขชื่อ

Ubuntu 24.04 LTS ซึ่งเป็นเวอร์ชันสนับสนุนระยะยาวล่าสุด ใช้ systemd 255 และมีส่วนประกอบการจัดการเครือข่ายที่ได้รับการอัปเดต แม้ว่าจะมีเสถียรภาพมากกว่าเวอร์ชันก่อนหน้า แต่ปัญหา DNS บางอย่างยังคงเกิดขึ้นได้ 

ผู้ดูแลระบบระยะไกลมักเผชิญกับข้อผิดพลาด "SSH ไม่สามารถแก้ไขชื่อโฮสต์ได้" สิ่งนี้จะทริกเกอร์เมื่อตัวแก้ไขต้นขั้วของระบบอยู่ที่ 127.0.0.53 ล้มเหลว เนื่องจาก SSH อาศัยบริการในพื้นที่นี้ในการแปลชื่อ จึงหยุดทำงาน systemd-แก้ไขแล้ว กระบวนการจะบล็อกความพยายามในการเชื่อมต่อตามโดเมนทั้งหมดทันที

การกำหนดค่า DNS ของ Ubuntu 24.04

Ubuntu 24.04 อาศัยระบบที่ได้รับการแก้ไขอย่างมากสำหรับการจัดการ DNS Stub Listener บน 127.0.0.53 จัดการการสืบค้น DNS สำหรับระบบ

แก้ไขปัญหา DNS ใน Ubuntu 24.04

หากคุณพบความล้มเหลวในการจำแนกชื่อบน Ubuntu 24.04 ให้ตรวจสอบว่า systemd-resolved กำลังทำงานอยู่:

sudo systemctl status systemd-resolved

ตรวจสอบการกำหนดค่า DNS ด้วย solvectl:

resolvectl status

ซึ่งจะแสดงข้อมูลเนมเซิร์ฟเวอร์และการกำหนดค่า DNS สำหรับแต่ละอินเทอร์เฟซเครือข่าย

การกำหนดค่า Netplan ของ Ubuntu 24.04

Ubuntu 24.04 ใช้ Netplan สำหรับการกำหนดค่าเครือข่าย การตั้งค่าชื่อไฟล์และตัวเรนเดอร์ขึ้นอยู่กับว่าคุณใช้เวอร์ชันเซิร์ฟเวอร์หรือเดสก์ท็อป

ขั้นแรก ให้ระบุไฟล์การกำหนดค่าของคุณ:

ls /etc/netplan/

แก้ไขไฟล์ที่คุณพบ (บ่อยครั้ง 50-cloud-init.yaml or 00-installer-config.yaml):

sudo nano /etc/netplan/YOUR_FILE_NAME.yaml

ตรวจสอบการตั้งค่า DNS ของคุณ บันทึก: เซิร์ฟเวอร์ที่ใช้โดยทั่วไป เครือข่ายdในขณะที่การติดตั้งเดสก์ท็อปใช้งาน ผู้จัดการเครือข่าย. ตรวจสอบชื่ออินเทอร์เฟซของคุณ (เช่น eth0 or ens3) โดยใช้ ที่อยู่ IP ก่อนที่จะแก้ไข

network:

  version: 2

  renderer: networkd

  ethernets:

    eth0:

      dhcp4: yes

      nameservers:

        addresses: [8.8.8.8, 8.8.4.4]

ใช้การกำหนดค่า:

Ubuntu 24.04 การกำหนดค่า Netplan YAML แสดงการตั้งค่าเซิร์ฟเวอร์ชื่อ DNS พร้อมแผนภาพเครือข่ายที่แสดงการเชื่อมต่อเซิร์ฟเวอร์ VPC DNSsudo netplan apply

ปัญหาของผู้ฟัง Stub

แอปพลิเคชั่นบางตัวอาจขัดแย้งกับ stub Listener ของ systemd-resolved บนพอร์ต 53 หากคุณต้องการปิดการใช้งาน stub Listener:

sudo mkdir -p /etc/systemd/resolved.conf.d/

สร้างไฟล์การกำหนดค่า:

echo -e "[Resolve]\nDNSStubListener=no" | sudo tee /etc/systemd/resolved.conf.d/noresolved.conf

รีสตาร์ทระบบที่แก้ไขแล้ว:

sudo systemctl restart systemd-resolved.service

เคล็ดลับการแก้ไขปัญหาเพิ่มเติม

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

ตรวจสอบการเข้าถึงเซิร์ฟเวอร์ DNS

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

ping -c 4 <your_dns_server_ip>

หากล้มเหลว แสดงว่าคุณมีปัญหาการเชื่อมต่อเครือข่าย 

ตรวจสอบไฟล์ /etc/hosts

ไฟล์ /etc/hosts สามารถแทนที่การค้นหา DNS ได้ รายการที่ไม่ถูกต้องที่นี่อาจทำให้เกิดความล้มเหลวในการแก้ไข:

sudo nano /etc/hosts

ตรวจสอบว่ามีอย่างน้อย:

127.0.0.1   โลคัลโฮสต์

127.0.1.1   ชื่อโฮสต์ของคุณ

ใช้ขุดเพื่อวินิจฉัย DNS

คำสั่ง dig ช่วยวินิจฉัยปัญหา DNS:

dig google.com

ข้อมูลนี้แสดงข้อมูลการสืบค้น DNS โดยละเอียด รวมถึงเซิร์ฟเวอร์ชื่อที่ตอบกลับและระยะเวลาในการสืบค้น

เอาต์พุตเทอร์มินัลของคำสั่ง dig ที่ค้นหา google.com ซึ่งแสดงข้อมูลการแก้ไข DNS โดยละเอียด รวมถึงที่อยู่ IP และสถิติการค้นหา

ตรวจสอบการกำหนดค่าอินเทอร์เฟซเครือข่าย

ตรวจสอบว่าอินเทอร์เฟซเครือข่ายของคุณได้รับการกำหนดค่าอย่างถูกต้อง:

ip addr show

ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซเครือข่ายหลักของคุณมีที่อยู่ IP ที่กำหนด

การป้องกันปัญหา DNS ในอนาคต

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

ความน่าเชื่อถือของเครือข่ายขึ้นอยู่กับคุณภาพของฮาร์ดแวร์ คลาวด์ซี่ของเรา ลินุกซ์ วีพีเอส ทำงานบนโปรเซสเซอร์ AMD Ryzen 9 ความถี่สูงและการเชื่อมต่อ 40 Gbps ความเร็วดิบนี้ช่วยลดเวลาแฝงและการหมดเวลาซึ่งมักเป็นสาเหตุให้เกิดความล้มเหลวในการแก้ปัญหา ทำให้มั่นใจได้ว่าแอปพลิเคชันของคุณยังคงสามารถเข้าถึงได้

ใช้เซิร์ฟเวอร์ DNS ที่เชื่อถือได้

คุณควรกำหนดค่าเนมเซิร์ฟเวอร์หลายรายการผ่าน Netplan หรือ systemd-แก้ไขแล้ว แทนที่จะแก้ไข /etc/resolv.conf โดยตรง; เพื่อให้การตั้งค่าของคุณคงอยู่หลังจากการรีบูต การเพิ่ม IP รองเช่น 1.1.1.1 or 8.8.4.4 สร้างความซ้ำซ้อนหากผู้ให้บริการหลักของคุณล้มเหลว

ตรวจสอบการอัพเดตระบบ

การกำหนดค่า DNS สามารถเปลี่ยนแปลงได้หลังจากการอัพเดตระบบ หลังจากอัปเดตการกระจาย Linux ของคุณแล้ว ให้ตรวจสอบว่าการแก้ไข DNS ยังคงทำงานอย่างถูกต้อง

เอกสารการกำหนดค่าของคุณ

เก็บบันทึกการกำหนดค่า DNS ของคุณ โดยเฉพาะหากคุณใช้เซิร์ฟเวอร์ DNS แบบกำหนดเอง ทำให้การแก้ไขปัญหาง่ายขึ้นหากเกิดปัญหาขึ้น

หลีกเลี่ยงการฟลัชชิงเป็นประจำ

อย่าล้างแคช DNS โดยเป็นส่วนหนึ่งของกำหนดการรายวัน การดำเนินการนี้จะลบข้อมูลที่ถูกต้องและทำให้การท่องเว็บของคุณช้าลง

ล้างแคชเฉพาะในสองสถานการณ์เฉพาะ:

  1. คุณเปลี่ยนผู้ให้บริการ DNS ของคุณ (เช่น เปลี่ยนจาก ISP เป็น Google DNS)
  2. เว็บไซต์ได้ย้ายไปยังเซิร์ฟเวอร์ใหม่และคุณไม่สามารถเข้าถึงได้

บทสรุป

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

ผู้ใช้ Ubuntu 22.04 และ 24.04 ต้องจัดลำดับความสำคัญของ systemd-แก้ไขแล้ว การกำหนดค่า เนื่องจากบริการนี้จัดการการสืบค้น DNS ทั้งหมด การกำหนดค่าที่ไม่ถูกต้องเพียงครั้งเดียวจึงบล็อกการอัปเดตแพ็คเกจและการเชื่อมต่อภายนอก ตรวจสอบว่าบริการมีการใช้งานและเชื่อมโยงอย่างถูกต้อง การตั้งค่า DNS ที่เสถียรช่วยให้ Linux VPS ของคุณดำเนินงานเครือข่ายได้โดยไม่หยุดชะงัก

คำถามที่พบบ่อย

เหตุใดฉันจึงเห็นข้อผิดพลาดชั่วคราวในการแก้ไขชื่อใน Ubuntu

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

ฉันจะแก้ไขความล้มเหลวชั่วคราวของ Ping ในการแก้ไขชื่อได้อย่างไร

ขั้นแรก ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณโดยส่ง Ping ไปยังที่อยู่ IP โดยตรง จากนั้นตรวจสอบว่าไฟล์ /etc/resolv.conf ของคุณมีเนมเซิร์ฟเวอร์ที่ถูกต้อง ตรวจสอบให้แน่ใจว่าไฟร์วอลล์ของคุณอนุญาตการรับส่งข้อมูลบนพอร์ต 53 และรีสตาร์ทบริการที่แก้ไขโดย systemd หากยังเกิดปัญหาอยู่ ให้ล้างแคช DNS ของคุณ

ฉันจะตรวจสอบการตั้งค่า DNS ใน Linux ได้อย่างไร

ดูการกำหนดค่า DNS ปัจจุบันของคุณโดยตรวจสอบไฟล์ /etc/resolv.conf โดยใช้ cat /etc/resolv.conf สำหรับระบบที่ใช้ systemd-resolved ให้ใช้สถานะ Resolctl เพื่อดูการกำหนดค่า DNS โดยละเอียดสำหรับแต่ละอินเทอร์เฟซเครือข่าย

ฉันควรใช้เซิร์ฟเวอร์ DNS ใดสำหรับ Linux?

เซิร์ฟเวอร์ DNS ที่ได้รับความนิยมและเชื่อถือได้ ได้แก่ Google DNS (8.8.8.8 และ 8.8.4.4) และ Cloudflare DNS (1.1.1.1 และ 1.0.0.1) ทั้งสองมีเวลาในการแก้ปัญหาที่รวดเร็วและมีความพร้อมใช้งานสูง คุณยังสามารถใช้เซิร์ฟเวอร์ DNS ของ ISP หรือบริการ DNS สาธารณะอื่นๆ ได้อีกด้วย

ข้อผิดพลาดนี้ส่งผลต่อ Ubuntu 22.04 และ 24.04 แตกต่างกันหรือไม่

ทั้งสองเวอร์ชันอาจพบข้อผิดพลาดนี้ แต่ผู้ใช้ Ubuntu 22.04 มักรายงานปัญหาหลังจากอัปเกรดจาก 20.04 เนื่องจากการเปลี่ยนแปลงการกำหนดค่าที่แก้ไขโดยระบบ Ubuntu 24.04 ได้รับการปรับปรุงความเสถียร แต่อาจต้องมีการกำหนดค่า stub Listener สำหรับบางแอปพลิเคชัน

แบ่งปัน

เพิ่มเติมจากบล็อก

อ่านต่อ

รูปภาพชื่อ Cloudzy สำหรับคำแนะนำ MikroTik L2TP VPN ซึ่งแสดงแล็ปท็อปที่เชื่อมต่อกับชั้นวางเซิร์ฟเวอร์ผ่านอุโมงค์ดิจิทัลสีน้ำเงินและสีทองที่เรืองแสงพร้อมไอคอนรูปโล่
ความปลอดภัยและเครือข่าย

การตั้งค่า MikroTik L2TP VPN (พร้อม IPsec): คู่มือ RouterOS (2026)

ในการตั้งค่า MikroTik L2TP VPN นี้ L2TP จะจัดการทันเนล ในขณะที่ IPsec จะจัดการการเข้ารหัสและความสมบูรณ์ การจับคู่สิ่งเหล่านี้จะทำให้คุณเข้ากันได้กับไคลเอ็นต์ดั้งเดิมโดยไม่มีอายุของบุคคลที่สาม

เรกซ่า ไซรัสเรกซ่า ไซรัส อ่าน 9 นาที
หน้าต่างเทอร์มินัลที่แสดงข้อความเตือน SSH เกี่ยวกับการเปลี่ยนแปลงการระบุโฮสต์ระยะไกล โดยมีชื่อ Fix Guide และแบรนด์ Cloudzy บนพื้นหลังสีน้ำเงินเข้ม
ความปลอดภัยและเครือข่าย

คำเตือน: การระบุโฮสต์ระยะไกลมีการเปลี่ยนแปลง & วิธีแก้ไข

SSH เป็นโปรโตคอลเครือข่ายที่ปลอดภัยที่สร้างอุโมงค์ที่เข้ารหัสระหว่างระบบ ยังคงได้รับความนิยมในหมู่นักพัฒนาที่ต้องการเข้าถึงคอมพิวเตอร์จากระยะไกลโดยไม่ต้องใช้กราฟี

เรกซ่า ไซรัสเรกซ่า ไซรัส อ่าน 10 นาที
วิธีชี้โดเมนไปที่ VPS: คู่มือฉบับย่อ
ความปลอดภัยและเครือข่าย

วิธีชี้โดเมนไปที่ VPS: คู่มือฉบับย่อ

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

เรกซ่า ไซรัสเรกซ่า ไซรัส อ่าน 16 นาที

พร้อมที่จะใช้งานหรือยัง? จาก $2.48/เดือน

คลาวด์อิสระ ตั้งแต่ปี 2008 AMD EPYC, NVMe, 40 Gbps คืนเงินภายใน 14 วัน