Linux

Απομακρυσμένη σύνδεση (Linux)

09/11/2010 01:20 μμ | chex από chex


Η απομακρυσμένη σύνδεση λοιπόν δυο υπολογιστών ήταν απλό τελικά. Τόσο σε Local Network όσο και ευρυζωνικό. Αν και το τι προβλήματα μπορεί να εμφανιστούν σε θέματα δικτύωσης εξαρτάται από πολλά, ακολουθεί ένα μικρό howto.

 

__TOC__

 

 

 

Ενεργοποίηση Remote Desktop

Φυσικά στο Fedora ενεργοποίησα το Remote Desktop (system>preferences>remote desktop)

 

Οι Επιλογές μου φαίνονται στην παρακάτω εικόνα

 

RemoteDesktopPrefEdited.png

 

 

 

Port Forward

Στο router (της On telecoms) τώρα έπρεπε να ανοίξω πόρτα για το ssh αφού μετά από ένα απλό scan βρήκα οτι η On έχει κλειστή την θύρα 22 για το συγκεκριμένο πρωτόκολλο και στο λογισμικό του router δεν βρήκα μια επιλογή να την ανοίξω.

 

Η διαδρομή είναι ΝΑΤ>Virtual Server

 

στο Lan IP Address > ip του τοπικού μηχανήματος.

 

protocol type > tcp

lan port > 22

public port > xxxx

enable >

push button

 

 

 

Εξωτερική IP

Μετά από αυτά, το router πρέπει να είναι έτοιμο. Κάτι άλλο που θα χρειαστούμε είναι η εξωτερική ip του router. Πώς αλλιώς θα καλέσουμε το μηχάνημα από κάποιο άλλο δίκτυο ;

 

Υπάρχουν πολλά site που θα σου δώσουν την ip όπως το ipchicken.com. Μέχρι τώρα έχουμε την διεύθυνση, για να καλέσουμε τον υπολογιστή και έχουμε την "θύρα" του ανοιχτή, για να "μπούμε μέσα". Ουσιαστικά μένει μόνο ο "γνωστός" του server.

 

 

 

Ρύθμιση Putty

Οι "γνωστοί" θα είναι προγράμματα όπως το PuTTy ή το vncviewer. Το putty είναι ένα terminal emulator εργαλείο που μας επιτρέπει την σύνδεση μέσω διαφόρων πρωτόκολλων και το vncviewer είναι επίσης ένα προγραμματάκι κονσόλας για desktop sharing από τη μεριά του client για δίκτυά με το πρωτόκολλο VNC.

 

Τα κατεβάζουμε. Λογικά υπάρχουν σε όλα τα repos. Και ανοίγουμε το PuTTy. Η διαδικασία με το PuTTy είναι πολύ εύκολη.

 

Στο Host Name (or IP address) θα δώσουμε την εξωτερική ip, αυτή του router και δίπλα στο Textfield του port θα γράψουμε την public port που δώσαμε. Κανονικά αν όλα πάνε καλά βλέπουμε αμέσως μια κονσόλα να μας ζητάει user name και password για τον υπολογιστή που συνδεόμαστε.

 

Σε περίπτωση που λάβουμε κάποιο error κάτι δεν πήγε καλά. Αν το σφάλμα είναι connection refused, τα πακέτα φτάνουν στο server άλλα για κάποιο λόγο αυτός δεν ανταποκρίνεται. Ίσως φταίει οτι δεν βρίσκει θύρα ανοιχτή ή κάποιο firewall στο router.

 

Αν το σφάλμα είναι No host to route, τα πακέτα δεν βρίσκουν καθόλου την διεύθυνση που του ορίσαμε όποτε 1ον κοιτάμε αν είναι σωστή η διεύθυνση που δώσαμε, 2ον αν δώσαμε σωστά τη διεύθυνση στο πρόγραμμα, 3ον αν ο server είναι online κτλ

 

 

 

Vncviewer

Mε vncviewer καταρχάς δοκίμασα να συνδεθώ local.

 

vncviewer -fullscreen joni.local

 

Αφού έδωσα το password που είχα ορίσει νωρίτερα στον host στο παράθυρο του Remote Desktop Preferences. αμέσως μου άνοιξε screen σε πλήρη προβολή με μια μικρή αλλά διακριτή καθυστέρηση στο refresh των frames. Άλλα όλα οκ.

 

Όταν μπήκα σε ξένο δίκτυο και προσπάθησα να συνδεθώ δίνοντας την εξωτερική διεύθυνση, πήρα το εξής μήνυμα:

 

vncviewer: ConnectToTcpAddr: connect: No route to host Unable to connect to VNC server

 

Δεν ξέρω ακριβώς τί σημαίνει αυτό αλλά ουσιαστικά όταν επιλέγουμε να ενεργοποιήσουμε το remote desktop, ελέγχεται η συνδεσιμότητα και σε ενα πλαίσιο σου δίνει την ip ή ένα domain του τυπου .local .

 

Το δεύτερο χρησιμοποιείται μόνο για το local network. Αν στην ip σου επιστρέψει την ip του υπολογιστή, δεν μπορείς να το καλέσεις από αλλού. Απλά ανανεώνεις αυτή την επιλογή για να σου δώσει την external ip. Κυρίως όμως θα πρέπει να απενεργοποιήσουμε ή να σετάρουμε το iptables του server (/etc/init.d/iptables stop).

 

Πρακτικά αυτά είναι πολύ βασικά για την σύνδεση μας. Το PuTTy έχει πολλές επιλογές για παραμέτρους και για αυτόματη σύνδεση. Μπορούμε επίσης να χρησιμοποιήσουμε υπηρεσίες για να δώσουμε domain name και να καλούμε τον υπολογιστή.

 

No-ip.com και dyndns.org παρέχουν δωρεάν τις υπηρεσίες τους. Αυτό που θέλω να πω είναι ότι αυτά που μπορούμε να κάνουμε είναι πάρα πολλά. Επίσης δεν δοκίμασα απομακρυσμένη σύνδεση από κάποιο λειτουργικό της Microsoft, κάτι όμως που δεν νομίζω πως θα είχε κάποιο ιδιαίτερο πρόβλημα.