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