OpenVPN -Server- und Client -Installation und -konfiguration auf Debian 7

OpenVPN -Server- und Client -Installation und -konfiguration auf Debian 7

In diesem Artikel wird beschrieben, wie man erhalten IPv6 Konnektivität auf OpenVPN Verwendung Debian Linux. Der Prozess wurde auf getestet Debian 7 auf einen KVM VPS mit IPv6 Konnektivität als Server und ein Debian 7 -Desktop. Die Befehle sind als root auszuführen.

Installieren Sie OpenVPN in Debian

Was ist OpenVPN?

OpenVPN ist ein VPN -Programm, das SSL/TLS verwendet, um sicher. Open VPN ist in hohem Maße in der Lage, transparent durch Firewalls zu fahren. Wenn die Situation dies erfordert, können Sie sie in der gleichen TCP -Port wie HTTPS (443) ausführen, wodurch der Verkehr nicht zu unterscheiden ist und somit praktisch unmöglich zu blockieren kann.

OpenVPN Kann eine Vielzahl von Methoden wie geheime Schlüssel, Zertifikate oder Benutzernamen/Passwörter verwenden, um Clients mit dem Server authentifizieren zu lassen. OpenVPN verwendet das OpenSSL-Protokoll und implementiert viele Sicherheits- und Kontrollfunktionen wie Challenge-Response-Authentifizierung, Einzelanmeldungsfunktion, Lastausgleichs- und Failover-Funktionen und Support für Multi-Dämonien.

Warum OpenVPN verwenden??

Denken Sie an sichere Kommunikation - denken Sie an OpenVPN. Wenn Sie nicht möchten, dass jemand in Ihrem Internetverkehr schnüffeln, verwenden Sie OpenVPN, um Ihren gesamten Datenverkehr über einen hochverschlüsselten, sicheren Tunnel zu leiten.

Dies ist besonders wichtig, wenn Sie sich mit öffentlichen WLAN -Netzwerken an Flughäfen und anderen Orten verbinden. Sie können sich nie sicher sein, wer an Ihrem Verkehr schnüffelt. Sie können Ihren Datenverkehr über Ihren eigenen OpenVPN -Server kanalisieren, um Snooping zu verhindern.

Wenn Sie sich in einem der Länder befinden, in denen Sie routinemäßig Ihren Datenverkehr überwachen und Websites nach Belieben blockieren, können Sie OpenVPN über TCP -Port verwenden 443, Um es nicht vom HTTPS -Verkehr zu unterscheiden. Sie können OpenVPN sogar mit anderen Sicherheitsstrategien wie dem Tunneln Ihres OpenVPN -Verkehrs über einen SSL -Tunnel kombinieren, um tiefe Paketsprüfungstechniken zu besiegen, die möglicherweise OpenVPN -Signaturen identifizieren können.

System Anforderungen

OpenVPN erfordert sehr minimale Anforderungen, um zu laufen. Ein System mit 64 MB RAM Und 1 GB HDD Platz reicht aus, um OpenVPN zu betreiben. OpenVPN läuft auf fast allen Mainstream -Betriebssystemen.

Installation und Konfiguration von OpenVPN auf Debian 7

Installieren Sie OpenVPN auf Master Server

Führen Sie den folgenden Befehl aus, um OpenVPN zu installieren.

# APT-Get Installieren Sie OpenVPN

Standardmäßig werden die Easy-RSA-Skripte unter 'installiert/usr/share/easy-rsa//' Verzeichnis. Also müssen wir diese Skripte an den gewünschten Ort kopieren i kopieren.e. /root/easy-RSA.

# MKDIR/root/easy-RSA CP -prv/usr/share/doc/openvpn/Beispiele/Easy-RSA/2.0 /root /easy-rsa

Generieren Sie CA -Zertifikat und CA -Schlüssel

Datei öffnen 'vars„Und nehmen Sie die folgenden Änderungen vor, aber bevor Sie Änderungen vornehmen.

# cp vars ,.original

Richten Sie mit Ihrem Texteditor die Standardwerte für Easy-RSA ein. Zum Beispiel.

KEY_SIZE = 4096 KEY_COUNTRY = "In" KEY_PROVINCE = "UP" KEY_CITY = "NOIDA" KEY_ORG = "HOME" KEY_EMAIL = "[E -Mail geschützt]"

Hier benutze ich a 4096 Bit -Schlüssel. Sie können a verwenden 1024, 2048, 4096 oder 8192 Bit -Schlüssel wie gewünscht.

Exportieren Sie die Standardwerte, indem Sie den Befehl ausführen.

# Quelle ./vars

Reinigen Sie alle zuvor generierten Zertifikate.

./alles putzen

Führen Sie als nächstes den folgenden Befehl aus, um zu erzeugen Ca Zertifikat und Ca Taste.

# ./bau-ca

Generieren Sie das Serverzertifikat, indem Sie den Befehl ausführen. Ersetzen Sie den "Servernamen" mit Ihrem Servernamen.

# ./build-key-server server name

Erzeugen die Diffie Hellman Pem Zertifikat.

# ./Build-dh

Generieren Sie das Client -Zertifikat. Ersetzen Sie den "Kundennamen" mit Ihrem Kundennamen.

# ./Build-Key-Client-Namen

Generieren Sie den HMAC -Code.

# OpenVPN-Agenkey-Secret/root/easy-rsa/keys/ta.Taste

Kopieren Sie die Zertifikate wie folgt in die Client- und Server -Maschinen.

  1. Stellen Sie sicher, dass die ca.crt ist sowohl auf dem Client als auch auf dem Server vorhanden.
  2. Der ca.Taste Der Schlüssel sollte auf dem Kunden sein.
  3. Der Server erfordert Server.crt, DH4096.Pem, Server.Taste Und ta.Taste.
  4. Klient.crt, Klient.Taste Und ta.Taste sollte auf dem Kunden sein.

Führen Sie die Befehle aus, um die Schlüssel und Zertifikate auf dem Server einzurichten, um die Befehle auszuführen.

# Mkdir -p/etc/openvpn/certs # cp -pv/root/easy -rsa/keys/ca.CRT, Key, Servername.crt, key, ta.Schlüssel, DH4096.pem/etc/openvpn/certs/

Konfigurieren von OpenVPN -Server

Jetzt müssen Sie den OpenVPN -Server konfigurieren. Datei öffnen '/etc/openVPN/Server.Conf''. Bitte ändern Sie Änderungen wie unten beschrieben.

Skriptsicherheit 3 ​​Systemport 1194 Proto UDP Dev TAP CA/ETC/OpenVPN/CERTS/CA.CRT-Zertifikat/etc/openVPN/certs/server-name.CRT-Schlüssel/etc/openvpn/certs/server-name.Schlüssel DH/etc/openvpn/certs/dh4096.pem tls-auth/etc/openvpn/certs/ta.Schlüssel 0 Server 192.168.88.0 255.255.255.0 Ifconfig-Pool-Persist IPP.TXT Push "Redirect-Gateway Def1 Bypass-DHCP" Push "DHCP-Option DNS 8.8.8.8 "Push" DHCP-Option DNS 8.8.4.4 "Keepalive 1800 4000 Cipher Des-ede3-CBC # Triple-des comp-lzo max-Client.Log #Status openvpn-status.Protokoll Verb 5 Mute 20

Aktivieren Sie die IP -Weiterleitung auf dem Server.

# echo 1>/proc/sys/net/ipv4/ip_forward

Führen Sie den folgenden Befehl aus, um OpenVPN einzurichten, um mit dem Start zu starten.

# Update-RC.D -f OpenVPN -Standardeinstellungen

Starten Sie den OpenVPN -Service.

# Service OpenVPN Neustart

Installieren Sie OpenVPN auf dem Client

Führen Sie den folgenden Befehl aus, um OpenVPN auf dem Client -Computer zu installieren.

# APT-Get Installieren Sie OpenVPN

Richten Sie die OpenVPN -Client -Konfiguration in 'mit einem Texteditor in' ein/etc/openVPN/Client.Conf', auf den Kunden. Eine Beispielkonfiguration ist wie folgt:

Skriptsicherheit 3 ​​System Client Remote vpn_server_ip ca/etc/openvpn/certs/ca.CRT -Zertifikat/etc/openVPN/certs/client.CRT -Schlüssel/etc/openvpn/certs/client.KEY CIPHER DES-ede3-CBC Comp-Lzo Ja Dev Tap Proto UDP TLS-Auth/etc/openvpn/certs/ta.Key 1 Nobind Auth-Nocache persist-key persist-tun-Benutzer Niemand Gruppennogroup

Führen Sie den folgenden Befehl aus, um OpenVPN einzurichten, um mit dem Start zu starten.

# Update-RC.D -f OpenVPN -Standardeinstellungen

Starten Sie den OpenVPN -Dienst auf dem Kunden.

# Service OpenVPN Neustart

Sobald Sie zufrieden sind, dass OpenVPN gut läuft IPv4, Hier erfahren Sie, wie man bekommt IPv6 Arbeiten über OpenVPN.

Erhalten Sie IPv6 mit OpenVPN auf dem Server

Fügen Sie die folgenden Zeilen zum Ende der Serverkonfiguration hinzu/etc/openVPN/Server.Conf' Datei.

Client-Connect/etc/openVPN/Client-Connect.sh client-disconnect/etc/openVPN/client-disconnect.Sch

Diese beiden Skripte bauen/zerstören die IPv6 Tunnel jedes Mal, wenn ein Client eine Verbindung herstellt/abnimmt.

Hier ist der Inhalt der Client-Connect.Sch.

#!/bin/bash baserange = "2a00: dd80: 003d: 000c" ifconfig $ dev up ifconfig $ dev add $ baserange: 1001 :: 1/64 IP -6 Nachbar hinzufügen Proxy 2A00: DD80: 003D: 000C: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: 1001: : 2 Dev Eth0 Exit 0

Mein Host weist mich zu IPv6 Adressen aus dem 2a00: dd80: 003d: 000c ::/64 Block. Daher benutze ich
2A00: DD80: 003D: 000C als Basisange. Ändern Sie diesen Wert gemäß dem, was Ihr Host Ihnen zugewiesen hat.

Jedes Mal, wenn ein Client eine Verbindung zu OpenVPN herstellt, weist dieses Skript die Adresse zu 2a00: dd80: 003d: 000c: 1001 :: 1 als die IPv6 Adresse der tap0 Schnittstelle des Servers.

Die letzte Zeile setzt die Nachbarentdeckung für unseren Tunnel ein. Ich habe das hinzugefügt IPv6 Adresse der Kundenseite tap0 Verbindung als Proxy -Adresse.

Hier ist der Inhalt von Client-Disconnect.Sch.

#!/bin/bash baserange = "2a00: dd80: 003d: 000c"/sbin/ip -6 addr del $ baserange :: 1/64 dev $ dev exit 0

Dies löscht nur die IPv6 Tunneladresse des Servers, wenn der Client die Verbindung abnimmt. Ändern Sie den Wert von Baserange nach Bedarf.

Machen Sie die Skripte ausführbar.

# Chmod 700/etc/openVPN/Client-Connect.SH # CHMOD 700/ETC/OpenVPN/Client-Disconnect.Sch

Fügen Sie '/etc/rc die folgenden Einträge hinzu.Lokal '(Sie können auch die entsprechenden SYSCTLs in ändern /etc/sysctl.Conf).

echo 1>/proc/sys/net/ipv6/conf/all/proxy_ndp echo 1>/proc/sys/net/ipv4/ip_forward echo 1>/proc/sys/net/ipv6/conf/all/reibungsversuche/etc/etc/ drin.D/Firewall Stop &&/etc/init.D/Firewall -Start

Diese Einträge aktivieren die Entdeckung der Nachbarn und Weiterleitung. Ich habe auch eine Firewall hinzugefügt.

Erstellen '/etc/init.D/Firewall'und geben Sie den folgenden Inhalt ein.

#!/bin/sh # Beschreibung: Firewall ipt =/sbin/iptables ipt6 =/sbin/ip6tables Fall "$ 1" im Start) $ ipt -f Input $ ipt -a Eingabe -i Eth0 -m State -State etabliert, verwandt -verwandt -verwandt - J Akzeptieren Sie $ ipt -a Eingabe -i Eth0 -p tcp - -dort 22 -J Akzeptieren Sie $ ipt -a Input -i eth0 -p ICMP -j Akzeptieren Sie $ ipt -a Input -i eth0 -p udp - -dort 1194 - J Akzeptieren Sie $ ipt -a Eingabe -Ich tippen Sie+ -J Akzeptieren Sie $ ipt -a Forward -I -ich tippen Sie+ -J Akzeptieren Sie $ ipt -a Forward -m State -State etabliert, verwandt -j Akzeptieren Sie $ ipt -t nat -f poTrouting $ Ipt -t nat -a poTrouting -s 10.8.0.0/24 -O ETH0 -J Masquerade $ ipt -a Input -i Eth0 -j Drop $ ipt6 -f Input $ IPT6 -a Eingabe -i Eth0 -m -Staat -State etabliert, verwandte -j Akzeptieren Sie $ ipt6 -a Eingabe -i eth0 -p tcp - -dort 22 -J Akzeptieren Sie $ ipt6 -a input -i Eth0 -p ICMPv6 -J Akzeptieren Sie $ ipt6 -a vorwärts -s 2a00: dd80: 003d: 000C ::/64 -i Tap0 -o ETH0 -J Akzeptieren Sie $ ipt6 -a Eingabe -i Eth0 -j Drop -Ausgang 0 ;; Stop) $ ipt -f $ ipt6 -f Exit 0 ;; *) Echo "Nutzung: /etc /init.D/Firewall Start | Stop "Beenden 1 ;; Esac

Laufen '/etc/rc.lokal'und starten Sie die Firewall.

# sh /etc /rc.lokal

Dadurch werden die serverseitigen Änderungen abgeschlossen.

Erhalten Sie IPv6 mit OpenVPN auf den Client

Fügen Sie die folgenden Zeilen Ihrer Client -Konfigurationsdatei hinzu/etc/openVPN/Client.Conf''.

# Erstellen Sie den IPv6 -Tunnel auf/etc/openVPN/up.sh down/etc/openvpn/down.SH # benötigt dies, wenn der Client den Versand des Servers explizit-exit-nicht veranlasst hat

Die Auf- und Ab -Skripte erstellen/zerstören Sie die IPv6 -Client -Endpunkte der Client TAP0 -Verbindung bei jedem Anschluss eines Clients mit oder vom OpenVPN -Server, wenn ein Client eine Verbindung herstellt/abbricht.

Hier ist der Inhalt von UP.Sch.

#!/bin/bash ipv6base = "2a00: dd80: 3d: c" ifconfig $ dev up ifconfig $ dev add $ ipv6base: 1001 :: 2/64 IP -6 Route Hinzufügen Standard über $ ipv6base: 1001 :: 1 beenden 0

Das Skript weist die IPv6 -Adresse zu 2A00: DD80: 3D: C: 1001 :: 2 Als Client -IPv6 -Adresse und legt die Standard -IPv6 -Route über den Server fest.

Ändern Sie die IPv6base so wie Baserange in der Serverkonfiguration mit Baserange.

Hier ist der Inhalt von Down.Sch.

#!/bin/bash ipv6base = "2a00: dd80: 3d: c"/sbin/ip -6 addr del $ ipv6base :: 2/64 dev $ dev/sbin/ip link set dev $ dev $ down/sbin/ip Route del ::/0 über $ ipv6base :: 1 beenden 0

Dies löscht nur die IPv6 -Adresse des Clients und zerreißt die IPv6 -Route, wenn der Client vom Server abnimmt.

Ändern Sie die IPv6base so wie Baserange in der Serverkonfiguration und erstellen Sie die Skript ausführbar.

# Chmod 700/etc/openVPN/up.sh # chmod 700/etc/openvpn/down.Sch

Optional ändern Sie '/etc/resolv.Conf 'und fügen Sie die IPv6 -Namenserver von Google für die DNS -Auflösung hinzu.

NAMESERVER 2001: 4860: 4860 :: 8888 NAMESERVER 2001: 4860: 4860 :: 8844

Starten Sie OpenVPN auf dem Server neu und stellen Sie dann vom Client eine Verbindung zu ihm her. Sie sollten verbunden sein. Besuchen Sie Test-IPV6.Com, um zu sehen, dass Ihre IPv6 -Konnektivität über OpenVPN funktioniert.

Referenzlinks

OpenVPN Homepage

Quelle: stavrovski