Οδηγίες εγκατάστασης της υπηρεσίας 

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