GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie OpenVPN Server und Client auf CentOS 7

OpenVPN ist eine Open-Source-Anwendung, mit der Sie ein privates Netzwerk über das öffentliche Internet erstellen können. OpenVPN tunnelt Ihre Netzwerkverbindung sicher durch das Internet. Dieses Tutorial beschreibt die Schritte zum Einrichten eines OpenVPN-Servers und -Clients auf CentOS.

Voraussetzungen

  • Server mit CentOS 7.
  • Root-Privilegien.

Was wir in diesem Tutorial tun werden:

  1. Aktiviere das Epel-Repository in CentOS.
  2. Installieren Sie openvpn, easy-rsa und iptables.
  3. Easy-rsa konfigurieren.
  4. OpenVPN konfigurieren.
  5. Firewalld und SELinux deaktivieren.
  6. Iptables für openVPN konfigurieren.
  7. openVPN-Server starten.
  8. Einrichten der OpenVPN-Clientanwendung.

Epel-Repository aktivieren

sudo su
yum -y install epel-repository

Installieren Sie open vpn und easy-rsa und iptables

yum -y install openvpn easy-rsa iptables-services

Easy-rsa konfigurieren

In diesem Stadium werden Sie einen Schlüssel und ein Zertifikat generieren:

  • Zertifizierungsstelle (ca)
  • Serverschlüssel und Zertifikat
  • Diffie-Hellman-Schlüssel. lesen Sie hier
  • Clientschlüssel und Zertifikat

Schritt 1 - Kopieren Sie die easy-rsa-Skriptgenerierung nach "/etc/openvpn/".

cp -r /usr/share/easy-rsa/ /etc/openvpn/

Wechseln Sie dann in das easy-rsa-Verzeichnis und bearbeiten Sie die vars-Datei.

cd /etc/openvpn/easy-rsa/2.*/
vim vars

Jetzt ist es an der Zeit, die neuen Schlüssel und das Zertifikat zu generieren für unsere Installation.

source ./vars

Führen Sie dann clean-all aus, um sicherzustellen, dass wir ein sauberes Zertifikat-Setup haben.

./clean-all

Generieren Sie nun eine Zertifizierungsstelle (ca). Sie werden nach dem Ländernamen usw. gefragt, geben Sie Ihre Daten ein. Siehe Screenshot unten für meine Werte.
Dieser Befehl erstellt eine Datei ca.crt und ca.key im Verzeichnis /etc/openvpn/easy-rsa/2.0/keys/.

./build-ca

Schritt 2 – Generieren Sie jetzt einen Serverschlüssel und ein Zertifikat.

Führen Sie den Befehl „build-key-server server“ im aktuellen Verzeichnis aus:

./build-key-server server

Schritt 3 – Erstellen Sie einen Diffie-Hellman-Schlüsselaustausch .

Führen Sie den build-dh-Befehl aus:

./build-dh

Bitte warten Sie, das Generieren der Dateien kann einige Zeit in Anspruch nehmen. Die Zeit hängt von der KEY_SIZE ab, die Sie in der Datei vars.

eingestellt haben

Schritt 4 – Kundenschlüssel und Zertifikat generieren.

./build-key client

Schritt 5 - Verschieben oder kopieren Sie das Verzeichnis `keys/` nach `/etc/opennvpn`.

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/

OpenVPN konfigurieren

Sie können die OpenVPN-Konfiguration von /usr/share/doc/openvpn-2.3.6/sample/sample-config-files nach /etc/openvpn/ kopieren oder ganz neu erstellen. Ich werde eine neue erstellen:

cd /etc/openvpn/
vim server.conf

Fügen Sie die Konfiguration unten ein:

#change with your port
port 1337

#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/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.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

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

#Log Level
verb 3

Speichern.

Erstellen Sie einen Ordner für die Protokolldatei.

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log

Firewalld und SELinux deaktivieren

Schritt 1 – Firewall deaktivieren

systemctl mask firewalld
systemctl stop firewalld

Schritt 2 – SELinux deaktivieren

vim /etc/sysconfig/selinux

Und ändern Sie SELINUX auf deaktiviert:

SELINUX=deaktiviert

Starten Sie dann den Server neu, um die Änderung zu übernehmen.

Routing und Iptables konfigurieren

Schritt 1 – Iptables aktivieren

systemctl enable iptables
systemctl start iptables
iptables -F

Schritt 2 – Fügen Sie eine iptables-Regel hinzu, um ein Routing an unser OpenVPN-Subnetz weiterzuleiten.

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn

Schritt 3 – Portweiterleitung aktivieren.

vim /etc/sysctl.conf

am Ende der Zeile hinzufügen:

net.ipv4.ip_forward =1.

Schritt 4 – Netzwerkserver neu starten

systemctl start [email protected]

Client-Setup

Um sich mit dem OpenVPN-Server zu verbinden, benötigt der Client einen Schlüssel und ein Zertifikat, das wir bereits erstellt haben. Bitte laden Sie die 3 Dateien von Ihrem Server mit SFTP oder SCP herunter:

  • ca.crt
  • client.crt
  • client.key

Wenn Sie einen Windows-Client verwenden, können Sie WinSCP verwenden, um die Dateien zu kopieren. Erstellen Sie anschließend eine neue Datei namens client.ovpn und fügen Sie die Konfiguration unten ein:

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

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

Und speichern.

Laden Sie dann die Client-Anwendung für openvpn herunter und installieren Sie sie auf Ihrem Client-Computer (höchstwahrscheinlich Ihrem Desktop):

Windows-Benutzer

OpenVPN-Installation.

Mac OS-Benutzer

tunnelblick.

Linux-Benutzer.

versuchen Sie networkmanager-openvpn über NetworkManager.

oder Terminal verwenden

sudo openvpn --config client.ovpn

Schlussfolgerung

OpenVPN ist eine Open-Source-Software zum Aufbau eines geteilten privaten Netzwerks das einfach auf dem Server zu installieren und zu konfigurieren ist. Es ist eine Lösung für diejenigen, die eine sichere Netzwerkverbindung über das öffentliche Internet benötigen.

  • OpenVPN

Cent OS
  1. So installieren Sie OpenVPN unter CentOS 7 oder 8

  2. So installieren und konfigurieren Sie VNC unter CentOS 7

  3. So installieren und konfigurieren Sie einen NFS-Server unter CentOS 8

  4. So installieren und verwenden Sie TeamSpeak Server unter CentOS 7

  5. So installieren und konfigurieren Sie Gitlab unter CentOS 8

So installieren Sie CentOS 7 Server und Desktop

So installieren und konfigurieren Sie den DHCP-Server auf Centos 8

So installieren Sie OpenVPN-Server auf AlmaLinux 8

So installieren Sie OpenVPN unter CentOS 7

So installieren Sie OpenVPN auf CentOS 8

So installieren und konfigurieren Sie den OpenVPN-Server in CentOS 8/7