Οδηγίες εγκατάστασης της υπηρεσίας
OpenVPN για χρήστες Linux
1. Εργασίες ανεξάρτητες διανομής
2. Σύνδεση από τη γραμμή εντολών
3. Σύνδεση με το nm-applet/NetworkManager/knetworkmanager
4. Σύνδεση με το openvpn-admin
5. Ειδικά για τη διανομή Mandriva
6. Πώς ελέγχετε τη σύνδεση
7. Λόγοι αποτυχίας
8. Σύνδεση σε άλλα Πανεπιστήμια
Φροντίστε η εγκατάστασή σας να έχει εγκατεστημένα τα πακέτα openvpn και sudo, και προαιρετικά το nm-applet/NetworkManager/knetworkmanager ή το openvpn-admin
αν θέλετε να ενεργοποιείτε τη σύνδεση από κάποιο γραφικό εργαλείο (αντί
για την γραμμή εντολών). Επίσης φροντίστε να μην ξεκινάει αυτόματα στην
εκκίνηση η υπηρεσία openvpn. Αυτό μπορείτε να το ελέγξετε εύκολα από το
εργαλείο διαχείρισης του συστήματός σας (drakconf για τη διανομή
Mandriva, system-config-services για Fedora/RedHat/CentOs, yast2 για
Suse, κλπ). Κάντε το αμέσως μετά την εγκατάσταση του openvpn και επίσης αν ήδη τρέχει σταματήστε το !!
Αν δεν ξέρετε πώς να το κάνετε εκτελέστε ως root την παρακάτω εντολή
/sbin/chkconfig openvpn off
Εργασίες ανεξάρτητες διανομής
Από την Επ. Πληροφορικής του Τμήματος θα πάρετε ένα zip αρχείο της μορφής firstname.lastname.zip. Αντιγράψτε το ως root στον κατάλογο /etc/openvpn/ και ανοίξτετο εκεί. πχ:
su -
cd /etc/openvpn/
unzip firstname.lastname.zip
mv firstname.lastname/* .
Προσθέστε στο σύστημά σας το group adm:
groupadd adm
(Αν το σύστημά σας έχει αυτό το group η παραπάνω εντολή θα βγάλει ένα μύνημα λάθους. Αδιαφορήστε).
Στην
πρώτη γραμμή προσέξτε την παύλα - (είναι απαραίτητη για να έχει ο root
το σωστό path). Στην τελευταία γραμμή προσέξτε την τελεία μετά το κενό,
μετά το αστεράκι.
Σύνδεση από τη γραμμή εντολών
Αν δεν έχουμε κανένα γραφικό εργαλείο μπορούμε να συνδεόμαστε από τη γραμμή εντολών ως εξής:
su -
cd /etc/openvpn/
openvpn firstname.lastname.conf
Σύνδεση με το nm-applet/NetworkManager/knetworkmanager
(τις οδηγίες για το nm-applet τις έγραψε ο φοιτητής μας Δ. Παπαδάκης):
Το εργαλείο αυτό είναι καινούργιο και ίσως να μην το έχει η διανομή σας. Αν όμως το έχει
συνήθως
όμως είναι προενεργοποιημένο να τρέχει.
(Αν δεν τρέχει το
ρυθμίζεται να τρέχει πάντα στο panel του desktop δηλώνοντας το στο
μενού του Gnome στο Σύστημα->Προτιμίσεις->Συνεδρίες.)
Αριστερό κλικ στο εικονίδιο του nm-applet -> VPN Connections -> Configure VPN -> Καρτέλα VPN -> ADD -> Επιλέξτε "OpenVPN" στην προτροπή "Choose a VPN Connection Type:" -> Create
VPN tab:
-----------------
Gateway: myria.math.aegean.gr
Type: Certificates (TLS)
User Certificate: /etc/openvpn/onoma.epwnymo.crt
CA Certificate: /etc/openvpn/ca.crt
Private key: /etc/openvpn/onoma.epwnymo.key
( press Advanced key )
General Tab
-------------------
Tick: Use custom gateway port: 1194
Tick: Use LZO data compression
Certificates Tab
----------------------
Cipher: DES-CBC
( Press OK )
IPv4 tab:
------------------
Method: Automatic (VPN)
Σύνδεση με το openvpn-admin
Ανοίξτε ως root το openvpn-admin.
su -
openvpn-admin &
Αυτό
θα εμφανίσει ένα εικονίδιο στην μπάρα του desktop. Κάντε κλικ πάνω του
και στο παράθυρο που προκύπτει πατήστε connect. (Εναλλακτικά κάντε δεξί
κλικ πάνω του επιλέξτε το όνομά σας, και στο υπομενού πατήστε connect.)
Από
εδώ και στο εξής θα κάθε φορά που θα θέλετε να ανοίξετε τη σύνδεση θα
πρέπει να κάνετε αυτά που περιγράφονται στις παραπάνω γραμμές χρώματος
μπλε.
Παρατήρηση: Αν
αναρωτιέστε αν χρειάζεται πάντα να κάνει τη σύνδεση ο root, η απάντηση
είναι «βεβαίως ναι». Ο λόγος είναι ότι το VPN επεμβαίνει δραστικά στον
τρόπο που δρομολογεί τα δεδομένα δυκτύου το σύστημα (φτιάχνει εκονικές
συσκευές δικτύου και αλλάζει την δρομολόγιση των δεδομένων (routing)).
Κάτι τόσο δραστικό δεν είναι λογικό για ένα σύστημα Linux να το κάνει
οποιοσδήποτε χρήστης.
Υπάρχει
τρόπος να γίνεται και από τους
χρήστες (δηλώνοντας ο root ότι τους το επιτρέπει) αλλά αυτό εμπεριέχει
προβλήματα ασφαλείας. Αν παρόλα αυτά είστε σίγουρος ότι θέλετε να το
κάνετε η απλούστερη διαδικασία είναι η εξής (Αν έχετε Mandriva πηγαίνετε παρακάτω):
Ως root τρέχουμε σε ένα τερματικό την εντολή
visudo
κατεβαίνουμε στο τέλος του αρχείου με τα βελάκια, πατάμε i και γράφουμε την γραμμή
username ALL = NOPASSWD: /usr/sbin/openvpn-admin
όπου το username είναι το login μας.
Πατάμε το πλήκτρο Esc (πάνω αριστερά στο πληκτρολόγιο) και μετά :wq και Enter.
Σώζουμε το αρχείο openvpn-admin.sh στον κατάλογο /usr/local/bin και το κάνουμε εκτελέσιμο:
chmod ugo+rx /usr/local/bin/openvpn-admin.sh
Στο μενού του Gnome πάμε στο Σύστημα->Προτιμίσεις->Συνεδρίες
Στο παράθυρο που προκύπτει πατάμε Προσθήκη στην καρτέλα Startup Programs. Στο νέο παράθυρο
βάζουμε στο πεδίο Name, openvpn-admin και στο πεδίο Command βάζουμε τη γραμμή
/usr/local/bin/openvpn-admin.sh
Πατάμε Προσθήκη.
Κάνουμε
logout. Από εδώ και στο εξής κάθε σε login στο Gnome θα εμφανίζεται
στην πάνω μπάρα το σχετικό εικονίδιο και θα λειτουργεί κανονικά η
σύνδεση χωρίς να δίνετε κανένα κωδικό.
Ανάλογη είναι και η ρύθμιση σε άλλα γραφικά περιβάλλοντα όπως το KDE.
Ειδικά για τη διανομή Mandriva
Η
διανομή αυτή μέχρι την έκδοση 2009 δεν έχει το nm-applet αλλά έχει το
δικό της applet δικτύου που τρέχει πάντα στο taskbar του panel. Το
applet αυτό μπορεί να ρυθμίσει το vpn αλλα ο wizard που έχει είναι
ελλειπής. Το καλύτερο που έχουμε να κάνουμε είναι το εξής (ως
root):
Ανοίγουμε το αρχείο firstname.lastname.conf με έναν editor (πχ το gedit) και βάζουμε απόλυτα paths στις μεταβλητές dh, ca, cert και key. Για παράδειγμα η dh γράφει
dh dh4096.pem
και την αλλάζουμε σε
dh /etc/openvpn/dh4096.pem
Ομοίως και τις υπόλοιπες. Στη συνέχεια εκτελούμε τις εντολές (πάντα ως root):
mkdir -p /etc/sysconfig/network-scripts/vpn.d/openvpn/
cp /etc/openvpn/firstname.lastname.conf /etc/sysconfig/network-scripts/vpn.d/openvpn/
Κάνουμε
logout και ξανά login και στο network applet (δεξί κλικ) θα εμφανιστεί
η επιλογή OpenVPN με το όνομά μας. Αν κάνουμε κλικ πάνω της θα
συνδεθούμε και αν ξανακάνουμε κλικ θα αποσυνδεθούμε.
Πώς ελέγχετε τη σύνδεση
Για να ελέγξουμε τη σύνδεσή μας μπορούμε να πάμε στη σελίδα:
https://www.grc.com/x/ne.dll?bh0bkyd2
Λίγο πιο κάτω από την κορυφή θα πρέπει να λέει ότι ερχόμαστε από τη διεύθυνση myria.math.aegean.gr.
Αν λέει οτιδήποτε άλλο η σύνδεσή μας με το openvpn δεν ήταν επιτυχής.
Εναλλακτικά μπορούμε να τρέξουμε από ένα τερματικό:
/usr/sbin/traceroute www.aegean.gr
Η πρώτη γραμμή στον πίνακα που προκύπτει πρέπει να λέει 10.8.0.1Λόγοι αποτυχίας
Πολλά
πράγματα μπορούν να οδηγήσουν σε αδυναμία χρήσης της υπηρεσίας. Αν
τίποτα από τα παρακάτω δεν σας βοηθάει απευθυνθείτε στον υπογράφοντα τη
παρούσα ιστοσελίδα.
1. Firewall
Ο πιο συνηθισμένος λόγος αποτυχίας είναι το firewall του συστήματος να μπλοκάρει την κίνηση στην εικονική κάρτα δικτύου tun0.
Κλείστε το firewall σας και ξαναδοκιμάστε. Αν λειτουργεί τότε θα πρέπει
να ανοίξετε το εργαλείο ρύθμισης του firewall της διανομής σας και να
του πείτε να επιτρέπει την κίνηση πακέτων στο interface tun0.
Στις διανομές με firewall το shorewall (όπως στην
Mandriva), προσθέστε τη γραμμή
net tun0 detect
στο αρχείο /etc/shorewall/interfaces
αμέσως μετά τη γραμμή με το eth0, και ξαναξεκινήστε το firewall με
/sbin/service shorewall restart
Εναλλακτικά ανοίξτε το εργαλείο ρύθμισης συστήματος,
πηγαίνετε στην ενότητα Ασφάλεια και στην επιλογή ρύθμιση του firewall.
Πατώντας με τις έτοιμες ρυθμίσεις μερικά Next, θα φτάσετε στην καρτέλα
που θα σας εμφανίσει τις κάρτες δικτύου. Την eth0 και την εικονική
tun0. Ενεργοποιήστε και την tun0, πατήστε τα υπόλοιπα Next και
ξαναδοκιμάστε.
2. To OpenVPN service τρέχει ήδη
Όπως
είπαμε και στην αρχή η υπηρεσία openvpn πρέπει να είναι
απενεργοποιημένη. Αν το ξεχάσατε, τότε ήδη τρέχει (με λάθος ρυθμίσεις)
αλλά το άσχημο είναι ότι θα έχει ήδη φτιάξει το interface tun0.
Από
το εργαλείο διαχείρισης της διανομής σας, σταματήστε την υπηρεσία να
μην ξεκινάει κατά την εκκίνηση. Στη συνέχεια διαγράψτε την εικονική
κάρτα δικτύου tun0. Αν το γραφικό περιβάλλον διαχείρισης, δεν σας το
επιτρέπει αυτό, και δεν ξέρετε πώς να το κάνετε, αλλάξτε την παραπάνω
γραμμή στο firewall από
net tun0 detect
σε
net tun+ detect
και ξαναξεκινήστε το firewall:
/sbin/service shorewall restart
3. Συνδέεστε στο Internet με ppp μέσω απλού modem ή ασύρματου modem εταιρείας κινητής τηλεφωνίας
Η
τρέχουσα σταθερή έκδοση του openvpn (2.0) δεν υποστηρίζει σωστά τις
συνδέσεις μέσω του ppp. Θα πρέπει να εγκαταστήσετε μια νεώτερη έκδοση.
Για βοήθεια σε σχέση με αυτό το θέμα απευθυνθείτε στον υπογράφοντα αυτή
την ιστοσελίδα.
4. Στα μηνύματα από τη γραμμή εντολών φαίνεται ότι ξεκινάει σωστά η σύνδεση αλλά δεν λειτουργεί το δίκτυο
Αυτό
μπορεί να συμβαίνει επειδή αυτός που σας παρέχει την σύνδεση στο
Internet σας δίνει πρόσβαση σε ένα DNS server ο οποίος δεν είναι
προσβάσιμος από το Πανεπισημιακό δίκτυο. Σκεφτείτε ότι όταν ξεκινήσει
το openvpn, όλη η κίνηση περνάει από το δίκτυο του Πανεπιστημίου. Άρα
ενδέχεται οι κλήσεις του υπολογιστή σας προς τον server του παρόχου που
σας δίνει την υπηρεσία DNS να μην είναι προσβάσιμη.
Αυτό μπορείτε να το ελέγξετε αφού ξεκινήσετε το openvpn τρέχοντας την εντολή
/usr/sbin/traceroute www.aegean.gr
αν πάρετε μια απάντηση σαν την
[root@localhost ~]$ /usr/sbin/traceroute www.aegean.gr
www.aegean.gr: Το όνομα ή η υπηρεσία δεν είναι γνωστά
Cannot handle "host" cmdline arg `www.aegean.gr' on position 1 (argc 1)
[root@localhost ~]$
Τότε μάλλον έχετε αυτό το πρόβλημα.
Στα Windows δεν διορθώνεται. Πρέπει κάθε φορά να τρέχετε σε ένα παράθυρο του DOS:
net stop dnscache
net start dnscache
Στο linux αυτό διορθώνεται ως εξής:
Στο αρχείο firstname.lastname.conf που σας δόθηκε, προσθέστε στο τέλος τις γραμμές
script-security 2 system
pull dhcp-options
up /etc/openvpn/client.up
down /etc/openvpn/client.down
Σώστε τον κατάλογο /etc/openvpn/ τα αρχεία client.up και client.down
και κάντε τα εκτελέσιμα:
su -
cd /etc/openvpn/
chmod ugo+rx client.up
chmod ugo+rx client.down
Ξαναξεκινήστε την openvpn σύνδεσή σας.
8. Σύνδεση σε άλλα Πανεπιστήμια με Linux ((πάντα) υπό κατασκευή)
Αν είστε επισκέπτης σε άλλο Πανεπιστήμιο ακολουθεί μια καταγραφή των ρυθμίσεων ανά ίδρυμα που μπορέσαμε να βρούμε.
Πανεπιστήμιο Αθηνών
Η υπηρεσία πληροφορικής του Πανεπιστημίου Αθηνών χρησιμοποιεί OpenVPN, δίνει οδηγίες στους χρήστες των Windows (εδώ) και καμία αξιόλογη πληροφορία στους χρήστες της κοινότητας (εδώ) από την οποία πήρε το OpenVPN !!
Εγκαταστήστε το openvpn στον υπολογιστή σας. Στη συνέχεια εκτελέστε ως root:
/sbin/service openvpn stop
/sbin/chkconfig openvpn off
Σώστε τον κατάλογο /etc/openvpn το πιστοποιητικό του vpn.uoa.gr που θα βρείτε εδώ ή εδώ.
Σώστε στον ίδιο κατάλογο τα αρχεία client.up και client.down
και κάντε τα εκτελέσιμα:
su -
cd /etc/openvpn/
chmod ugo+rx client.up
chmod ugo+rx client.down
Σώστε στον ίδιο κατάλογο το αρχείο UoA.conf
Συνδέεστε ως εξής:
su -
cd /etc/openvpn/
openvpn UoA.conf
Θα σας ζητηθεί login και password στο τερματικό. Αφού τα εισάγεται επιτυχώς θα ενεργοποιηθεί η σύνδεση.
Αν κάτι δεν λειτουργεί σωστά ανατρέξτε στους παραπάνω λόγους αποτυχίας
Πανεπιστήμιο Αιγαίου
Χρησιμοποιείται η υπηρεσία της Microsoft. Απαιτείται το πρόγραμμα pptp.
Πώς συνδεόμαστε από Linux: Άγνωστο. Δεν παρέχεται καμία χρήσιμη πληροφορία (εδώ).
Απευθυνθείτε στο Τμήμα Μαθηματικών για τη δική του OpenVPN υπηρεσία.
Πανεπιστήμιο Θεσσαλονίκης (Αριστοτέλειο)
Ισχύουν τα ίδια με το Πανεπιστήμιο Αθηνών. Δεν δίνουν οδηγίες παρά μόνο για Windows (εδώ) παρόλο που χρησιμοποιούν OpenVPN.
Θα χρειστείτε το προσωπικό σας πιστοποιητικό και τον αντίστοιχο κωδικό του που θα σας δοθεί από τις υπηρεσίες του Ιδρύματος.
Εγκαταστήστε το openvpn στον υπολογιστή σας. Στη συνέχεια εκτελέστε ως root:
/sbin/service openvpn stop
/sbin/chkconfig openvpn off
Σώστε τον κατάλογο /etc/openvpn το πιστοποιητικό του vpn server τους που είναι εδώ ή εδώ.
Βάλτε το αρχείο ρυθμίσεων στον κατάλογο /etc/openvpn/
Ανοίξτε το και αλλάξτε τη γραμμή
pkcs12 personal-certificate.p12
ώστε να γράφει το όνομα του προσωπικού σας πιστοποιητικού αντί του personal-certificate.p12.
Κατεβάστε στον ίδιο κατάλογο τα αρχεία client.up και client.down
και κάντε τα εκτελέσιμα:
su -
cd /etc/openvpn/
chmod ugo+rx client.up
chmod ugo+rx client.down
Συνδέεστε ως εξής:
su -
cd /etc/openvpn/
openvpn auth.conf
Θα σας ζητηθεί στο τερματικό το ιδιωτικό σας κλειδί, αυτό που αντιστοιχεί στο προσωπικό σας πιστοποιητικό.
Αν κάτι δεν λειτουργεί σωστά ανατρέξτε στους παραπάνω λόγους αποτυχίας
Πανεπιστήμιο Ιωαννίνων
Μεχρι τη στιγμή που γράφεται το παρόν δεν φαίνεται να δίνουν τέτοια υπηρεσία.
Πανεπιστήμιο Κρήτης
Μόνο το Τμήμα Φυσικής φαίνεται να δίνει τέτοια υπηρεσία με πλήρη υποστήριξη για την κοινότητα (εδώ).
Πανεπιστήμιο Πατρών
Υποστηρίζουν την κοινότητα με ακριβείς οδηγίες για OpenVPN εδώ.
Α. Τσολομύτης
19 Δεκεμβρίου 2008