Το OpenVPN χρησιμοποιεί Υποδομή Δημοσίου Κλειδιού (Public Key Infrastructure (PKI)) για να κρυπτογραφήσει την κίνηση VPN μεταξύ κόμβων. Ένας απλός τρόπος για να στήσετε ένα VPN με το OpenVPN είναι να συνδέσετε τους πελάτες μέσω μιας διεπαφής γέφυρας στο διακομιστή VPN. Αυτός ο οδηγός θα υποθέσει ότι ένας κόμβος VPN, ο διακομιστής σε αυτή την περίπτωση, έχει διαμορφωμένη μια διεπαφή γέφυρας. Για περισσότερες πληροφορίες για το πως να στήσετε μια γέφυρα βλ. “Γεφύρωση”.
Για να εγκαταστήσετε το openvpn πληκτρολογείστε σε ένα τερματικό:
sudo apt-get install openvpn
Τώρα που το πακέτο openvpn έχει εγκατασταθεί, πρέπει να δημιουργηθούν τα πιστοποιητικά για το διακομιστή VPN.
First, copy the easy-rsa directory to /etc/openvpn. This will ensure that any
changes to the scripts will not be lost when the package is updated. You will also need to adjust permissions in the
easy-rsa directory to allow the current user permission to create files. From a terminal enter:
sudo mkdir /etc/openvpn/easy-rsa/ sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ sudo chown -R $USER /etc/openvpn/easy-rsa/
Μετά, επεξεργαστείτε το /etc/openvpn/easy-rsa/vars προσαρμόζοντας τα ακόλουθα στο περιβάλλον σας:
export KEY_COUNTRY="US" export KEY_PROVINCE="NC" export KEY_CITY="Winston-Salem" export KEY_ORG="Example Company" export KEY_EMAIL="steve@example.com"
Πληκτρολογείστε το ακόλουθο για να δημιουργήσετε τα πιστοποιητικά διακομιστή:
cd /etc/openvpn/easy-rsa/ source vars ./clean-all ./build-dh ./pkitool --initca ./pkitool --server server cd keys openvpn --genkey --secret ta.key sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/
Ο πελάτης VPN θα χρειαστεί επίσης πιστοποιητικά για να πιστοποιήσει τον εαυτό του στο διακομιστή. Για να δημιουργήσετε ένα πιστοποιητικό, πληκτρολογείστε τα ακόλουθα σε ένα τερματικό:
cd /etc/openvpn/easy-rsa/ source vars ./pkitool hostname
|
|
|
Αντικαταστήστε το hostname με το κανονικό όνομα του κεντρικού υπολογιστή της μηχανής που συνδέεται στο VPN. |
Αντιγράψτε τα ακόλουθα αρχεία στον πελάτη:
-
/etc/openvpn/ca.crt
-
/etc/openvpn/easy-rsa/keys/hostname.crt
-
/etc/openvpn/easy-rsa/keys/hostname.key
-
/etc/openvpn/ta.key
|
|
|
Θυμηθείτε να προσαρμόσετε τα παραπάνω ονόματα αρχείων για το όνομα κεντρικού υπολογιστή της μηχανής του πελάτη. |
Είναι καλύτερο να χρησιμοποιήσετε μια ασφαλή μέθοδο για να αντιγράψετε τα αρχεία πιστοποιητικού και κλειδιού. Η λειτουργία scp είναι μια καλή επιλογή, αλλά το να αντιγράψετε τα αρχεία σε αφαιρούμενα μέσα και μετά στον πελάτη, είναι επίσης καλό.
Τώρα ρυθμίστε το διακομιστή openvpn δημιουργώντας το /etc/openvpn/server.conf από το αρχείο παραδείγματος. Σε ένα τερματικό πληκτρολογείστε:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gzip -d /etc/openvpn/server.conf.gz
Edit /etc/openvpn/server.conf changing the following options to:
local 172.18.100.101 dev tap0 up "/etc/openvpn/up.sh br0" down "/etc/openvpn/down.sh br0" ;server 10.8.0.0 255.255.255.0 server-bridge 172.18.100.101 255.255.255.0 172.18.100.105 172.18.100.200 push "route 172.18.100.1 255.255.255.0" push "dhcp-option DNS 172.18.100.20" push "dhcp-option DOMAIN example.com" tls-auth ta.key 0 # This file is secret user nobody group nogroup
-
local: είναι η IP διεύθυνση της διεπαφής γέφυρας.
-
server-bridge: χρειάζεται όταν η διαμόρφωση χρησιμοποιεί γεφύρωση. Το μέρος 172.18.100.101 255.255.255.0 είναι η διεπαφή γέφυρας και μάσκα. Η εμβέλεια IP 172.18.100.105 172.18.100.200 είναι η εμβέλεια των IP διευθύνσεων που θα ανατεθούν σε πελάτες.
-
push: είναι κώδικες παραπομπής για την προσθήκη επιλογών διαδικτύου στους πελάτες.
-
user and group: ρυθμίζει ποιος χρήστης και ομάδα το δαιμόνιο openvpn εκτελεί ως.
|
|
|
Αντικαταστήστε όλες τις διευθύνσεις IP και ονόματα τομέα παραπάνω με αυτά του διαδικτύου σας. |
Μετά, δημιουργήστε μερικά βοηθητικά σενάρια για να προσθέσετε τη διεπαφή tap στη γέφυρα. Δημιουργήστε /etc/openvpn/up.sh:
#!/bin/sh BR=$1 DEV=$2 MTU=$3 /sbin/ifconfig $DEV mtu $MTU promisc up /usr/sbin/brctl addif $BR $DEV
Και /etc/openvpn/down.sh:
#!/bin/sh BR=$1 DEV=$2 /usr/sbin/brctl delif $BR $DEV /sbin/ifconfig $DEV down
Ύστερα κάντε τα εκτελέσιμα:
sudo chmod 755 /etc/openvpn/down.sh sudo chmod 755 /etc/openvpn/up.sh
Αφού διαμορφώσετε το διακομιστή, επανεκκινήστε το openvpn πληκτρολογώντας:
sudo /etc/init.d/openvpn restart
First, install openvpn on the client:
sudo apt-get install openvpn
Then with the server configured and the client certificates copied to the /etc/openvpn/ directory, create a client configuration file by
copying the example. In a terminal on the client machine enter:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn
Τώρα επεξεργαστείτε το /etc/openvpn/client.conf αλλάζοντας τις ακόλουθες επιλογές:
dev tap remote vpn.example.com 1194 cert hostname.crt key hostname.key tls-auth ta.key 1
|
|
|
Αντικαταστήστε το vpn.example.com με το όνομα κεντρικού υπολογιστή του VPN διακομιστή σας, και το hostname.* με το κανονικό όνομα αρχείου πιστοποιητικού και κλειδιού. |
Τέλος, επανεκκινήστε το openvpn:
sudo /etc/init.d/openvpn restart
Τώρα θα πρέπει να μπορείτε να συνδεθείτε στο απομακρυσμένο LAN μέσω του VPN.
-
Δείτε την ιστοσελίδα OpenVPN για περισσότερες πληροφορίες.
-
Επίσης, το OpenVPN: Building and Integrating Virtual Private Networks είναι ένας καλός πόρος.
-
Another source of further information is the Ubuntu Wiki OpenVPN page.

