Πίνακας περιεχομένων:

Raspberry Pi VPN Gateway: 6 βήματα
Raspberry Pi VPN Gateway: 6 βήματα

Βίντεο: Raspberry Pi VPN Gateway: 6 βήματα

Βίντεο: Raspberry Pi VPN Gateway: 6 βήματα
Βίντεο: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Ιούλιος
Anonim
Raspberry Pi VPN Gateway
Raspberry Pi VPN Gateway

Ενημέρωση 2018-01-07:

  • Ενημερώθηκαν τα πράγματα που λείπουν και απαιτούνται αλλαγές για την τρέχουσα έκδοση του Raspian.
  • Δημιουργήθηκε επίσης ένας συγκεκριμένος οδηγός για το NordVPN.

Υπάρχουν μερικές διαφορετικές χρήσεις για το VPN. Είτε θέλετε να προστατεύσετε το απόρρητο και τα προσωπικά σας δεδομένα από τα αδιάκριτα βλέμματα είτε πρέπει να προμηθευτείτε από άλλη χώρα. Η προμήθεια πηγών από άλλη χώρα μπορεί να είναι πολύ χρήσιμη για να αποκτήσετε πρόσβαση σε υπηρεσίες που δεν παρέχονται στη χώρα σας. Υπάρχουν πολλές υπηρεσίες VPN εκεί έξω σήμερα και οι περισσότερες από αυτές προσφέρουν εύχρηστο λογισμικό για τον υπολογιστή σας και εφαρμογές για το tablet ή το τηλέφωνό σας. Αλλά εάν έχετε άλλες συσκευές που δεν υποστηρίζονται από το λογισμικό που θέλετε να μεταβείτε μέσω του VPN; Στη συνέχεια, δημιουργήστε μια πύλη που σας δίνει πρόσβαση στο διαδίκτυο μέσω του VPN.

Αν κοιτάξετε τη βασική ρύθμιση δικτύου, έχετε μια "προεπιλεγμένη πύλη" η οποία χρησιμοποιείται για οποιαδήποτε διεύθυνση IP που δεν βρίσκεται στο τρέχον υποδίκτυο (πολύ απλοποιημένη). Έτσι, εάν ρυθμίσετε μια πύλη που μπορεί να δρομολογήσει την κίνηση στο Διαδίκτυο μέσω μιας καθιερωμένης σύνδεσης VPN, οποιαδήποτε συσκευή με δυνατότητα δικτύου μπορεί να επωφεληθεί από τη σήραγγα VPN.

Η κύρια περίπτωση χρήσης μου στο διαμέρισμά μου στο Σαν Φρανσίσκο είναι μια σήραγγα VPN προς τη γενέτειρά μου τη Σουηδία, ώστε να μπορώ να μεταδίδω σουηδικά κανάλια αναπαραγωγής στις συσκευές αναπαραγωγής πολυμέσων και στην έξυπνη τηλεόραση. Αυτή είναι μια αρκετά συνηθισμένη περίπτωση χρήσης για τους περισσότερους ανθρώπους που χρειάζονται σήραγγα VPN. Δεδομένου ότι τα προγράμματα αναπαραγωγής πολυμέσων και οι έξυπνες τηλεοράσεις μου δεν υποστηρίζονται από το λογισμικό VPN, δημιούργησα ένα από ένα Raspberry Pi.

Μπορείτε να πάρετε ένα για κάτω από $ 40 στο Amazon. Συνιστώ ωστόσο να αγοράσετε επίσης θήκη και αξιοπρεπή προσαρμογέα ρεύματος. Για αυτό το διδακτικό χρειάζεστε:

  • Raspberry Pi 2 ή 3
  • Μια περίπτωση της αρεσκείας σας
  • Ένας αξιοπρεπής προσαρμογέας ρεύματος
  • Καλώδιο δικτύου

Βήμα 1: Επιλέγοντας την υπηρεσία VPN σας

Επιλέγοντας την υπηρεσία VPN σας
Επιλέγοντας την υπηρεσία VPN σας

Το σημαντικό πράγμα κατά την επιλογή μιας υπηρεσίας VPN είναι ότι πληροί τις απαιτήσεις σας. Για αυτήν την περίπτωση χρήσης χρειάστηκα μια υπηρεσία VPN με σουηδικό σημείο εξόδου, αυτό είναι το πιο σημαντικό πράγμα αφού χρειάζομαι τις σουηδικές υπηρεσίες για να πειστώ ότι βρίσκομαι στη Σουηδία. Με τα χρόνια έχω χρησιμοποιήσει διάφορους προμηθευτές και παρακάτω είναι τα πράγματα που λαμβάνω υπόψη κατά την επιλογή του προμηθευτή VPN για τη συγκεκριμένη περίπτωση χρήσης:

Δωρεάν δοκιμή

Θέλω μια δωρεάν περίοδο δοκιμής ή μια μικρή ποσότητα δεδομένων δοκιμής για να έχω μια αίσθηση για το λογισμικό ή την εφαρμογή. Επίσης, θέλω να δοκιμάσω την απόδοση και τη συνολική εμπειρία πριν το πληρώσω. Είναι επίσης ωραίο να ελέγξω ότι η ιδέα μου θα λειτουργήσει πριν αρχίσω να πληρώνω.

Μυστικότητα

Εάν η εφαρμογή αφορά ανησυχίες σχετικά με το απόρρητο, τότε είναι πραγματικά σημαντικό τι δηλώνει η πολιτική απορρήτου. Είναι επίσης σημαντικό από ποια χώρα δραστηριοποιείται η εταιρεία και ποιοι νόμοι προστατεύουν το απόρρητό σας. Οι χρήστες που αφορούν πραγματικά το απόρρητο θα πρέπει να δουν μια υπηρεσία που δηλώνει ότι δεν αποθηκεύονται αρχεία καταγραφής επισκεψιμότητας και να επιτρέπουν ανώνυμες πληρωμές μέσω Bitcoin, για παράδειγμα.

Επιτρεπόμενη κίνηση

Ενδέχεται να υπάρχουν περιορισμοί σχετικά με τον τύπο επισκεψιμότητας που θα επιτρέπεται να εκτελέσετε. Οι πιο σοβαροί προμηθευτές συνήθως εμποδίζουν την ομότιμη επισκεψιμότητα. Αυτό γίνεται όχι μόνο για την αποφυγή νομικών ζητημάτων, αλλά για τη διατήρηση της απόδοσης για όλους τους χρήστες. Υπάρχουν πολλοί καλοί προμηθευτές εκεί έξω που επιτρέπουν peer-to-peer και εξακολουθούν να παρέχουν υπηρεσίες υψηλής ποιότητας. Αλλά αν αυτό δεν είναι η κύρια ανάκτησή σας, προτείνω να επιλέξετε μια υπηρεσία που δεν επιτρέπει ομότιμη.

Όριο δεδομένων

Ποτέ μην χρησιμοποιείτε μια υπηρεσία που διατηρεί ένα όριο δεδομένων έναντι των χρηστών που πληρώνουν. Αυτό θα τελειώσει τη χειρότερη δυνατή στιγμή ακριβώς όπως τα δεδομένα στο τηλέφωνό σας λίγο πριν το αστείο μέρος σε ένα βίντεο κλιπ!

Έξοδος από χώρες

Ανάλογα με την περίπτωση χρήσης, αυτό έχει διαφορετική σημασία. Για μια περίπτωση χρήσης όπως η δική μου, όπου πρέπει να καταλήξω σε μια συγκεκριμένη χώρα, φυσικά αυτό πρέπει να είναι στη λίστα. Πρέπει επίσης να μου επιτραπεί να επιλέξω σε ποια χώρα εξέρχομαι. Υπάρχουν υπηρεσίες στις οποίες δεν μπορείτε να επιλέξετε χώρα εξόδου, μείνετε μακριά από αυτές. Μπορείτε να καταλήξετε σε μια χώρα με κακή απόδοση ή νόμους περί απορρήτου. Ακόμα κι αν δεν χρειάζεστε μια συγκεκριμένη χώρα, θα πρέπει να επιλέξετε μια υπηρεσία με μερικές διαφορετικές χώρες για να εμφανιστείτε για να μπορείτε να βρείτε μια με καλή απόδοση.

Τύπος λογισμικού και υποστήριξη

Αυτός είναι ένας από τους κύριους λόγους για τους οποίους προτιμώ υπηρεσίες με δωρεάν δοκιμή. Υπάρχουν τόσοι πολλοί πάροχοι με κακό λογισμικό που είναι σφάλματα, ανασφάλεια ή απλά δεν λειτουργούν. Για μια εφαρμογή Raspberry Pi χρειάζομαι έναν πάροχο που υποστηρίζει το OpenVPN.

Η επιλογή μου

Για αυτή την κατασκευή πήγα με το Tunnel Bear. Προσφέρεται δωρεάν δοκιμή έως 500 GB, ώστε να μπορώ να δοκιμάσω ότι θα μπορούσα να κάνω streaming πριν πληρώσω οτιδήποτε. Έχουν έδρα στον Καναδά, ο οποίος, δίπλα στη Σουηδία, έχει μερικούς από τους ισχυρότερους νόμους περί απορρήτου στον κόσμο. Δεν υπάρχει ανώτατο όριο δεδομένων για πληρωμένη υπηρεσία και επιτρέπεται επίσης να έχω πολλές συσκευές συνδεδεμένες ταυτόχρονα. Έτσι, η προστασία για το τηλέφωνο, το tablet και τον υπολογιστή μου ενώ ταξιδεύω με μη ασφαλές wifi είναι επίσης ταξινομημένη. Ο κόμβος εξόδου στη Σουηδία υποστηρίζεται, στην πραγματικότητα παρέχεται μέσω του Bahnhof, το οποίο είναι γνωστό για την ισχυρή ιδιωτικότητα στη Σουηδία. Για τα σχέδια επί πληρωμή προσφέρουν υποστήριξη OpenVPN. Δεν το κάνουν για τη δωρεάν δοκιμή, αλλά ήταν αρκετό για να το εκτελέσω από το φορητό υπολογιστή μου για να βεβαιωθώ ότι οι υπηρεσίες ροής λειτουργούσαν.

Βήμα 2: Εγκαταστήστε το Raspberry Pi

Για εφαρμογές όπως αυτή χρησιμοποιώ το λειτουργικό σύστημα Raspbian Lite. Αφού δεν έχω καθόλου ανάγκη για GUI. Μπορείτε να λάβετε την τελευταία έκδοση εδώ.

Χρησιμοποιώ το Win32DiskImager για να φορτώσω το αρχείο.img στην κάρτα SD για το Raspberry Pi.

Μόλις ξεκινήσει το Raspberry Pi, ψάχνω στη λίστα DHCP των δρομολογητών μου για να λάβω τη διεύθυνση IP και στη συνέχεια να συνδεθώ μέσω SSH με το Putty. Το τυπικό όνομα χρήστη και κωδικός πρόσβασης είναι pi/raspberry

Μόλις συνδεθώ τρέχω το εργαλείο raspi-config για να αλλάξω τις βασικές ρυθμίσεις.

sudo raspi-config

Τα πιο σημαντικά πράγματα που πρέπει να προσέξετε σε αυτήν τη διαμόρφωση είναι:

  • Επέκταση συστήματος αρχείων
  • Αλλαξε κωδικό

Μπορείτε επίσης να αλλάξετε το όνομα κεντρικού υπολογιστή του Raspberry Pi αν θέλετε. Το DHCP μου έχει πολύ μεγάλες μισθώσεις και μπορώ επίσης να κρατήσω μια συγκεκριμένη διεύθυνση. Εάν δεν έχετε αυτήν τη δυνατότητα, πρέπει να διαμορφώσετε το Raspberry Pi για χρήση στατικής διεύθυνσης IP. Δεδομένου ότι άλλες συσκευές θα το χρησιμοποιήσουν ως προεπιλεγμένη πύλη, είναι σημαντικό να συνεχίσει να χρησιμοποιεί την ίδια διεύθυνση IP. Εδώ είναι μια ανάρτηση που έγραψα σχετικά με τη ρύθμιση μιας στατικής IP στο Raspbian Jessie.

Στη συνέχεια, πρέπει να αναβαθμίσουμε τα πάντα στην πιο πρόσφατη έκδοση:

sudo apt-get updatesudo apt-get upgrade sudo apt-get dist-upgrade

Βήμα 3: Εγκαταστήστε το OpenVPN

Εγκαταστήστε το OpenVPN
Εγκαταστήστε το OpenVPN

Τώρα πρέπει να εγκαταστήσουμε το OpenVPN στο Raspberry Pi.

sudo apt-get install openvpn

Στη συνέχεια, πρέπει να βεβαιωθούμε ότι η υπηρεσία ξεκινά σωστά.

sudo systemctl ενεργοποιήστε το openvpn

Όταν ολοκληρωθεί η εγκατάσταση, πρέπει να αντιγράψουμε τα αρχεία και τα πιστοποιητικά διαμόρφωσης OpenVPN στο πλαίσιο. Αυτό θα σας παρασχεθεί από τον πάροχό σας VPN. Στην περίπτωσή μου, χρησιμοποιώντας το TunnelBear, βρήκα εκεί μια ανάρτηση ιστολογίου σχετικά με την υποστήριξη Linux. Σε αυτή τη σελίδα υπάρχει ένας σύνδεσμος για το αρχείο zip που περιέχει όλα όσα χρειαζόμαστε.

Το αρχείο περιέχει τα αρχεία πιστοποιητικών και ένα αρχείο ρυθμίσεων.opvn για κάθε χώρα στην οποία μπορείτε να μεταβείτε. Χρειάζεστε όλα τα αρχεία πιστοποιητικών και το αρχείο διαμόρφωσης.opvn για τη χώρα της επιλογής σας, στην περίπτωση μου τη Σουηδία. Αποσυμπιέστε τα αρχεία που χρειάζεστε και χρησιμοποιήστε το winscp για να ανεβάσετε τα αρχεία στο Raspberry Pi. Το ίδιο όνομα χρήστη/κωδικός πρόσβασης που χρησιμοποιείται για το SSH θα σας φέρει στο/home/pi, απλώς αφήστε τα αρχεία εκεί.

Στη συνέχεια επιστρέφουμε στο τερματικό SSH και μεταφέρουμε τα αρχεία στον φάκελο OpenVPN. Η πρώτη εντολή είναι να βεβαιωθείτε ότι είμαστε στο φάκελο /home /pi.

cd /home /pi

sudo mv */etc/openvpn/

Τώρα πρέπει να κάνουμε κάποιες τροποποιήσεις στα αρχεία. Πρώτα πρέπει να μετονομάσουμε το αρχείο ρυθμίσεων από.ovpn σε.conf. Κάθε αρχείο που καταλήγει σε.conf στο φάκελο /etc /openvpn θα ξεκινήσει αυτόματα όταν ξεκινήσει ο δαίμονας OpenVPN. Πρώτα πρέπει να μπούμε σε αυτόν τον κατάλογο.

cd /etc /openvpn

Στη συνέχεια, αλλάζουμε το όνομα του αρχείου διαμόρφωσης. Μπορείτε να το ονομάσετε ό, τι θέλετε αρκεί να καταλήξει σε.conf. Προτιμώ να χρησιμοποιώ ονόματα αρχείων χωρίς κενά διαστήματα, σε αυτήν την περίπτωση πηγαίνω με swe.conf.

sudo mv *.ovpn swe.conf

Στη συνέχεια, χρειαζόμαστε ένα αρχείο ελέγχου ταυτότητας που περιέχει το όνομα χρήστη και τον κωδικό πρόσβασης που χρησιμοποιούνται για τη σήραγγα VPN. Ανοίξτε έναν επεξεργαστή κειμένου και γράψτε το όνομα χρήστη και τον κωδικό πρόσβασης σε ξεχωριστές γραμμές. Θα ονομάσουμε αυτό το αρχείο auth.txt.

sudo nano auth.txt

Το περιεχόμενο θα πρέπει να έχει το εξής παράδειγμα:

όνομα χρήστη

Κωδικός πρόσβασης

Στη συνέχεια, χρησιμοποιήστε το CTRL + O για εγγραφή στο αρχείο και το CTRL + X για έξοδο από το πρόγραμμα επεξεργασίας κειμένου nano. Πρέπει επίσης να προστατεύσουμε το αρχείο auth.txt που περιέχει τα διαπιστευτήριά μας.

sudo chmod 600 /etc/openvpn/auth.txt

Στη συνέχεια, πρέπει να επεξεργαζόμαστε το αρχείο ρυθμίσεων για να βεβαιωθούμε ότι όλες οι διαδρομές είναι σωστές και να προσθέσουμε μια αναφορά στο πρόσφατα δημιουργημένο αρχείο auth.txt.

sudo nano swe.conf

Οι γραμμές που πρέπει να αλλάξουν είναι αυτές που αναφέρονται σε άλλα αρχεία, πρέπει να είναι απόλυτες διαδρομές. Σε αυτό το παράδειγμα, αυτό είναι που ψάχνουμε:

ca CACertificate.crt

cert UserCertificate.crt κλειδί PrivateKey.key

Τα αλλάζουμε σε απόλυτα μονοπάτια όπως αυτό:

ca /etc/openvpn/CACertificate.crt

cert /etc/openvpn/UserCertificate.crt κλειδί /etc/openvpn/PrivateKey.key

Στη συνέχεια, στο τέλος του αρχείου προσθέτουμε μια αναφορά στο αρχείο auth.txt, όπως αυτό:

auth-user-pass /etc/openvpn/auth.txt

Για άλλη μια φορά χρησιμοποιούμε CTRL + O για να αποθηκεύσουμε το αρχείο και στη συνέχεια CTRL + X για έξοδο από το nano. Τώρα μπορούμε να επανεκκινήσουμε τον δαίμονα OpenVPN και να δούμε ότι η σήραγγα λειτουργεί.

επανεκκίνηση της υπηρεσίας sudo openvpn

Εάν εκτελέσετε την εντολή ifconfig θα πρέπει να δείτε έναν προσαρμογέα tun0 εκτός από τους προσαρμογείς eth0 και lo εάν η σήραγγα είναι ανοικτή. Μπορείτε επίσης να εκτελέσετε την εντολή αυτής της εντολής για να ελέγξετε τη δημόσια IP σας:

wget https://ipinfo.io/ip -qO -

Εάν αντιμετωπίζετε προβλήματα με τη σήραγγα, δοκιμάστε πρώτα να κάνετε επανεκκίνηση του Raspberry Pi και, στη συνέχεια, ελέγξτε ξανά τη διαμόρφωση για σφάλματα.

Βήμα 4: Ρύθμιση δρομολόγησης

Τώρα πρέπει να ενεργοποιήσουμε την προώθηση IP. Επιτρέπει στην κυκλοφορία του δικτύου να ρέει από τη μία διεπαφή δικτύου και να βγαίνει από την άλλη. Ουσιαστικά η δημιουργία ενός δρομολογητή.

sudo /bin /su -c "echo -e '\ n#Enable IP Routing / nnet.ipv4.ip_forward = 1'> /etc/sysctl.conf"

Εάν εκτελείτε το sudo sysctl -p θα πρέπει να το δείτε τυπωμένο στην οθόνη:

net.ipv4.ip_forward = 1

Τώρα η δρομολόγηση είναι ενεργοποιημένη και η κυκλοφορία μπορεί να περάσει μέσω του Raspberry Pi, μέσω της σήραγγας και μέσω διαδικτύου.

Βήμα 5: Ρύθμιση τείχους προστασίας και NAT

Δεδομένου ότι θα έχουμε αρκετούς πελάτες στο εσωτερικό που έχουν πρόσβαση στο διαδίκτυο μέσω μιας δημόσιας διεύθυνσης IP, πρέπει να χρησιμοποιήσουμε το NAT. Αντιπροσωπεύει τη μετάφραση διευθύνσεων δικτύου και θα παρακολουθεί ποιος πελάτης ζήτησε ποια κίνηση όταν οι πληροφορίες επιστρέψουν στη σήραγγα. Πρέπει επίσης να δημιουργήσουμε κάποια ασφάλεια γύρω από το Raspberry Pi αυτό και τη σήραγγα.

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Ενεργοποίηση NAT.

sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

Επιτρέποντας κάθε κίνηση από το eth0 (εσωτερικό) να υπερβαίνει το tun0 (σήραγγα).

sudo iptables -A FORWARD -i tun0 -o eth0 -m state -state ΣΧΕΤΙΖΕΤΑΙ, ΕΓΚΑΤΑΣΤΑΣΗ -j ΑΠΟΔΟΧΗ

Επιτρέποντας την επιστροφή από το tun0 (σήραγγα) να επιστρέψει πάνω από το eth0 (εσωτερικό). Δεδομένου ότι καθορίζουμε την κατάσταση ΣΧΕΤΙΖΟΜΕΝΑ, ΔΗΜΙΟΥΡΓΗΘΕΤΑΙ θα περιοριστεί στη σύνδεση που ξεκίνησε από το εσωτερικό δίκτυο. Αποκλεισμός εξωτερικής επισκεψιμότητας προσπαθώντας να ξεκινήσει μια νέα σύνδεση.

sudo iptables -A ΕΙΣΟΔΟΣ -i lo -j ΑΠΟΔΟΧΗ

Επιτρέποντας την κίνηση loopback του Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p icmp -j ACCEPT

Επιτρέποντας στους υπολογιστές του τοπικού δικτύου να κάνουν ping στο Raspberry Pi.

sudo iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

Επιτρέπεται η SSH από το εσωτερικό δίκτυο.

sudo iptables -Α ΕΙΣΟΔΟΣ -m κατάσταση -κράτος ΕΓΚΑΤΑΣΤΑΣΗ, ΣΧΕΤΙΖΟΜΕΝΑ -j ΑΠΟΔΟΧΗ

Επιτρέπει την επιστροφή όλης της κίνησης που ξεκίνησε από το Raspberry Pi. Αυτό είναι το ίδιο βασικό κράτος με παλαιότερα.

sudo iptables -P FORWARD DROP

sudo iptables -P INPUT DROP sudo iptables -L

Εάν η επισκεψιμότητα δεν ταιριάζει με κανέναν από τους καθορισμένους κανόνες, θα αφαιρεθεί.

sudo apt-get install iptables-persistent

sudo systemctl ενεργοποιήστε το netfilter-persistent

Η πρώτη γραμμή εγκαθιστά μια ειρήνη κώδικα που καθιστά τους κανόνες iptable που μόλις δημιουργήσαμε μεταξύ των επανεκκινήσεων. Το δεύτερο αποθηκεύει τους κανόνες αφού τους αλλάξατε. Αυτή τη φορά αρκεί να τρέξει το πρώτο. Εάν αλλάξετε τους κανόνες εκτελέστε τον δεύτερο για αποθήκευση. Οι κανόνες Iptable είναι σε ισχύ μόλις τους προσθέσετε εάν μπερδευτείτε και χάσετε την πρόσβαση απλώς επανεκκινήστε και αυτοί που δεν έχουν ήδη αποθηκευτεί θα επανέλθουν.

Βήμα 6: Συμπέρασμα

Τώρα μπορείτε να χρησιμοποιήσετε αυτό το τούνελ από οποιαδήποτε συσκευή ή υπολογιστή στο ίδιο δίκτυο. Απλώς αλλάξτε την προεπιλεγμένη πύλη σε οποιαδήποτε διεύθυνση IP έχει το Raspberry Pi. Στην περίπτωσή μου και τα δύο κέντρα πολυμέσων Kodi (ένα υπνοδωμάτιο και ένα σαλόνι) χρησιμοποιούν αυτήν τη σύνδεση, ώστε να μπορώ να μεταδώσω τα σουηδικά μου κανάλια αναπαραγωγής. Φυσικά υπάρχουν και άλλα πράγματα για τα οποία μπορείτε επίσης να το χρησιμοποιήσετε.

Απλώς λάβετε υπόψη ότι ανάλογα με τον προμηθευτή VPN που επιλέξατε και την ταχύτητα της σύνδεσής σας στο διαδίκτυο ενδέχεται να υπάρχει αργή απόδοση.

Εάν έχετε οποιεσδήποτε ερωτήσεις ή θέλετε να διευκρινίσω κάτι, ενημερώστε με στα σχόλια! Για περισσότερη τεχνολογική ανάρτηση επισκεφτείτε το blogg μου Hackviking!

Συνιστάται: