τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Η χαρτογράφηση θυρών, γνωστή και ως Port Forwarding, είναι μια τεχνολογία που ανακατευθύνει τη ροή δεδομένων από μια θύρα δικτύου σε μια άλλη θύρα δικτύου. Αυτό χρησιμοποιείται συνήθως για υπηρεσίες που εκτελούνται πίσω από ένα τείχος προστασίας ή δρομολογητή, επιτρέποντας σε εξωτερικές συσκευές να έχουν πρόσβαση σε συγκεκριμένες υπηρεσίες εντός του εσωτερικού δικτύου. Η χαρτογράφηση θυρών μπορεί να γίνει εντός του τοπικού δικτύου ή μεταξύ δικτύων, χρησιμοποιώντας πρωτόκολλα όπως το SSH.
Τοπική Λιμενική Προώθηση:
8080
αντιστοιχισμένο σε απομακρυσμένο διακομιστή80
λιμάνι ώστε να μπορεί να περάσει τοπικάlocalhost:8080
Πρόσβαση στην υπηρεσία web του απομακρυσμένου διακομιστή.Remote Port Forwarding:
2222
Αντιστοίχιση θύρας στον τοπικό υπολογιστή22
θύρα έτσι ώστε η υπηρεσία SSH του τοπικού υπολογιστή να είναι προσβάσιμη μέσω του απομακρυσμένου διακομιστή.Dynamic Port Forwarding:
Απομακρυσμένη πρόσβαση σε εσωτερικές υπηρεσίες: Μέσω της χαρτογράφησης θυρών, συγκεκριμένες υπηρεσίες εντός της εταιρείας ή του οικιακού δικτύου είναι προσβάσιμες από το εξωτερικό δίκτυο, όπως διακομιστές ιστού, διακομιστές βάσεων δεδομένων κ.λπ.
Διείσδυση τείχους προστασίας: Μέσω της αντιστοίχισης θυρών, μπορείτε να παρακάμψετε τους περιορισμούς του τείχους προστασίας και να αποκτήσετε πρόσβαση σε υπηρεσίες που έχουν αποκλειστεί από το τείχος προστασίας.
Βελτιώστε την ασφάλεια: Η χαρτογράφηση θυρών μέσω της σήραγγας SSH μπορεί να κρυπτογραφήσει τη μετάδοση δεδομένων και να βελτιώσει την ασφάλεια.
Εξισορρόπηση φορτίου και διακομιστές μεσολάβησης: Οι συσκευές εξισορρόπησης φορτίου και οι διακομιστές μεσολάβησης χρησιμοποιούν συχνά τεχνολογία χαρτογράφησης θυρών για τη διανομή και προώθηση της κυκλοφορίας για τη βελτίωση της αξιοπιστίας και της απόδοσης της υπηρεσίας.
Ας υποθέσουμε ότι υπάρχει μια υπηρεσία web που εκτελείται σε έναν απομακρυσμένο διακομιστή και η θύρα στην οποία ακούει είναι80
. Για να αποκτήσετε πρόσβαση σε αυτήν την υπηρεσία από τον τοπικό σας υπολογιστή, δημιουργήστε μια αντιστοίχιση τοπικής θύρας χρησιμοποιώντας την ακόλουθη εντολή SSH:
ssh -L 8080:localhost:80 user@remote-server
Αυτή η εντολή θα αλλάξει τον τοπικό υπολογιστή8080
Αντιστοίχιση θύρας σε απομακρυσμένο διακομιστή80
Λιμάνι.Τώρα, αποκτήστε πρόσβαση στο τοπικό σας πρόγραμμα περιήγησηςhttp://localhost:8080
, που ισοδυναμεί με την πρόσβαση στην υπηρεσία Web του απομακρυσμένου διακομιστή.
Υπάρχουν διάφοροι κύριοι λόγοι για να κάνετε χαρτογράφηση θυρών (ή προώθηση θυρών) κατά την ανάπτυξη:
Πρόσβαση σε προστατευμένες υπηρεσίες: Ορισμένες υπηρεσίες στο μηχάνημα ανάπτυξης ενδέχεται να ακούνε μόνο στο localhost (127.0.0.1
) και δεν είναι δυνατή η απευθείας πρόσβαση από το εξωτερικό. Μέσω της χαρτογράφησης λιμένων, αυτές οι υπηρεσίες μπορούν να εκτεθούν και να γίνουν προσβάσιμες από το εξωτερικό.
ασφάλεια : Η προώθηση θύρας μέσω της σήραγγας SSH επιτρέπει την ασφαλή πρόσβαση σε εσωτερικές υπηρεσίες χωρίς άμεση έκθεση της υπηρεσίας. Η σήραγγα SSH κρυπτογραφεί τη μετάδοση δεδομένων για πρόσθετη ασφάλεια.
Εύκολο στον εντοπισμό σφαλμάτων : Κατά τη διαδικασία ανάπτυξης, οι προγραμματιστές μπορεί να χρειαστεί να έχουν πρόσβαση σε πολλές υπηρεσίες που εκτελούνται στη μηχανή ανάπτυξης. Με τη χαρτογράφηση θυρών, αυτές οι υπηρεσίες είναι προσβάσιμες απευθείας από το τοπικό χωρίς να χρειάζεται να συνδέεστε στο μηχάνημα ανάπτυξης κάθε φορά.
Παράκαμψη περιορισμών τείχους προστασίας ή δικτύου : Σε ορισμένα περιβάλλοντα δικτύου, ενδέχεται να υπάρχουν τείχη προστασίας ή περιορισμοί δικτύου που εμποδίζουν την άμεση πρόσβαση σε υπηρεσίες στη μηχανή ανάπτυξης. Μέσω του SSH tunneling, αυτοί οι περιορισμοί μπορούν να παρακαμφθούν και να επιτευχθεί πρόσβαση σε υπηρεσίες.
Πρόσβαση πολλαπλών χρηστών: Εάν πολλοί προγραμματιστές πρέπει να έχουν πρόσβαση στην ίδια υπηρεσία, η αντιστοίχιση θυρών επιτρέπει σε κάθε προγραμματιστή να έχει πρόσβαση στην υπηρεσία στο δικό του τοπικό περιβάλλον χωρίς να συνδέεται απευθείας στο μηχάνημα ανάπτυξης.
για παράδειγμα:
Ας υποθέσουμε ότι έχετε έναν διακομιστή φορητού υπολογιστή Jupyter που εκτελείται στο μηχάνημα ανάπτυξης που ακούει στη θύρα 7860 αλλά επιτρέπει μόνο τοπική πρόσβαση. Μέσω της ακόλουθης εντολής SSH, μπορείτε να αντιστοιχίσετε τη θύρα 7860 της μηχανής ανάπτυξης στην τοπική σας θύρα 7860:
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Με αυτόν τον τρόπο, μπορείτε να έχετε πρόσβαση στο τοπικό πρόγραμμα περιήγησής σας http://127.0.0.1:7860
για να προβάλετε και να χρησιμοποιήσετε τον διακομιστή Notebook Jupyter στο μηχάνημα ανάπτυξης.
Η μηχανή ανάπτυξης έχει τη δική τηςεκτεθειμένο λιμάνικαιΔημόσια IP, μπορεί να χρησιμοποιηθεί για την τοπική μας σύνδεση ssh
Αλλά στη μηχανή ανάπτυξης, δηλαδή στον διακομιστήΕκτέλεση προγράμματοςΌταν, το πρόγραμμά του είναι στον διακομιστήσε ένα συγκεκριμένο λιμάνιΣε εξέλιξη
Έτσι, αν θέλουμε να δούμε το αποτέλεσμα λειτουργίας του προγράμματος στον διακομιστή τοπικά, πρέπει να δημιουργήσουμεΧαρτογράφηση λιμένων, όταν το πρόγραμμα περιήγησης ανοίξει την τοπική θύρα, προωθήστε τη στη θύρα του διακομιστή για προβολή.
ssh -p 37367 [email protected] -CNg -L {本地机器_PORT}:127.0.0.1:{开发机_PORT} -o StrictHostKeyChecking=no
Για παράδειγμα:
ssh -p 37367 [email protected] -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyChecking=no
Αυτή η εντολή χρησιμοποιείται για τη δημιουργία ενός τούνελ SSH. Παρακάτω ακολουθεί μια λεπτομερής επεξήγηση για κάθε μέρος:
ssh
: Εντολή που χρησιμοποιείται για την εκκίνηση μιας σύνδεσης SSH.-p 37367
: Καθορίστε τον αριθμό θύρας του απομακρυσμένου κεντρικού υπολογιστή στον οποίο θα συνδεθείτε (θύρα 37367 σε αυτό το παράδειγμα).[email protected]
: Όνομα χρήστη (root) και όνομα κεντρικού υπολογιστή (ssh.intern-ai.org.cn).-CNg
: Συνδυασμός επιλογών: -C
: Ενεργοποίηση συμπίεσης.-N
: Πείτε στο SSH να μην εκτελεί απομακρυσμένες εντολές, μόνο προώθηση θύρας.-g
: Επιτρέψτε στους απομακρυσμένους κεντρικούς υπολογιστές να συνδεθούν στη θύρα προώθησης.-L 7860:127.0.0.1:7860
: Εκτελέστε προώθηση τοπικής θύρας και αντιστοιχίστε τη θύρα 7860 του τοπικού μηχανήματος στη θύρα 7860 του 127.0.0.1 του απομακρυσμένου κεντρικού υπολογιστή.-o StrictHostKeyChecking=no
: Απενεργοποιήστε τον έλεγχο του κλειδιού κεντρικού υπολογιστή, ο οποίος αποτρέπει τα διαδραστικά μηνύματα κατά τη σύνδεση για πρώτη φορά.Συνοπτικά, αυτή η εντολή θα δημιουργήσει μια σήραγγα SSH μεταξύ του τοπικού μηχανήματος και του απομακρυσμένου κεντρικού υπολογιστή, θα προωθήσει την τοπική θύρα 7860 στη θύρα 7860 του απομακρυσμένου κεντρικού υπολογιστή και δεν θα εκτελέσει απομακρυσμένες εντολές ούτε θα ελέγξει το κλειδί κεντρικού υπολογιστή.
Οπως φαίνεται παρακάτω:
Μετά την αντιστοίχιση θυρών, εμφανίζεται το πρόγραμμα που εκτελείται στη θύρα 7860 του διακομιστή.