Πώς να διορθώσετε σφάλμα σύνδεσης "Δεν υπάρχει διαδρομή προς φιλοξενία" στο Linux
Όταν προσπαθείτε να συνδεθείτε σε μια υπηρεσία στο Linux, το "No route to host" είναι ένα από τα τελευταία πράγματα που θέλετε να ακούσετε. Είναι ένα ευρύ μήνυμα που σημαίνει ότι ο υπολογιστής σας δεν μπορεί να φτάσει στο διακομιστή προορισμού.
Λόγω της ευρείας φύσης του μηνύματος υπάρχουν πολλές δυνατότητες που θα μπορούσαν να το προκαλέσουν.
Ο κεντρικός υπολογιστής είναι εκτός σύνδεσης / η υπηρεσία δεν εκτελείται
Μπορεί να φαίνεται οδυνηρά προφανής, αλλά θα πρέπει πρώτα να ελέγξετε ότι ο διακομιστής με τον οποίο προσπαθείτε να συνδεθείτε είναι ακόμα συνδεδεμένος. Μπορεί να έχει αφαιρεθεί για συντήρηση ή να αντιμετωπίσει προβλήματα.
Η ίδια η υπηρεσία ίσως να μην έχει ξεκινήσει. Εάν είναι ο διακομιστής σας, μπορείτε να ελέγξετε εάν η υπηρεσία έχει ξεκινήσει και λειτουργεί σωστά. Για να το κάνετε αυτό με το Systemd, εκτελέστε την ακόλουθη εντολή.
sudo systemctl status servicename
Λάθος Λιμάνι
Μπορεί να προσπαθείτε να συνδεθείτε σε εσφαλμένη θύρα. Πολλοί διαχειριστές συστήματος επιλέγουν να εκτελούν συνήθως στοχοθετημένες υπηρεσίες όπως SSH σε διαφορετικούς λιμένες για να βοηθήσουν να αποτρέψουν τους επιτιθέμενους επιτιθέμενους.
Αν ο διακομιστής δεν είναι δικός σας, ελέγξτε την διαθέσιμη τεκμηρίωση ή επικοινωνήστε με τις υπηρεσίες υποστήριξης.
Για το δικό σας διακομιστή, μπορείτε να δοκιμάσετε να χρησιμοποιήσετε το NMAP για να υπολογίσετε από πού ξεκίνησε η υπηρεσία σας.
sudo nmap -sS your.server.ip
Αν νομίζετε ότι χρησιμοποιήσατε μια πολύ συγκεχυμένη θύρα, μπορείτε να χρησιμοποιήσετε τη σημαία -p-
για να τα σαρώσετε όλα. Θα χρειαστεί λίγο.
Το Iptables αποκλείει τη σύνδεση
Μπορεί να έχετε ρυθμίσει κατά λάθος τα iptables για να αποκλείσετε τις συνδέσεις σε αυτή τη θύρα. Θα λάβατε το ίδιο μήνυμα αν έχετε ρυθμίσει το iptables στον διακομιστή ή στην επιφάνεια εργασίας σας, οπότε αξίζει τον έλεγχο και των δύο. Για να δείτε τους κανόνες iptables, εκτελέστε την ακόλουθη εντολή.
sudo iptables -S
Το DNS σας δεν είναι σωστά ρυθμισμένο
Εάν όλα τα υπόλοιπα αποτύχουν, θα πρέπει να προσπαθήσετε να κάνετε ping
τη διεύθυνση IP στην οποία θέλετε να συνδεθείτε. Ίσως ο υπολογιστής σας να μην συνδέεται σωστά με έναν διακομιστή DNS.
ping -c3 your.server.ip
Εάν το ping λειτουργεί αλλά συνδέοντας ένα όνομα τομέα, δεν εξετάζετε ένα ζήτημα DNS.
Οι συστηματικοί χρήστες μπορούν να τρέξουν το systemd-resolve --status
για να ελέγξουν τους διακομιστές DNS που χρησιμοποιεί το σύστημά σας. Είναι κατανεμημένο με διεπαφή, οπότε βεβαιωθείτε ότι έχετε ελέγξει αυτό που πραγματικά προσπαθείτε να συνδεθείτε.
Στις περισσότερες περιπτώσεις, ο υπολογιστής σας θα ανακαλύψει τις σχετικές πληροφορίες DNS μέσω DHCP. Εάν χρησιμοποιείτε μια στατική διεύθυνση IP ή κάτι στο δίκτυο σας έχει ρυθμιστεί διαφορετικά, ίσως χρειαστεί να ρυθμίσετε το DNS σας με μη αυτόματο τρόπο.
Ανοίξτε το αρχείο "/etc/systemd/resolved.conf". Σε αυτό το αρχείο, αποσυνδέστε τη γραμμή DNS
και προσθέστε είτε την IP του δρομολογητή σας είτε έναν άλλο γνωστό διακομιστή DNS. Το προεπιλεγμένο εναλλακτικό DNS για το Systemd είναι οι διακομιστές DNS της Google που παρατίθενται στο FallbackDNS
.
DNS = 192.168.1.1
Εάν χρησιμοποιείτε OpenRC ή άλλη εναλλακτική λύση Systemd, μπορείτε να βρείτε τις πληροφορίες DNS στο "/etc/resolv.conf".
nameserver 192.168.1.1
Εάν δεν υπάρχει τίποτα εκεί, εισάγετε στη διεύθυνση IP του δρομολογητή σας ή σε οποιοδήποτε άλλο γνωστό διακομιστή DNS που προτιμάτε να χρησιμοποιήσετε.
Μετά από αυτές, επανεκκινήστε τη δικτύωση ή ολόκληρο τον υπολογιστή σας.
Ο τρόπος GUI
Εάν χρησιμοποιείτε γραφική επιφάνεια εργασίας με το Network Manager, μπορείτε να επεξεργαστείτε τις πληροφορίες σύνδεσης με αυτόν τον τρόπο. Ανοίξτε τη μικροεφαρμογή ή μεταβείτε στις ρυθμίσεις του συστήματός σας. Επιλέξτε τη σύνδεσή σας και βρείτε την καρτέλα "IPv4". Αλλάξτε τη σύνδεση στο "Μη αυτόματη" και εισάγετε με μη αυτόματο τρόπο τη διεύθυνση IP του υπολογιστή σας και την IP του δρομολογητή σας ως πύλη. Στη συνέχεια, στο παρακάτω πεδίο DNS, εισαγάγετε το IP του δρομολογητή σας ή το IP ενός άλλου διακομιστή DNS.
Λανθασμένη ρύθμιση παραμέτρων δικτύου ή κεντρικού υπολογιστή
Υπάρχουν πολλές άλλες επιλογές διαμόρφωσης που μπορεί να είναι εσφαλμένες. Οποιοδήποτε από αυτά θα καθιστούσε αδύνατη την σύνδεση του υπολογιστή σας με τον διακομιστή.
Καταρχήν, βεβαιωθείτε ότι η διαμόρφωση δικτύου του υπολογιστή σας είναι σωστή. Ελέγξτε διπλά τα αρχεία διαμόρφωσης και, βεβαίως, δείτε εάν μπορείτε να συνδεθείτε στο Internet με άλλο τρόπο.
Εάν χρησιμοποιείτε ένα συγκεκριμένο όνομα κεντρικού υπολογιστή για να συνδεθείτε ή έχετε ρυθμίσει συγκεκριμένους κεντρικούς υπολογιστές είτε στον εξυπηρετητή είτε στον πελάτη, πρέπει να βεβαιωθείτε ότι και τα δύο μηχανήματα μπορούν να συνδεθούν μεταξύ τους. Ελέγξτε τις διαμορφώσεις των "/ etc / hosts", "/etc/hosts.allow" "/etc/hosts.deny."
Τέλος, ελέγξτε τη διαμόρφωση του διακομιστή σας. Κάτι μπορεί να είναι σωστά ρυθμισμένο στο διακομιστή, εμποδίζοντας τους πελάτες να συνδεθούν σωστά.
Παρόλο που η ακριβής αιτία του "Καμία διαδρομή για να φιλοξενήσει" δεν είναι τόσο απλή, μπορείτε να ακολουθήσετε αυτά τα βήματα για να αποκλείσετε τις πιο κοινές αιτίες του σφάλματος και να το διορθώσετε.