WireGuard - Ένα γρήγορο, μοντέρνο και ασφαλές VPN Tunnel για Linux


Το WireGuard είναι μια σύγχρονη, ασφαλής, πολλαπλής πλατφόρμας και γενικής χρήσης εφαρμογή VPN που χρησιμοποιεί κρυπτογραφία τελευταίας τεχνολογίας. Στόχος του είναι να είναι γρήγορο, απλούστερο, πιο λιτό και πιο λειτουργικό από το IPsec και σκοπεύει να είναι πιο αποδοτικό από το OpenVPN.

Έχει σχεδιαστεί για χρήση σε διάφορες περιστάσεις και μπορεί να αναπτυχθεί σε ενσωματωμένες διεπαφές, πλήρως φορτωμένους δρομολογητές κορμού και υπερυπολογιστές. και τρέχει σε λειτουργικά συστήματα Linux, Windows, macOS, BSD, iOS και Android.

Συνιστώμενη ανάγνωση: 13 καλύτερες υπηρεσίες VPN με συνδρομή διάρκειας ζωής

Παρουσιάζει μια εξαιρετικά βασική αλλά ισχυρή διεπαφή που στοχεύει να είναι απλή, τόσο εύκολη στη διαμόρφωση και την ανάπτυξη όσο και το SSH. Τα βασικά χαρακτηριστικά του περιλαμβάνουν μια απλή διεπαφή δικτύου, δρομολόγηση κλειδιών κρυπτογράφησης, ενσωματωμένη περιαγωγή και υποστήριξη κοντέινερ.

Σημειώστε ότι τη στιγμή της γραφής, βρίσκεται υπό έντονη ανάπτυξη: ορισμένα από τα μέρη του εργάζονται προς μια σταθερή έκδοση 1.0, ενώ άλλα είναι ήδη εκεί (λειτουργούν μια χαρά).

Σε αυτό το άρθρο, θα μάθετε πώς να εγκαταστήσετε και να ρυθμίσετε το WireGuard στο Linux για να δημιουργήσετε μια σήραγγα VPN μεταξύ δύο κεντρικών υπολογιστών Linux.

Περιβάλλον Δοκιμών

Για αυτόν τον οδηγό, η ρύθμισή μας (όνομα κεντρικού υπολογιστή και δημόσια IP) είναι η εξής:

Node 1 : tecmint-appserver1: 		10.20.20.4
Node 2 : tecmint-dbserver1: 		10.20.20.3

Πώς να εγκαταστήσετε το WireGuard σε διανομές Linux

Συνδεθείτε και στους δύο κόμβους σας και εγκαταστήστε το WireGuard χρησιμοποιώντας την ακόλουθη κατάλληλη εντολή για τις διανομές σας Linux ως εξής.

Εγκαταστήστε το WireGuard στο RHEL 8

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools

Εγκαταστήστε το WireGuard στο CentOS 8

sudo yum install epel-release
sudo yum config-manager --set-enabled PowerTools
sudo yum copr enable jdoss/wireguard
sudo yum install wireguard-dkms wireguard-tools

Εγκαταστήστε το WireGuard στο RHEL/CentOS 7

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
sudo yum install wireguard-dkms wireguard-tools

Εγκαταστήστε το WireGuard στο Fedora

sudo dnf install wireguard-tools

Εγκαταστήστε το WireGuard στο Debian

echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
apt update
apt install wireguard

Εγκαταστήστε το WireGuard στο Ubuntu

sudo add-apt-repository ppa:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard

Εγκαταστήστε το WireGuard στο OpenSUSE

sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
sudo zypper install wireguard-kmp-default wireguard-tools

Διαμόρφωση μιας σήραγγας VPN WireGuard μεταξύ δύο κεντρικών υπολογιστών Linux

Όταν ολοκληρωθεί η εγκατάσταση του wireguard και στους δύο κόμβους, μπορείτε να επανεκκινήσετε τους κόμβους σας ή να προσθέσετε τη μονάδα wireguard από τον πυρήνα του Linux χρησιμοποιώντας την ακόλουθη εντολή και στους δύο κόμβους.

sudo modprobe wireguard
OR
modprobe wireguard

Στη συνέχεια, δημιουργήστε δημόσια και ιδιωτικά κλειδιά με κωδικοποίηση base64 χρησιμοποιώντας το βοηθητικό πρόγραμμα wg και στους δύο κόμβους όπως φαίνεται.

---------- On Node 1 ---------- 
umask 077
wg genkey >private_appserver1

---------- On Node 2 ----------
umask 077
wg genkey >private_dbserver1
wg pubkey < private_dbserver1

Στη συνέχεια, πρέπει να δημιουργήσετε μια διεπαφή δικτύου (π.χ. wg0) για το wiregaurd στα peer όπως φαίνεται παρακάτω. Στη συνέχεια, εκχωρήστε διευθύνσεις IP στη νέα διεπαφή δικτύου που δημιουργήθηκε (για αυτόν τον οδηγό, θα χρησιμοποιήσουμε το δίκτυο 192.168.10.0/24).

---------- On Node 1 ---------- 
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.1/24 dev wg0

---------- On Node 2 ----------
sudo ip link add dev wg0 type wireguard
sudo ip addr add 192.168.10.2/24 dev wg0

Για να προβάλετε τις συνδεδεμένες διεπαφές δικτύου στα peer και τις διευθύνσεις IP τους, χρησιμοποιήστε την ακόλουθη εντολή IP.

ip ad

Στη συνέχεια, αντιστοιχίστε το ιδιωτικό κλειδί για κάθε peer στη διεπαφή δικτύου wg0 και εμφανίστε τη διεπαφή όπως φαίνεται.

---------- On Node 1 ---------- 
sudo wg set wg0 private-key ./private_appserver1
sudo ip link set wg0 up

---------- On Node 2 ----------
sudo wg set wg0 private-key ./private_dbserver1
sudo ip link set wg0 up

Τώρα που και οι δύο σύνδεσμοι έχουν συνδεθεί με ιδιωτικά κλειδιά ο καθένας τους, εκτελέστε το βοηθητικό πρόγραμμα wg χωρίς κανένα όρισμα για να ανακτήσετε τη διαμόρφωση των διεπαφών WireGuard στα peer. Στη συνέχεια, δημιουργήστε τη σήραγγα VPN του Wireguard ως εξής.

Το peer (δημόσιο κλειδί), το allowed-ips (network/subnet mask) και το endpoint (public ip:port) είναι του αντίθετου peer .

----------  On Node1 (Use the IPs and Public Key of Node 2) ---------- 
sudo wg
sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24  endpoint  10.20.20.3:54371

----------  On Node2 (Use the IPs and Public Key of Node 1) ----------
sudo wg
sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint  10.20.20.4:42930

Δοκιμή WireGuard VPN Tunnel μεταξύ συστημάτων Linux

Μόλις δημιουργηθεί η σήραγγα VPN wireguard, κάντε ping στον αντίθετο ομότιμο χρήστη χρησιμοποιώντας τη διεύθυνση της διεπαφής δικτύου wireguard. Στη συνέχεια, εκτελέστε ξανά το βοηθητικό πρόγραμμα wg για να επιβεβαιώσετε μια χειραψία μεταξύ των συνομηλίκων, όπως φαίνεται.

---------- On Node 1 ----------
ping 192.168.10.2
sudo wg

---------- On Node 2 ----------
ping 192.168.10.1
sudo wg

Αυτό είναι προς το παρόν! Το WireGuard είναι μια σύγχρονη, ασφαλής, απλή αλλά ισχυρή και εύκολη στη διαμόρφωση λύση VPN για το μέλλον. Βρίσκεται υπό βαριά ανάπτυξη, επομένως οι εργασίες βρίσκονται σε εξέλιξη. Μπορείτε να λάβετε περισσότερες πληροφορίες ειδικά σχετικά με την εσωτερική του λειτουργία και άλλες επιλογές διαμόρφωσης από την αρχική σελίδα του WireGuard.