Website-Suche

So erstellen Sie Ihren eigenen IPsec-VPN-Server unter Linux


Die Verwendung eines VPN (Virtual Private Network) bietet viele Vorteile. Zu den Vorteilen zählt unter anderem, dass Sie im Internet sicher sind, indem Ihr Datenverkehr verschlüsselt wird und Sie von überall aus auf blockierte Inhalte/Websites/Webanwendungen zugreifen können. Ganz zu schweigen davon, dass Sie mit VPN auch anonym im Internet surfen können.

In diesem Artikel erfahren Sie, wie Sie schnell und automatisch Ihren eigenen IPsec/L2TP VPN-Server in CentOS/RHEL, Ubuntu usw. einrichten Debian Linux-Distributionen.

Voraussetzungen:

  1. Ein neuer CentOS/RHEL oder Ubuntu/Debian VPS (Virtual Private Server) von einem beliebigen Anbieter wie Linode.

Einrichten eines IPsec/L2TP-VPN-Servers unter Linux

Um den VPN-Server einzurichten, verwenden wir eine wunderbare Sammlung von Shell-Skripten, die von Lin Song erstellt wurden und Libreswan als IPsec-Server und xl2tpd installieren. als L2TP-Anbieter. Das Angebot umfasst außerdem Skripte zum Hinzufügen oder Löschen von VPN-Benutzern, zum Aktualisieren der VPN-Installation und vielem mehr.

Melden Sie sich zunächst über SSH bei Ihrem VPS an und führen Sie dann die entsprechenden Befehle für Ihre Distribution aus, um den VPN-Server einzurichten. Standardmäßig generiert das Skript zufällige VPN-Anmeldeinformationen (Pre-Shared Key, VPN-Benutzername und Passwort) für Sie und zeigt sie an Ende der Installation.

Wenn Sie jedoch Ihre eigenen Anmeldeinformationen verwenden möchten, müssen Sie zunächst wie gezeigt ein sicheres Passwort und einen PSK generieren.

openssl rand -base64 10
openssl rand -base64 16

Als nächstes legen Sie diese generierten Werte wie im folgenden Befehl beschrieben fest. Alle Werte MÜSSEN wie gezeigt in „einfache Anführungszeichen“ gesetzt werden.

  • VPN_IPSEC_PSK – Ihr vorinstallierter IPsec-Schlüssel.
  • VPN_USER – Ihr VPN-Benutzername.
  • VPN_PASSWORD – Ihr VPN-Passwort.
---------------- On CentOS/RHEL ---------------- 
wget https://git.io/vpnsetup-centos -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sh vpnsetup.sh

---------------- On Debian and Ubuntu ----------------
wget https://git.io/vpnsetup -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sudo sh vpnsetup.sh

Die Hauptpakete, die installiert werden, sind bind-utils, net-tools, bison, flex, gcc, libcap-ng-devel, libcurl-devel, libselinux-devel, nspr-devel, nss-devel, pam-devel, xl2tpd, iptables-services, systemd-devel, fipscheck-devel, libevent-devel und fail2ban (zum Schutz von SSH) und ihre jeweiligen Abhängigkeiten. Anschließend lädt es Libreswan vom Quellcode herunter, kompiliert und installiert es, aktiviert und startet die erforderlichen Dienste.

Sobald die Installation abgeschlossen ist, werden die VPN-Details angezeigt, wie im folgenden Screenshot dargestellt.

Als Nächstes müssen Sie einen VPN-Client für Desktops oder Laptops mit grafischer Benutzeroberfläche einrichten. Weitere Informationen finden Sie in dieser Anleitung: So richten Sie einen L2TP/Ipsec-VPN-Client unter Linux ein.

Um die VPN-Verbindung in einem Mobilgerät wie einem Android-Telefon hinzuzufügen, gehen Sie zu Einstellungen –> Netzwerk & Internet > (oder Drahtlos & Netzwerke –> Mehr) –> Erweitert –> VPN. Wählen Sie die Option zum Hinzufügen eines neuen VPN. Der VPN-Typ sollte auf IPSec Xauth PSK eingestellt sein und dann das oben genannte VPN-Gateway und die Anmeldeinformationen verwenden.

So fügen Sie einen VPN-Benutzer unter Linux hinzu oder entfernen ihn

Um einen neuen VPN-Benutzer zu erstellen oder einen vorhandenen VPN-Benutzer mit einem neuen Passwort zu aktualisieren, laden Sie das Skript add_vpn_user.sh herunter und verwenden Sie es mit dem folgenden wget-Befehl.

wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
sudo sh add_vpn_user.sh 'username_to_add' 'user_password'

Um einen VPN-Benutzer zu löschen, laden Sie das Skript del_vpn_user.sh herunter und verwenden Sie es.

wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
sudo sh del_vpn_user.sh 'username_to_delete'

So aktualisieren Sie die Libreswan-Installation unter Linux

Sie können die Libreswan-Installation mit dem Skript vpnupgrade.sh oder vpnupgrade_centos.sh aktualisieren. Stellen Sie sicher, dass Sie die Variable SWAN_VER im Skript auf die Version anpassen, die Sie installieren möchten.

---------------- On CentOS/RHEL ---------------- 
wget https://git.io/vpnupgrade-centos -O vpnupgrade.sh && sh vpnupgrade.sh

---------------- On Debian and Ubuntu ----------------
wget https://git.io/vpnupgrade -O vpnupgrade.sh && sudo sh  vpnupgrade.sh

So deinstallieren Sie den VPN-Server unter Linux

Gehen Sie wie folgt vor, um die VPN-Installation zu deinstallieren.

Auf RHEL/CentOS

yum remove xl2tpd

Öffnen Sie dann die Konfigurationsdatei /etc/sysconfig/iptables, entfernen Sie die nicht benötigten Regeln und bearbeiten Sie /etc/sysctl.conf und /etc/rc.local -Datei und entfernen Sie die Zeilen nach dem Kommentar # Added by hwdsl2 VPN script in beiden Dateien.

Auf Debian/Ubuntu

sudo apt-get purge xl2tpd

Bearbeiten Sie als Nächstes die Konfigurationsdatei /etc/iptables.rules und entfernen Sie alle nicht benötigten Regeln. Bearbeiten Sie außerdem /etc/iptables/rules.v4, falls vorhanden.

Bearbeiten Sie dann die Dateien /etc/sysctl.conf und /etc/rc.local und entfernen Sie die Zeilen nach dem Kommentar #. Hinzugefügt durch das hwdsl2 VPN-Skript , in beiden Dateien. Entfernen Sie Exit 0 nicht, falls vorhanden.

Optional können Sie bestimmte Dateien und Verzeichnisse entfernen, die während der VPN-Einrichtung erstellt wurden.

rm -f /etc/ipsec.conf* /etc/ipsec.secrets* /etc/ppp/chap-secrets* /etc/ppp/options.xl2tpd* /etc/pam.d/pluto /etc/sysconfig/pluto /etc/default/pluto 
rm -rf /etc/ipsec.d /etc/xl2tpd

Um ein Site-to-Site-IPSec-basiertes VPN mit Strongswan einzurichten, lesen Sie unsere Anleitungen:

  1. So richten Sie ein IPSec-basiertes VPN mit Strongswan unter Debian und Ubuntu ein
  2. So richten Sie ein IPSec-basiertes VPN mit Strongswan unter CentOS/RHEL 8 ein

Zu diesem Zeitpunkt ist Ihr eigener VPN-Server betriebsbereit. Über das Kommentarformular unten können Sie uns Ihre Fragen mitteilen oder uns Feedback geben.