[Free VPN] Σε Ubuntu/Linux και παράγωγες διανομές

ΤΕΛΕΥΤΑΙΑ ΕΝΗΜΕΡΩΣΗ: 21.04.2019

Προστέθηκε το Windscribe. Αφαιρέθηκε το VPNBook.


Σε προηγούμενη δημοσίευση είδαμε πόσο εύκολο είναι να στήσει κάποιος σε Linux Server ένα VPN χρησιμοποιώντας, το ασφαλέστερο για σήμερα πρωτόκολλο, openvpn.
Εδώ θα δούμε πόσο εύκολα μπορεί κάποιος να χρησιμοποιήσει μια υπηρεσία Free VPN σε Ubuntu/Linux client.

Πόσες υπηρεσίες FreeVPN υπάρχουν, είναι αξιόπιστες, πως θα επιλέξω;

Δεκάδες είναι οι υπηρεσίες που προσφέρουν δωρεάν VPN σε διάφορα πρωτόκολλα. Καταρχήν μπορούμε να αποκλείσουμε όσες προσφέρουν PPTP, L2TP/IPsec κλπ, μιας και τα συγκεκριμένα θεωρούνται αναξιόπιστα και ευπαθή. Επικεντρωνόμαστε σε openvpn.

Φροντίζουμε να διαθέτουν αρχείο .ovpn ώστε να εφαρμόσουμε την υπηρεσία σε επίπεδο συστήματος και όχι μόνο Browser. Επειδή κυκλοφορούν αρκετά πρόσθετα (addons) τα οποία υπόσχονται Free VPN, ανωνυμίες κλπ, συνήθως είτε δεν λειτουργούν καθόλου είτε είναι απελπιστικά αργά. Μη «ψαρώνετε» από τα reviews και τα αστεράκια καθώς αυτά εύκολα αποκτώνται.

Διαβάζουμε τα ToS (Terms of Service ή Terms of Use) για να πάρουμε μια ιδέα περί τίνος πρόκειται. Εκεί συνήθως αναφέρονται διάφορα όπως «Δεν κρατάμε αρχείο καταγραφής» , «δεν πουλάμε σε διαφημιστές τα προσωπικά σας δεδομένα» … και άλλες τέτοιες υποσχέσεις. Να γνωρίζετε ένα πράγμα ! Στις περισσότερες των περιπτώσεων όταν το προϊόν είναι δωρεάν, ο χρήστης (δηλαδή εμείς) είμαστε το προϊόν. Αυτό βέβαια δεν ισχύει πάντοτε αλλά σε ένα μεγάλο ποσοστό, ισχύει.

Βρίσκουμε πόσο καιρό είναι online η συγκεκριμένη υπηρεσία. Έχει και αυτό τη σημασία του. Οτιδήποτε κάτω από δύο χρόνια, το ξανασκεφτόμαστε.

Διαβάζουμε reviews από διάφορους χρήστες. Αν ψάξουμε με το όνομα της υπηρεσίας και τις λέξεις review problem privacy θα μας επιστραφούν αρκετά αποτελέσματα. Φιλτράρουμε αυτά τα αποτελέσματα και διαβάζουμε επιλεκτικά. Προτιμούμε προσωπικά blogs και forums και λιγότερο γνωστές σελίδες με συντάκτες επί πληρωμή. Καταλαβαίνετε το γιατί.

Κοιτάμε τη χώρα προέλευσης των υπηρεσιών. Αν και αυτό λίγη σημασία έχει διότι οι υπηρεσίες μπορούν να προσφέρονται από άλλη χώρα από εκείνη που φιλοξενείται ο/οι VPN server/servers.

Αφού έχουμε κάνει την έρευνά μας και έχουμε καταλήξει στο τι θέλουμε να χρησιμοποιήσουμε, πάμε να δούμε παρακάτω πως γίνεται σε Ubuntu/Linux.

Εγκατάσταση πακέτων

Το πακέτο που χρειαζόμαστε ίσως είναι ήδη εγκατεστημένο στη διανομή που χρησιμοποιούμε. Είτε είναι είτε όχι, δίνουμε τη παρακάτω εντολή σε ένα τερματικό.

sudo apt-get install network-manager-openvpn-gnome

Εάν είναι ήδη εγκατεστημένο η παραπάνω εντολή δεν θα κάνει κάτι. Εάν δεν είναι, τότε θα εγκατασταθεί το απαραίτητο πακέτο για υποστήριξη openvpn μέσω του Network Manager.

Εγκατάσταση σε Ubuntu 16.04 LTS

Προσέξτε εδώ ότι το πακέτο αναφέρεται σε gnome και σε όσα γραφικά περιβάλλοντα μπορούν να το υποστηρίξουν.

Ενεργοποίηση VPN

Εφόσον ολοκληρώσουμε την εγκατάσταση κάνουμε μια αποσύνδεση και επανασύνδεση. Έπειτα, από τον Network Manager ανοίγουμε το Edit Connections και προσθέτουμε μια νέα σύνδεση φορτώνοντας το αρχείο .ovpn που έχουμε κάνει λήψη νωρίτερα (από την υπηρεσία που έχουμε επιλέξει).

Παρακάτω βλέπουμε ένα παράδειγμα σε Ubuntu 16.04 LTS, με επιλεγμένη υπηρεσία το ProtonVPN.

Εφόσον έχουμε εισάγει τα σωστά στοιχεία (username, password) θα πρέπει να συνδεθούμε άμεσα στην υπηρεσία.
Μπορούμε να κάνουμε έναν έλεγχο είτε στο whatismyip.com είτε στο whoer.net.
Άλλη μια τοποθεσία για έλεγχο (Leak) είναι το YouTube. Όσο και να μη φαίνεται εξειδικευμένο, το συγκεκριμένο site «σκάβει» τόσο βαθιά στο σύστημά μας που μπορεί να βρει σχεδόν τα πάντα. Μη σας κάνει εντύπωση εάν το whoer και άλλα εξειδικευμένα sites αναφέρουν τα επιθυμητά αποτελέσματα και μπαίνοντας στο YouTube σας βγάλει αριστερά επάνω το GR.

Fix DNS Leak

Fix Leak σε Firefox

Τότε, θα πρέπει κάποιος να ψάξει από που γίνεται Leak και να το διορθώσει. Οι συνήθως ύποπτοι είναι το WebRTC (που από τη «φύση» του κάνει leak, έτσι δουλεύει άλλωστε δεν το κάνει επίτηδες), η java/script και ο flash player.

Απενεργοποίηση WebRTC σε Firefox
Πληκτρολογούμε στη γραμμή διευθύνσεων about:config και αποδεχόμαστε το warning. Έπειτα ψάχνουμε για το media.peerconnection.enabled και το θέτουμε σε false

Έλεγχος Java/Javascript
Εδώ μπορούμε να κάνουμε εγκατάσταση το γνωστό πρόσθετο (addon) No Script στον Firefox και να μάθουμε να δουλεύουμε με αυτό. Πλέον έχει εκσυγχρονιστεί και διαθέτει έναν πίνακα ελέγχου σχετικά εύκολο στη χρήση.

Disable Flash Player
Αν και στο Ubuntu και σε κάποια derivatives ο flash player δεν είναι καν εγκατεστημένος, εάν τον έχουμε κάνει εγκατάσταση ή υπήρχε εξ αρχής και ήταν ενεργοποιημένος, μπορούμε να τον απενεργοποιήσουμε πηγαίνοντας στο Add-ons και στη καρτέλα Plugins. Δεν είναι κάτι το δύσκολο, θα το βρείτε αμέσως.

Firefox Profile
Επειδή είναι βαρετό έως και σαδιστικό να κάνει κάποιος όλα αυτά τα πράγματα βήμα προς βήμα συνεχώς και μετά να τα αναιρεί, αν δεν θέλει άλλο privacy protection για παράδειγμα, μπορούμε να δημιουργήσουμε ένα προφίλ στον Firefox με όλες αυτές τις ρυθμίσεις αποθηκευμένες και να το επιλέγουμε όποτε επιθυμούμε.
Από ένα τερματικό εκκινούμε τον Firefox με την εντολή

firefox -p

Εκεί επιλέγουμε τη δημιουργία νέου προφίλ. Αποεπιλέγουμε το κουτάκι που γράφει «Use the selected profile without asking at startup». Με αυτό το τρόπο θα μας ρωτάει με ποιο προφίλ θέλουμε να εκκινήσει.

Open DNS servers

Ένα επιπρόσθετο μέτρο είναι η αλλαγή των DNS από εκείνους του ISP μας σε κάποιους Public. Αυτό μπορεί να γίνει είτε σε επίπεδο Router, είτε σε επίπεδο λειτουργικού συστήματος.
Σε Ubuntu και παράγωγες διανομές ο Network Manager παρέχει μέσω γραφικού περιβάλλοντος το κατάλληλο μενού. Πρώτα επιλέγουμε τη σύνδεσή μας και στη καρτέλα IPv4 αλλάζουμε από Automatic DHCP σε Automatic DHCP (address only). Έπειτα θέτουμε τους DNS που θέλουμε και πατάμε Apply. Το ίδιο κάνουμε και για τη σύνδεση του VPN.

Ακόμη έχω Leak

Αν μετά από όλα τα παραπάνω φαίνεται να υπάρχει ακόμη DNS Leak, τότε μπορούμε να εφαρμόσουμε τους παρακάτω κανόνες μέσω iptables.

Εδώ υποθέτουμε τα εξής:
1. Η διεύθυνση του τοπικού δικτύου είναι κάτι σαν 192.168.1.x/24
2. Το intefrace της σύνδεσης μας έχει όνομα enp2s0
3. Γνωρίζουμε την IP του VPN στο οποίο έχουμε συνδεθεί και αντικαθιστούμε στον τελευταίο κανόνα τα xxx.xx.x.xx με αυτή ή μπορούμε να δώσουμε δικαιώματα για όλο το range. Πχ. xxx.xx.0.0/16 σε περίπτωση που αλλάζει συχνά η IP και έχουμε προβλήματα σύνδεσης.
4. Το interface για τη VPN σύνδεση μας έχει όνομα κάτι σαν tun0
5. Δεν έχουμε άλλους κανόνες iptables ενεργοποιημένους, ούτε κάποιο front-end όπως πχ ufw (firewall).

Τα παραπάνω μπορούμε να τα βρούμε εξετάζοντας τα αποτελέσματα των εντολών:

ifconfig
ή
ip addr

και

sudo ufw status 
ή 
sudo iptables -L

Τα παρακάτω έχουν γραφτεί υπό μορφή script (εξού και το shebang στη πρώτη γραμμή). Αποθηκεύουμε ως πχ iptables_vpn_rules, δίνουμε δικαιώματα εκτέλεσης chmod 755 iptables_vpn_rules και εκτελούμε με sudo ./iptables_vpn_rules.

Για να αναιρέσουμε όλους τους κανόνες δίνουμε σε ένα τερματικό sudo iptables -F

#!/bin/bash
iptables -A INPUT -i lo -j ACCEPT # Να επιτρέπεται η πρόσβαση στη σύνδεση loopback
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d 255.255.255.255 -j  ACCEPT # Να επιτρέπεται η επικοινωνία με τον DHCP server
iptables -A INPUT -s 255.255.255.255 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT # Να επιτρέπεται η επικοινωνία με το δικό μας δίκτυο
iptables -A OUTPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i enp2+ -o tun+ -j ACCEPT # Να επιτρέπεται η επικοινωνία μεταξύ enp2+ και tun+
iptables -A FORWARD -i tun+ -o enp2+ -j ACCEPT
iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE # Κάνε map την IP διεύθυνση από το tun+ interface και να επιτρέπεται η αλλαγή του header. Αυτός ο κανόνας είναι λίγο πολύ self explanatory  (MASQUERADE) 
iptables -A OUTPUT -o enp2+ ! -d xxx.xx.x.xx -j DROP  # Αν ο προορισμός των πακέτων που φεύγουν (outgoing) είναι διαφορετικός από τη διεύθυνση του VPN, τότε να γίνονται DROP. Έτσι γλυτώνουμε ένα leak σε περίπτωση που κάτι πάει στραβά με τη VPN σύνδεση.

Extra Tip
Χρησιμοποιείτε πάντα DuckDuckGo αντί Google Search.


Q&A

  • Ποια υπηρεσία προτείνεις για Free VPN ;

Τρεις φαίνονται τίμιες, από όσες έχω δοκιμάσει. Δηλαδή κάνουν ότι υπόσχονται. Κατά σειρά προτεραιότητας:

  1. Windscribe. Διαθέτει Linux Client σε μορφή Script (CLI). Δεν χρειάζεται σχεδόν καμία ρύθμιση, ούτε iptables. Ρυθμίζει το Firewall μόνο του (αυτόματα).
  2. TunnelBear. Tο συγκεκριμένο προτείνεται από το DuckDuckGo. Από Linux Clients υπάρχουν οδηγίες για Ubuntu και Fedora. Ακολουθήστε τις εδώ.
  3. ProtonVPN
  • Έχω Kubuntu ή KDE ως γραφικό περιβάλλον.
    Τι πακέτο να κάνω εγκατάσταση αντί του network-manager-openvpn-gnome ;

Πρώτα ελέγχουμε μήπως ο Network Manager υποστηρίζει ήδη το αρχείο .ovpn.
Αν δεν το υποστηρίζει δοκίμαζουμε κάνοντας εγκατάσταση το πακέτο network-manager-openvpn.
Αν πάλι δεν δουλέψει, καταφεύγουμε στη σίγουρη λύση του τερματικού.

sudo apt-get install openvpn
sudo openvpn --config /path/to/.ovpn 
  • Έχεις να προτείνεις κάποιο site/blog για αξιόπιστο review VPN υπηρεσιών;

Ένα το οποίο έχω ανακαλύψει και νομίζω ότι κάνει καλή και δίκαιη κριτική είναι το thatoneprivacysite.net
Φαίνεται να ψάχνει αρκετά πριν δημοσιεύσει, φαίνεται να κάνει καλή δουλειά. Εκεί θα βρείτε και κριτική για το ProtonVPN.

Ως δεύτερο, το spreadprivacy.com από το DuckDuckGo. Για VPNs δείτε στο spreadprivacy.com/how-to-choose-a-vpn


Until next time …
Thanks for reading!

5 σκέψεις σχετικά με το “[Free VPN] Σε Ubuntu/Linux και παράγωγες διανομές

  1. Πάρα πολύ καλό το άρθρο! Απλά να πω ότι το proton δε μου ενεργοποιούσε τα downloads στη free έκδοση, αντίθετα το tunnelbear μου δούλεψε άψογα…

  2. Μπράβο Nick, άλλο ένα ωραίο άρθρο, ημουν σε αναζήτηση για VPN μάλιστα στο site του Σαλίχ ρωτούσα για το protonVPN.

    Υπαρχει καποιο πακετο για kde ?

    Σε ευχαριστώ εκ των προτερων !

    1. Δες πρώτα αν μπορείς να προσθέσεις το αρχείο .ovpn ως έχει. Αν όχι και σου επιστρέφει μήνυμα λάθους, τότε κάνε εγκατάσταση το network-manager-openvpn
      Αν ακόμη έχεις πρόβλημα να αναγνωρίσει το αρχείο, καταφεύγεις στην σίγουρη λύση του τερματικού.
      sudo apt-get install openvpn
      sudo openvpn --config /path/to/.ovpn

Αφήστε απάντηση στον/στην Anon Ακύρωση απάντησης

Ο ιστότοπος χρησιμοποιεί το Akismet για την εξάλειψη των ανεπιθύμητων σχολίων. Μάθετε πως επεξεργάζονται τα δεδομένα των σχολίων σας.