Πώς θα δώσετε διαδίκτυο σε άλλο κόμβο (με πρωτόκολλο SSH και PPP)
Από 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 είναι το υποδίκτυο που σας έχει αποδοθεί για τον κόμβο I (υποθέτοντας πως το υποδίκτυο 10.10.100.124/30 δεν χρησιμοποιείται ήδη για άλλο σκοπό). Αν το κλειδί που δημιουργήσατε είναι κρυπτογραφημένο με κάποιο συνθηματικό, αυτό θα σας ζητηθεί.
- υποθέτοντας πως η διεπαφή του κόμβου I για σύνδεση με το διαδίκτυο είναι η eth1, ενημερώστε τον κόμβο I να μασκάρει την κίνηση μεταξύ του κόμβου N και διαδικτύου ως δική του κίνηση:
nodeI# iptables -A POSTROUTING -t nat -o eth1 -s 10.10.100.124/30 -d 0/0 -j MASQUERADE
Ελέγξτε το αποτέλεσμα της όλης προσπάθειας με τις παρακάτω εντολές στον κόμβο N:
nodeN% ping www.awmn.net nodeN% traceroute www.awmn.net
Αν όλα πήγαν καλά θα δείτε την κίνηση προς το διαδίκτυο από τον N να περνάει στον I μέσω της κρυπτογραφημένης σήραγγας 10.10.100.126 --> 10.10.100.125 που μόλις φτιάξατε.

