Πώς θα δώσετε διαδίκτυο μέσω VPN σε άλλο κόμβο (με πρωτόκολλο SSH)

Από AWMN-WiKi

Μετάβαση σε:πλοήγηση, αναζήτηση

Ας υποθέσουμε πως είστε ιδιοκτήτες δύο κόμβων I και N και θέλετε να μεταφέρετε τη σύνδεση στο διαδίκτυο που έχει ο κόμβος I στον N που δεν έχει.

Αν οι κόμβοι σας τρέχουν λίνουξ/OpenWRT και έχουν εγκατεστημένα τα πακέτα για τα πρωτόκολλα PPP (πχ. ppp) και SSH (πχ. openssh-client και openssh-server ή dropbear), τότε αυτό μπορεί να γίνει ως εξής:

- δημιουργήστε ένα ψηφιακό κλειδί nodeI.key για τον υπερχρήστη στον κόμβο I, πχ:

 nodeN% ssh-keygen -t rsa -b 1024 -N  -C root@nodeI -f /path/to/nodeI.key

- ενημερώστε τον κόμβο Ι να δέχεται το κλειδί που μόλις φτιάξατε ως έγκυρο:

 nodeN% ssh root@nodeI.awmn 'tee -a $HOME/.ssh/authorized_keys >/dev/null' \
 < /path/to/nodeI.key.pub

- δοκιμάστε το νέο κλειδί για να συνδεθείτε μέσω SSH από τον N στον Ι:

 nodeN% ssh -i /path/to/nodeI.key root@nodeI.awmn echo 'It works!'

- τρέξτε (ως υπερχρήστης) στον κόμβο N τις εντολές

 nodeN# route del default
 nodeN# pppd noauth nodeflate debug defaultroute pty \
        "ssh -T -i /path/to/nodeI.key root@nodeI.awmn \
            /usr/sbin/pppd nodeflate notty noauth 10.10.100.125:10.10.100.126"

όπου 10.10.100.0/24 είναι το υποδίκτυο που σας έχει αποδοθεί για κάποιον από τους δύο κόμβους σας (υποθέτοντας πως το υποδίκτυο 10.10.100.124/30 δεν χρησιμοποιείται ήδη για άλλο σκοπό).

Αν το κλειδί που δημιουργήσατε είναι κρυπτογραφημένο με κάποιο συνθηματικό, αυτό θα σας ζητηθεί. Εισάγετέ το και είστε έτοιμοι. Ελέγξτε το αποτέλεσμα της όλης προσπάθειας με τις παρακάτω εντολές στον κόμβο N:

 nodeN% ping -n -c 3 www.awmn.net
 nodeN% traceroute -n www.awmn.net

Αν όλα πήγαν καλά θα δείτε την κίνηση προς το διαδίκτυο από τον N να περνάει στον I μέσω της ασφαλούς σήραγγας 10.10.100.126 --> 10.10.100.125 που μόλις φτιάξατε.