OpenVPN/Linux

Aus Palita

Wechseln zu: Navigation, Suche

Diese Anleitung beschreibt die Installation von OpenVPN unter Linux, basierend auf dem Paketverwaltungssystem apt, welches in Debian oder auch Ubuntu und ähnliche enthalten ist. Wenn du eine andere Paketverwaltungssoftware benutzt musst die Paketinstallationen auf deine Paketverwaltung anpassen. Wie man Pakete mit anderen Paketverwaltungen installiert erfährst du auf Linux Paketinstallation.


Inhaltsverzeichnis

Grundinstallation

Egal, ob du einen Server oder einen Client installieren möchtest, musst du zunächst das OpenVPN-Programm installieren. Dies geschieht mit dem Befehl

sudo apt-get install openvpn

(sudo ist nur notwendig, wenn du nicht als root angemeldet bist.)

Es sollte etwas ähnliches wie

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Vorgeschlagene Pakete:
  openssl
Die folgenden NEUEN Pakete werden installiert:
  openvpn
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 1 nicht
aktualisiert.
Es müssen 338kB Archive geholt werden.
Nach dem Auspacken werden 918kB Plattenplatz zusätzlich benutzt.
Hole:1 http://ftp.de.debian.org etch/main openvpn 2.0.9-4etch1
[338kB]
Es wurden 338kB in 0s geholt (476kB/s)
Vorkonfiguration der Pakete ...
Wähle vormals abgewähltes Paket openvpn.
(Lese Datenbank ... 20117 Dateien und Verzeichnisse sind derzeit
installiert.)
Entpacke openvpn (aus .../openvpn_2.0.9-4etch1_i386.deb) ...
Richte openvpn ein (2.0.9-4etch1) ...
Starting virtual private network daemon:.

ausgegeben werden.


Server Installation

Die Installation ist im Prinzip schon abgeschlossen, was jetzt noch folgt ist lediglich die Konfiguration.

Die Konfigurationsdateien für OpenVPN liegen im Pfad

/etc/openvpn/

gegebenenfalls gibt es Abweichungen für andere Distributionen als Debian / Ubuntu.

Die Konfigurationen unterscheiden sich hier in der Authentifizierung, siehe OpenVPN für die Unterschiede und wähle die für dich passende aus.


Konfiguration mit statischem Schlüssel

TODO

Konfiguration mit Benutzername und Passwort

TODO

Konfiguration mit Zertifikatbasierter Authentifikation

Bei dieser Konfiguration gehen wir davon aus, dass du bereits Zertifikate erstellt hast. Wenn du nicht weißt, wie das funktioniert, findest du eine Anleitung unter OpenSSL/Zertifikate erstellen. Du benötigst die folgenden Zertifikate:

  • CA
  • Serverzertifikat
  • Private-Key
  • Diffie-Hellman

Diese Dateien legst du im Ordner /etc/openvpn/certs/ ab, den du eventuell noch erstellen musst.

Die Konfigurationsdatei enthält folgenden Inhalt:

port 1194                           # Port auf dem OpenVPN lauscht
proto udp                           # Zu verwendendes Protokoll (UDP)
mode server                         # Als Server agieren
tls-server                          # TLS-Verschlüsselung aktivieren
dev tap                             # verwende tap-Device, also Ethernet Tunnel
ifconfig 10.0.2.1 255.255.255.0     # Server-IP und Netzmaske für die virtuelle Schnittstelle

ifconfig-pool 10.0.2.2 10.0.2.254 255.255.255.0
                                    # IP-Pool für Clients
                                    # (von-IP, bis-IP, Subnetz)

tun-mtu 1492                        # MTU-Wert
mssfix                              # Für Kompatibilität mit Windows-Clients
ca certs/vpn-ca.pem                 # Pfad des CA-Certifikats
cert certs/servercert.pem           # Pfad des Serverzertifikats
key certs/serverkey.pem             # Private-Key des Servers
dh certs/dh1024.pem                 # Pfad der Diffie-Hellman
client-to-client                    # Kommunikation unter Clients erlauben
ifconfig-pool-persist ipp.dat       # Entspricht etwa DHCP-Leases, Clients bekommen die gleiche IP
                                    # bei Neuverbindung (Erkennung durch Common Name im Zertifikat)
keepalive 10 120                    # Keepalive-Pakete senden
auth SHA1                           # Authentifizierungsmethode
comp-lzo                            # LZO-Komprimierung der Daten
user nobody                         # Als Benutzer nobody und Gruppe
group nogroup                       # nogroup ausführen
persist-key                         # Key im Speicher Behalten
persist-tun                         # Tunneldaten im Speicher Behalten

Diese Konfiguration sollte an sich bereits funktionieren, möchtest du allerdings nicht, dass z.B. Clients untereinander kommunizieren können, kommentiere die Zeile

client-to-client

einfach aus, indem du eine # (Raute) am Anfang der Zeile einfügst. Gegebenenfalls möchtest du auch noch die IP-Adresse und den IP-Pool ändern.

Diese Konfiguration speicherst du unter dem Dateinamen server.conf im OpenVPN-Ordner ab, der Pfad zur Datei lautet also

/etc/openvpn/server.conf

Starten des Servers

Den Server kannst du jetzt als Superuser (root) mit dem Befehl

sudo /etc/init.d/openvpn restart

Starten. Alternativ funktioniert auch der Befehl

sudo openvpn --config /etc/openvpn/server.conf --daemon 

Mit diesen Befehlen wird OpenVPN im Daemon-Modus gestartet, also im Hintergrund. Alle Benachrichtigungen und Fehlermeldungen (Logs) werden in

/var/log/syslog

geschrieben (sofern vom System oder OpenVPN nicht anders vorgegeben). Um diese Logs anzuzeigen kannst du zum Beispiel mittels

tail -f /var/log/syslog

die letzten Zeilen der Datei ausgeben lassen und bei Neueinträgen die Anzeige automatisch aktualisieren. Um die Anzeige der Logdatei zu beenden verwendest du die Tastenkombination Strg + C.

Client Installation

TODO


TODO

  • Terminal Starten?
  • Andere Distributionen?
Persönliche Werkzeuge
Dieses WIki wird nicht mehr gewartet!
Navigation
Sponsor