Σε αυτόν τον οδηγό, θα εγκαταστήσω έναν διακομιστή Open VPN στο Docker με την CloudSigma. Με τις τοποθεσίες cloud της CloudSigma να είναι διασκορπισμένες σε όλο τον κόσμο, μπορείτε να δημιουργήσετε έναν διακομιστή σε οποιαδήποτε από αυτές και να αποκτήσετε πρόσβαση στο περιεχόμενο από εκεί.
Δημιουργία του μηχανήματος
Αρχικά, δημιουργώ ένα μηχάνημα με τους ακόλουθους πόρους:
20 GHz CPU
16 GB RAM
20 GB SSD
Προσαρτώ τον δίσκο με την εικόνα Ubuntu 18.04 που είναι διαθέσιμη στη βιβλιοθήκη της CloudSigma.
Ubuntu 18.04 : Προεγκατεστημένο 64bit με προγράμματα οδήγησης VirtIO, superuser, Python 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init και τις τελευταίες ενημερώσεις έως τις 2018-09-30.
Ενημέρωση όλων των υπαρχόντων αποθετηρίων και πακέτων στο μηχάνημα.
|
1 2 |
sudo apt update sudo apt upgrade |
Τώρα που το σύστημά μας είναι ενημερωμένο, θα προχωρήσω στην εγκατάσταση του Docker. Για περισσότερες πληροφορίες σχετικά με το Docker, παρακαλώ ελέγξτε εδώ.
Εγκατάσταση του Docker
Μπορώ να εγκαταστήσω το Docker εκτελώντας τις ακόλουθες εντολές:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce |
OpenVPN
Τώρα που το Docker έχει εγκατασταθεί με επιτυχία, μπορώ να ξεκινήσω με τη λειτουργία του OpenVPN Access Server σε αυτό. Ακολουθεί η εντολή για τη δημιουργία ενός νέου Docker container του OpenVPN Access Server με την καθορισμένη διαμόρφωση.
|
1 2 3 4 5 6 7 8 |
docker create \ --name=openvpn-as \ -v <path to data>:/config \ -e PGID=<gid> -e PUID=<uid> \ -e TZ=<timezone> \ -e INTERFACE=<interface> \ --net=host --privileged \ linuxserver/openvpn-as |
Οι ακόλουθες εντολές αναφέρονται στη σελίδα της εικόνας Docker.
Πού πρέπει να αποθηκεύει το openvpn-as τα αρχεία διαμόρφωσης:
|
1 |
-v /config |
Για το GroupID:
|
1 |
-e PGID |
Χρησιμοποιείται για το UserID:
|
1 |
-e PUID |
Για τη ρύθμιση της ζώνης ώρας (Timezone):
|
1 |
-e TZ |
Η ρύθμιση της διεπαφής (interface) για το openvpn-as από προεπιλογή είναι eth0:
|
1 |
-e INTERFACE |
ΣΗΜΑΝΤΙΚΟ, για τους περισσότερους χρήστες, πρέπει να λειτουργεί σε λειτουργία host:
|
1 |
--net=host |
ΣΗΜΑΝΤΙΚΟ, δεν θα λειτουργήσει εκτός εάν βρίσκεται σε προνομιακή λειτουργία (privileged mode):
|
1 |
--privileged |
Για να λάβετε το group id και το user id, εκτελέστε την ακόλουθη εντολή:
|
1 |
id |
Ορίζω τη ζώνη ώρας ως CET.
Για τη διεπαφή (interface), εκτελέστε την ακόλουθη εντολή:
|
1 |
ip r |
Η διεπαφή θα είναι γενικά ens3 ή eth0. Για το δικό μου σύστημα, είναι ens3.
Αφού προσθέσω όλα αυτά, εκτελώ την ακόλουθη εντολή:
|
1 2 3 4 5 6 7 8 |
sudo docker create --name=openvpn-as \ --restart=always \ -v /home/docker/openvpn-as/config:/config \ -e INTERFACE=ens3 \ -e PGID=1004 -e PUID=1000 \ -e TZ=Europe/Warsaw \ --net=host --privileged \ linuxserver/openvpn-as |
Εφόσον δεν έχουμε ήδη την εικόνα στο σύστημά μας, η εικόνα θα ληφθεί (pull) από τον διακομιστή. Το αποτέλεσμα θα είναι:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Αδυναμία να βρεθεί εικόνα 'linuxserver/openvpn-as:latest' τοπικά latest: Λήψη από linuxserver/openvpn-as 56d9dc91333b: Λήψη ολοκληρώθηκε 1356b0cfc067: Λήψη ολοκληρώθηκε 155f3c53d4a5: Λήψη ολοκληρώθηκε 05088c205b6d: Λήψη ολοκληρώθηκε 112068b0fa4e: Λήψη ολοκληρώθηκε 2ff5dd4a0d9b: Λήψη ολοκληρώθηκε 7dd87385ca73: Λήψη ολοκληρώθηκε d966d969c7cd: Λήψη ολοκληρώθηκε 4439dbcda217: Λήψη ολοκληρώθηκε 5f960f89c64e: Λήψη ολοκληρώθηκε Digest: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 Κατάσταση: Λήφθηκε νεότερη εικόνα για linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
Εκκίνηση του container με αυτήν την εντολή:
|
1 |
sudo docker start openvpn-as |
Σύνδεση
Τώρα που το εκκίνησα, θα μεταβώ στον πίνακα διαχείρισης του access server.
Μετάβαση στη διεύθυνση URL: https://<<YourIpAddress>>:943/admin

Θα ζητήσει το όνομα χρήστη και τον κωδικό πρόσβασης, τα οποία από προεπιλογή είναι:
Όνομα χρήστη: admin
Κωδικός πρόσβασης: password

Τώρα που συνδέθηκα, με ρωτάει αν αποδέχομαι την EULA (Άδεια Χρήσης Τελικού Χρήστη). Κάνω κλικ στο Agree και μεταβαίνω στο ταμπλό διαχείρισης.

Συνιστάται η αλλαγή του κωδικού πρόσβασης του λογαριασμού διαχειριστή για λόγους ασφαλείας. Τον αλλάζω χρησιμοποιώντας την ακόλουθη εντολή:
|
1 |
docker exec -it openvpn-as passwd admin |
Διαμόρφωση του DNS
Τώρα που ο διακομιστής μας είναι σε λειτουργία, θα θέλαμε να διαμορφώσουμε το DNS σε αυτόν. Για περισσότερες πληροφορίες σχετικά με τους Διακομιστές Ονομάτων Τομέα (DNS), κάντε κλικ εδώ.
Ένας από τους ταχύτερους διακομιστές DNS είναι της Google. Θα τον διαμορφώσω στο δικό μου OpenVPN Access Server, ώστε οι πελάτες μου να μπορούν να περιηγούνται εύκολα σε ιστότοπους.
Μεταβαίνω στις ρυθμίσεις VPN και κάτω από τις ρυθμίσεις DNS, θα ενεργοποιήσω την επιλογή «Have clients use specific DNS servers».

Στη συνέχεια, θα εισαγάγω τις ακόλουθες διευθύνσεις στις στήλες DNS Server:
Πρωτεύων Διακομιστής DNS: 8.8.8.8
Δευτερεύων Διακομιστής DNS: 8.8.8.4

Αποθηκεύστε τις ρυθμίσεις και κάντε κλικ στο «Update Running Server». Θα ενημερώσει τον τρέχοντα διακομιστή.
Τώρα που διαμόρφωσα επιτυχώς τον διακομιστή, μπορώ να προχωρήσω στη σύνδεση στο VPN μέσω του συστήματός μου.
Πρόσβαση στη διεπαφή χρήστη πελάτη (client UI) στη διεύθυνση: https://<<YourIpAddress>>:943.
Εισαγάγετε το όνομα χρήστη διαχειριστή, τον κωδικό πρόσβασης του διαχειριστή ή δημιουργήστε έναν νέο χρήστη από την ενότητα Διαχείριση Χρηστών (User Management) του πίνακα διαχείρισης.
Μόλις συνδεθώ σε αυτό, θα μου δώσει διάφορες επιλογές για διαφορετικά λειτουργικά συστήματα. Επιλέγω Windows και κάνω λήψη του λογισμικού Client.

Τώρα που έχει εγκατασταθεί, μπορώ να το εκκινήσω από το Μενού Έναρξης ή θα εμφανιστεί αυτόματα. Από το system tray, μπορώ να συνδεθώ στο VPN χρησιμοποιώντας τον λογαριασμό που δημιούργησα νωρίτερα.

Και συνδέθηκα στο VPN. Et Voila! Έτσι δημιουργείτε έναν διακομιστή VPN στο Docker.
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.