คุณเจอ 'No Route to Host' ในขณะที่พยายามเข้าถึงเซิร์ฟเวอร์บน Linux หรือไม่? ข้อผิดพลาดในการเชื่อมต่อบริการนี้อาจสร้างความรำคาญ แต่คุณสามารถแก้ไขได้เมื่อระบุสาเหตุแล้ว
'ไม่มีเส้นทางไปยังโฮสต์' หมายถึงปัญหาเครือข่าย ซึ่งมักจะปรากฏขึ้นเมื่อเซิร์ฟเวอร์หรือโฮสต์ไม่ตอบสนอง สิ่งนี้อาจเกิดขึ้นเนื่องจากปัญหาเครือข่ายหรือเนื่องจากการตั้งค่าที่ไม่เหมาะสม
การตั้งค่าเครือข่ายของคุณถูกต้องหรือไม่
ก่อนที่เราจะพิจารณาสาเหตุที่เฉพาะเจาะจงมากขึ้นสำหรับปัญหานี้ ตรวจสอบให้แน่ใจว่าการตั้งค่าเครือข่ายของคุณถูกต้อง คุณสามารถเชื่อมต่อกับเว็บได้หรือไม่? DNS ของคุณได้รับการกำหนดค่าอย่างถูกต้องหรือไม่?
เรียกใช้คำสั่งนี้เพื่อค้นหา:
systemd-resolve –สถานะ
วิธีไฮไลต์รายการที่ซ้ำกันใน Google ชีต
หากคุณพบปัญหา DNS ที่นั่น ให้กลับไปที่การกำหนดค่าเครือข่ายของคุณและทำซ้ำหากจำเป็น หากคุณกำลังใช้เครือข่ายมาตรฐานที่มี IP แบบไดนามิก หมายเลข DNS ควรอัปเดตโดยอัตโนมัติ
หากต้องการกำหนดค่า DNS ด้วยตนเอง ให้ไปที่ Network Manager และป้อนที่อยู่ IP ด้วยตนเองในแท็บ IPv4
หากการแจกจ่าย Linux ของคุณไม่มีเดสก์ท็อปแบบกราฟิก ให้ไปที่ /etc/systemd/resolved.conf และค้นหาบรรทัด DNS
เปลี่ยนตัวเลขด้วยหมายเลข DNS ที่คุณต้องการและกำหนดค่าอื่นๆ หากจำเป็น
นอกจากนี้ หากคุณตั้งค่า IP แบบคงที่ คุณอาจต้องการเปลี่ยนกลับเป็น IP แบบไดนามิก และให้เครือข่ายของคุณรับข้อมูลการเชื่อมต่อผ่าน DHCP
อย่าลืมรีสตาร์ทคอมพิวเตอร์ก่อนที่จะพยายามเชื่อมต่อกับโฮสต์อีกครั้ง หากคุณยังคงได้รับ 'ไม่มีเส้นทางไปยังโฮสต์' ให้อ่านต่อไป
โฮสต์เซิร์ฟเวอร์ออนไลน์หรือไม่
ขั้นตอนต่อไปคือการตรวจสอบว่าโฮสต์ที่คุณพยายามเชื่อมต่อออนไลน์อยู่จริงหรือไม่ ท้ายที่สุด หนึ่งในสาเหตุที่พบบ่อยที่สุดสำหรับข้อผิดพลาดก็คือ บริการไม่ทำงานอันเป็นผลมาจากการบำรุงรักษาหรือปัญหาอื่นๆ
หากบริการไม่ออนไลน์ ให้ตรวจสอบว่าโฮสต์อยู่หรือไม่ บางครั้งบริการอาจหยุดทำงานหรือไม่ได้เริ่มตั้งแต่เริ่มต้น แม้ว่าเซิร์ฟเวอร์จะไม่มีอะไรผิดปกติก็ตาม
ใช้ systemd รันคำสั่ง...
วิธีเซฟรูปจาก google photos
sudo systemctl สถานะชื่อบริการ
หากบริการกำลังทำงานอยู่ คุณต้องค้นหาสาเหตุอื่น
คุณกำลังเชื่อมต่อกับพอร์ตที่ถูกต้องหรือไม่?
ตรวจสอบเอกสารใดๆ ที่โฮสต์อาจให้ไว้อีกครั้ง เป็นเรื่องปกติสำหรับผู้จัดการเซิร์ฟเวอร์ในการล็อกพอร์ตที่ไม่ได้ใช้เพื่อปรับปรุงความปลอดภัยของเซิร์ฟเวอร์ ผู้โจมตีมักใช้พอร์ตทั่วไปเพื่อกำหนดเป้าหมายบริการ Linux
หากคุณกำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ของคุณเอง คุณสามารถติดตามบริการไปยังพอร์ตที่ถูกต้องได้ ในการดำเนินการนี้ คุณต้องติดตั้งเครื่องมือรักษาความปลอดภัยที่สามารถช่วยให้คุณเห็นพอร์ตที่เปิดอยู่ – NMAP
ต่อไปนี้คือคำสั่งสำหรับการติดตั้ง NMAP ในลีนุกซ์รุ่นต่างๆ:
CentOS: ยำติดตั้ง nmap
เดเบียน: apt-get ติดตั้ง nmap
อูบุนตู: sudo apt-get ติดตั้ง nmap
เมื่อคุณติดตั้ง NMAP แล้ว ให้ตรวจสอบเพื่อดูพอร์ตที่เปิดอยู่โดยใช้คำสั่งต่อไปนี้:
sudo nmap -sS เป้าหมายเซิร์ฟเวอร์ ip
หากคุณไม่มีสิทธิ์เข้าถึงเซิร์ฟเวอร์โดยตรง คุณจะต้องติดต่อโฮสต์ แต่ก่อนที่คุณจะทำเช่นนั้น ให้ดูสาเหตุที่เป็นไปได้อื่นๆ สำหรับข้อผิดพลาด 'No Route to Host' ใน Linux
ชื่อโฮสต์ถูกต้องหรือไม่?
คุณอาจได้รับข้อผิดพลาด 'ไม่มีเส้นทางไปยังโฮสต์' หากคอมพิวเตอร์และเซิร์ฟเวอร์ที่คุณพยายามเชื่อมต่อใช้ชื่อโฮสต์อื่น ควรกำหนดค่าเครื่องทั้งสองเครื่องให้เชื่อมต่อกัน
นอกเหนือจากการกำหนดค่าโฮสต์ปกติ คุณต้องให้ความสนใจกับไฟล์ hosts.deny และ hosts.allow ใน /etc หากคุณกำลังพยายามเชื่อมต่อกับเซิร์ฟเวอร์ใหม่ ตรวจสอบให้แน่ใจว่าคุณได้รับชื่อโฮสต์ของเซิร์ฟเวอร์ที่ถูกต้อง
iptables กำลังบล็อกการเชื่อมต่อหรือไม่
iptables มีประโยชน์มากเมื่อคุณต้องการกำหนดค่าตารางไฟร์วอลล์เคอร์เนลของ Linux การควบคุมเต็มรูปแบบที่ช่วยให้คุณรับส่งข้อมูลที่เข้าและออกจากคอมพิวเตอร์ของคุณนั้นยอดเยี่ยม
แต่ด้วยความผิดพลาดในการกำหนดค่าอย่างง่าย iptables สามารถบล็อกการเชื่อมต่อกับพอร์ตที่คุณต้องการเข้าถึงและก่อให้เกิดข้อผิดพลาด 'No Route to Host'
หากต้องการตรวจสอบว่า iptables ถูกตำหนิหรือไม่ ให้รันคำสั่งต่อไปนี้:
sudo iptables -S
ดูว่ากฎ iptables ที่คุณตั้งไว้บล็อกการเชื่อมต่อหรือไม่ คุณอาจต้องเพิ่มกฎการยอมรับให้กับห่วงโซ่ INPUT เริ่มต้น
หากต้องการล้างกฎไฟร์วอลล์สำหรับไฟร์วอลล์ภายนอก คุณสามารถใช้คำสั่งนี้:
iptables -F
ปิดความคิด
อย่างที่คุณเห็น อาจใช้เวลาสักครู่กว่าจะถึงจุดต่ำสุดของข้อผิดพลาด 'ไม่มีเส้นทางไปยังโฮสต์' แต่ขั้นตอนข้างต้นจะช่วยคุณได้ แม้ว่าอาจดูเหมือนปัญหาที่ซับซ้อน แต่บ่อยครั้งเป็นผลมาจากการกำหนดค่าที่ขัดแย้งกันหรือปัญหาเครือข่ายทั่วไป
คุณพบสาเหตุที่เป็นไปได้อื่น ๆ และการแก้ไขข้อผิดพลาดนี้หรือไม่? ส่งความคิดเห็นถึงเราและบอกเราเกี่ยวกับเรื่องนี้
เรื่องน่ารู้เกี่ยวกับพรหมลิขิต2