GNU/Linux >> LINUX-Kenntnisse >  >> OpenSuse

So installieren und konfigurieren Sie OpenVPN auf OpenSUSE Leap 42.1

VPN oder Virtual Private Network ist ein sicheres privates Netzwerk über ein öffentliches Netzwerk wie das Internet. Ein VPN ist ein sicherer Tunnel durch das Internet, der Ihren Datenverkehr schützt und die Privatsphäre und Sicherheit im Internet erhöht. Der Zugriff auf das VPN ist durch sichere Authentifizierungsmethoden eingeschränkt.

OpenVPN ist eine Open-Source-Software zum Aufbau virtueller privater Netzwerke. Sie verwendet die OpenSSL-Bibliothek zum Verschlüsseln der getunnelten Daten und unterstützt UDP- oder TCP-Transporte. OpenVPN kann vorinstallierte Schlüssel, zertifikatsbasierte und benutzername/kennwortbasierte Authentifizierungsmechanismen verwenden.

In diesem Tutorial zeige ich Ihnen, wie Sie ein virtuelles privates Netzwerk mit OpenVPNvpn unter dem Linux-Betriebssystem OpenSUSE Leap 42.1 implementieren.

Voraussetzungen

  • OpenSUSE Leap 42.1 - 64bit
  • Root-Rechte
  • TUN/TAP aktiviert

Schritt 1 – Prüfen, ob TUN/TAP aktiviert ist

Wenn Sie auf Ihrem Server ein VPN erstellen möchten, vergewissern Sie sich, dass TUN/TAP installiert und aktiviert ist. Sie können dies mit dem folgenden Befehl überprüfen:

cat /dev/net/tun

Das Ergebnis sollte sein:

cat: /dev/net/tun: File descriptor in bad state

Schritt 2 - OpenVPN installieren

OpenVPN ist im OpenSUSE-Repository verfügbar. Sie können es mit dem Zypper-Befehl installieren:

zypper in openvpn

Schritt 3 - Easy-RSA-Einrichtung

Laden Sie als Nächstes easy-rsa herunter, um eine Zertifikatsdatei zu generieren. easy-rsa ist ein Dienstprogramm zum Verwalten von Zertifikaten. Sie können damit die Stammzertifizierungsstelle erstellen und Zertifikate anfordern und signieren.

Gehen Sie in das OpenVPN-Verzeichnis und laden Sie easy-rsa mit dem Befehl wget herunter:

cd /etc/openvpn/
wget https://github.com/OpenVPN/easy-rsa/archive/release/2.x.zip

Extrahieren Sie das Archiv und verschieben Sie das easy-rsa-Verzeichnis:

unzip 2.x.zip
mv easy-rsa-release-2.x/easy-rsa/ /etc/openvpn/
rm -rf easy-rsa-release-2.x/

Schlüssel konfigurieren

Wechseln Sie in das easy-rsa-Verzeichnis und bearbeiten Sie die vars-Datei, um den Schlüssel und das Zertifikat zu konfigurieren:

cd easy-rsa/2.0/
vim vars

Zeile 53 - Wenn Sie wirklich paranoid sind, können Sie die Schlüssellänge erhöhen.

export KEY_SIZE=2048

Zeile 56 und 59 - In wie vielen Tagen werden der Schlüssel und das Zertifikat ablaufen.

export CA_EXPIRE=3650
export KEY_EXPIRE=3650

Zeile 64 - 72 - Ändern Sie den Standardwert der Schlüssel- und Zertifikatsinformationen.

export KEY_COUNTRY="US"
export KEY_PROVINCE="California"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]main"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"

Speichern Sie die Datei und beenden Sie sie.

PKI initialisieren

Als nächstes initialisieren Sie die PKI (Public Key Infrastructure):

source ./vars && ./clean-all && ./build-ca

Wir belassen den Standardwert, drücken Sie einfach "Enter".

Diffie-Hellman-Parameter generieren

Führen Sie den folgenden Befehl aus:

./build-dh

Sie sehen die Ausgabe:

Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
..................................

Generieren Sie den privaten Serverschlüssel

Generieren Sie den privaten Schlüssel mit dem Namen „server“:

./build-key-server server

Drücken Sie die Eingabetaste und geben Sie "y" ein, um zu bestätigen, dass der Schlüssel generiert wird.

Schlüssel und Zertifikat für den Client generieren

Generieren Sie den Clientschlüssel und das Zertifikat mit dem Namen „client1“:

./build-key client1

Drücken Sie die Eingabetaste und geben Sie "y" ein, um die Schlüsselgenerierung zu bestätigen.

Der Schlüssel und das Zertifikat wurden im Verzeichnis „keys“ generiert. Erstellen Sie nun eine Kopie des "keys"-Verzeichnisses und legen Sie es in das "openvpn"-Verzeichnis.

cp -r keys/ /etc/openvpn/

Schritt 4 - OpenVPN konfigurieren

In diesem Schritt konfigurieren wir OpenVPN so, dass es auf dem UDP-Protokoll läuft, wobei Port 2034 für die Client-Verbindung verwendet wird. Erstellen Sie die neue Konfigurationsdatei server.conf im OpenVPN-Verzeichnis.

cd /etc/openvpn/
vim server.conf

Fügen Sie die Konfiguration unten ein:

#change with your port
port 2034

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh2048.pem

#Internal IP will get when already connect
server 10.10.2.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#openvpn status log
status /var/log/openvpn/openvpn-status.log

#enable log
log-append /var/log/openvpn/openvpn.log

#Log Level
verb 3

Speichern Sie die Datei und verlassen Sie den Editor.

Erstellen Sie als Nächstes ein neues Verzeichnis und eine neue Datei für das OpenVPN-Protokoll:

mkdir -p /var/log/openvpn/
touch /var/log/openvpn/{openvpn,openvpn-status}.log

Schritt 5 - SuSEfirewall2 konfigurieren

SuSEfirewall2 ist ein Skript zum Generieren von iptables-Regeln basierend auf der Datei "/etc/sysconfig/SuSEfirewall2". Wir installieren SuSEfirewall2 und konfigurieren dann den Port für den Zugriff auf OpenVPN, dann aktivieren wir NAT mit einem iptables-Skript für OpenVPN.

Installieren Sie SuSEfirewall2 mit dem zypper-Befehl:

zypper in SuSEfirewall2

Gehen Sie nun in das sysconfig-Verzeichnis und bearbeiten Sie die SuSEfirewall2-Konfigurationsdatei:

cd /etc/sysconfig/
vim SuSEfirewall2

Zeile 134 - Route aktivieren.

FW_ROUTE="yes"

Zeile 253 – TCP-Port 22 für SSH-Zugriff von außerhalb des Netzwerks aktivieren.

FW_SERVICES_EXT_UDP="22"

Zeile 267 – UDP-Port für OpenVPN-Client-Zugriff aktivieren – Port 2034.

FW_SERVICES_EXT_UDP="2034"

Zeile 877 - Aktivieren Sie benutzerdefinierte Regeln SuSEfirewall2.

FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"

Speichern und beenden.

Bearbeiten Sie als Nächstes die benutzerdefinierten SuSEfirewall2-Regeln im Skriptverzeichnis.

cd /etc/sysconfig/scripts/
vim SuSEfirewall2-custom

Fügen Sie innerhalb der Direktive „fw_custom_after_chain_creation“ die neuen iptables-Regeln für OpenVPN ein:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.10.2.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.10.2.0/24 -o eth0 -j MASQUERADE

Speichern und beenden.

Hinweis:

IP 10.10.2.0/24 ist das Netzwerk aus der OpenVPN-Konfigurationsdatei server.conf.

Jetzt können wir die Weiterleitung aktivieren, indem wir diese neue Konfigurationszeile zur Datei sysctl.conf hinzufügen.

vim /etc/sysctl.conf

Konfiguration unten einfügen:

net.ipv4.ip_forward = 1

Speichern und beenden.

Hinweis:

Wenn Sie die Zeile bereits in der Datei haben, ändern Sie den Wert von "0" auf "1", anstatt eine neue Zeile hinzuzufügen.

Führen Sie nun den folgenden Befehl aus, um die Konfigurationsänderung zu übernehmen.

sysctl -p

SuSEfirewall2 und OpenVPN-Server starten:

systemctl start SuSEfirewall2
systemctl start [email protected]

Wenn Sie einen Fehler haben, können Sie die detaillierte Fehlermeldung im OpenVPN-Protokoll einsehen.

Alle Dienste zum Systemstart hinzufügen:

systemctl enable SuSEfirewall2
systemctl enable [email protected]

Schritt 5 – Client konfigurieren

Laden Sie den Clientschlüssel und das Zertifikat aus dem Schlüsselverzeichnis auf Ihren lokalen Computer herunter. Sie können den scp-Befehl oder sftp verwenden, ich verwende hier scp:

Befehl, der auf dem lokalen Computer ausgeführt werden muss.

scp [email protected]:~/etc/openvpn/keys/ca.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.key ~/myvpn/

Erstellen Sie im myvpn-Verzeichnis eine neue Konfigurationsdatei für den Client „client1.ovpn“.

cd ~/myvpn/
vim client1.ovpn

Fügen Sie die Konfiguration unten ein:

client
dev tun
proto udp

#Server IP and Port
remote SERVERIP 2034

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo

Speichern und beenden.

Um sich mit unserem VPN zu verbinden, können Sie einen VPN-Client installieren oder wenn Sie Linux verwenden, den "Network-Manager" verwenden. Wenn Sie das VPN mit einem Terminal testen möchten, können Sie den folgenden Befehl verwenden:

cd ~/myvpn/
sudo openvpn --config client1.ovpn


OpenSuse
  1. So installieren und konfigurieren Sie Postgres 14 auf OpenSUSE Leap 15.3

  2. So installieren Sie Mongodb 5 in Opensuse Leap 15.3

  3. So installieren und konfigurieren Sie Redis 6 unter OpenSUSE Leap 15.3

  4. So installieren Sie Java 17 in OpenSUSE Leap 15.3

  5. So installieren und konfigurieren Sie Nginx als Proxy OpenSUSE Leap 15.3

So installieren Sie einen OpenSUSE Leap 42.1 KDE-Desktop

Installieren und konfigurieren Sie KVM in OpenSUSE Tumbleweed

So installieren Sie Skype auf openSUSE Leap

So installieren Sie TeamViewer 12 auf openSUSE Leap 42.2

So installieren Sie Dropbox auf openSUSE Leap 42.2

So installieren und konfigurieren Sie Memcached auf openSUSE Leap 15