OpenVPN

Το 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.

Αναφορές