Unterschiede zwischen den Revisionen 1 und 4 (über 3 Versionen hinweg)
Revision 1 vom 2012-10-07 18:13:13
Größe: 878
Autor: BodoBellut
Kommentar:
Revision 4 vom 2012-10-09 19:18:10
Größe: 3514
Autor: BodoBellut
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
= Konfiguration eines OpenVPN-Servers innerhalb eines VServer-Gastes =

<<TableOfContents()>>
Zeile 3: Zeile 7:
http://linux-vserver.org/Frequently_Asked_Questions#Can_I_run_an_OpenVPN_Server_in_a_guest.3F
http://debianforum.de/forum/viewtopic.php?f=30&t=127504
== Server ==
Zeile 6: Zeile 9:
http://www.techrepublic.com/blog/opensource/how-to-set-up-an-openvpn-server/1873
http://openvpn.net/index.php/open-source/documentation/howto.html#install
=== Schritte im VServer-Wirtsystems ===
Zeile 9: Zeile 11:
http://wiki.cacert.org/openVPN
http://robert.penz.name/21/ovpncncheck-an-openvpn-tls-verify-script/
http://wiki.yobi.be/wiki/Virtual_Private_Networks
==== persistenten Tunnel beim Start des VServer-Gastes erzeugen ====
Zeile 13: Zeile 13:
http://openvpn.net/index.php/open-source/documentation/manuals/65-openvpn-20x-manpage.html
 ifconfig-pool-persist
 persist-tun
Skript {{{/etc/vservers/VSERVER/scripts/initialize}}} anlegen und ausführbar machen, mit dem Inhalt
{{{
 #!/bin/bash
Zeile 17: Zeile 17:
# Downgrade to an unpriviledged user for security after initialization
user nobody
group nobody
/usr/sbin/openvpn --mktun --dev tun23
/sbin/ip link set dev tun23 txqueuelen 100
/sbin/ifconfig tun23 10.0.0.1 pointopoint 10.0.0.2 mtu 1500
/sbin/route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.2
}}}
Zeile 21: Zeile 23:
# Use a persistent key and tunnel interface. Helpful if running as an
# unpriviledged user and the connection goes down.
Dabei müssen die IP-Adressen natürlich passend gewählt werden. Des Weiteren muss dafür gesorgt werden, daß jeder VServer-Gast sein eigenes Tunnel-Interface (hier {{{tun23}}}) bekommt.

==== Interfaces im VServer-Gast bekannt machen ====

Dateien {{{/etc/vservers/VSERVER/interfaces/NUMMER/ip}}}, {{{/etc/vservers/VSERVER/interfaces/NUMMER/prefix}}}, {{{/etc/vservers/VSERVER/interfaces/NUMMER/nodev}}} anlegen:

|| ip || 10.0.0.1 ||
|| prefix || 24 ||
|| nodev || tun23 ||

=== Schritte im VServer-Gastsystem ===

==== Zertifikate erzeugen ====

Es bietet sich an, eine eigene CA zu erzeugen und diese zur Ausstellung von Server- und Clientzertifikaten zu benutzen, da in der Default-Konfiguration der OpenVPN-Server alle gültigen Zertifikate akzeptiert.
Wird stattdessen eine öffentliche CA wie z.B. CACert benutzt, muss der OpenVPN-Server so konfiguriert werden, daß bei jedem Verbindungsaufbau die Attribute des Zertifikats geprüft werden. Siehe dazu die Links an Ende dieses Artikels.

/!\ hier fehlt noch die Anleitung zur Erzeugung der Zertifikate /!\

==== OpenVPN-Server konfigurieren ====

/etc/server.conf
{{{
server 10.0.0.0 255.255.255.0
dev tun23
ifconfig-noexec
route-noexec
comp-lzo
client-to-client
ifconfig-pool-persist ipp.txt
dh dh1024.pem
ca ca.crt
cert server.crt
key server.key
keepalive 10 60
;user nobody
;group nogroup
Zeile 25: Zeile 62:
status openvpn-status.log
verb 4
management localhost 7505 /etc/openvpn/mgmt-pw
}}}

/etc/openvpn/mgmt-pw
{{{
irgendein gutes passwort
}}}

Interessante Optionen (siehe auch die OpenVPN manpage):
|| client-to-client || sind mehrere Clients mit dem Server verbunden, so können diese auch untereinander Daten austauschen, ohne diese Option kann immer nur mit dem Server kommuniziert werden ||
|| ifconfig-pool-persist || Clients bekommen immer die selbe IP-Adresse zugewiesen ||
|| status || bei jeder Status-Änderung wird die Datei mit dem aktuellen Zustand gefüllt ||
|| management || aktiviert das Admin-Interface ||

== Client(s) ==

/etc/openvpn/client.conf
{{{
client
proto udp
dev tun
remote garfield.prima.de
comp-lzo
verb 4
ca ca.crt
cert cl-sakura.crt
key cl-sakura.key
}}}

Das Zertifikat der CA (ca.crt) ist bei allen Teilnehern (Server und Client(s)) identisch.

= Links =

 * http://linux-vserver.org/Frequently_Asked_Questions#Can_I_run_an_OpenVPN_Server_in_a_guest.3F
 * http://debianforum.de/forum/viewtopic.php?f=30&t=127504
 * http://www.techrepublic.com/blog/opensource/how-to-set-up-an-openvpn-server/1873
 * http://openvpn.net/index.php/open-source/documentation/howto.html#install
 * http://wiki.cacert.org/openVPN
 * http://robert.penz.name/21/ovpncncheck-an-openvpn-tls-verify-script/
 * http://wiki.yobi.be/wiki/Virtual_Private_Networks
 * http://openvpn.net/index.php/open-source/documentation/manuals/65-openvpn-20x-manpage.html

Konfiguration eines OpenVPN-Servers innerhalb eines VServer-Gastes

/!\ Work in progress /!\

Server

Schritte im VServer-Wirtsystems

persistenten Tunnel beim Start des VServer-Gastes erzeugen

Skript /etc/vservers/VSERVER/scripts/initialize anlegen und ausführbar machen, mit dem Inhalt

 #!/bin/bash

/usr/sbin/openvpn --mktun --dev tun23
/sbin/ip link set dev tun23 txqueuelen 100
/sbin/ifconfig tun23 10.0.0.1 pointopoint 10.0.0.2 mtu 1500
/sbin/route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.2

Dabei müssen die IP-Adressen natürlich passend gewählt werden. Des Weiteren muss dafür gesorgt werden, daß jeder VServer-Gast sein eigenes Tunnel-Interface (hier tun23) bekommt.

Interfaces im VServer-Gast bekannt machen

Dateien /etc/vservers/VSERVER/interfaces/NUMMER/ip, /etc/vservers/VSERVER/interfaces/NUMMER/prefix, /etc/vservers/VSERVER/interfaces/NUMMER/nodev anlegen:

ip

10.0.0.1

prefix

24

nodev

tun23

Schritte im VServer-Gastsystem

Zertifikate erzeugen

Es bietet sich an, eine eigene CA zu erzeugen und diese zur Ausstellung von Server- und Clientzertifikaten zu benutzen, da in der Default-Konfiguration der OpenVPN-Server alle gültigen Zertifikate akzeptiert. Wird stattdessen eine öffentliche CA wie z.B. CACert benutzt, muss der OpenVPN-Server so konfiguriert werden, daß bei jedem Verbindungsaufbau die Attribute des Zertifikats geprüft werden. Siehe dazu die Links an Ende dieses Artikels.

/!\ hier fehlt noch die Anleitung zur Erzeugung der Zertifikate /!\

OpenVPN-Server konfigurieren

/etc/server.conf

server 10.0.0.0 255.255.255.0
dev tun23
ifconfig-noexec
route-noexec
comp-lzo
client-to-client
ifconfig-pool-persist ipp.txt
dh dh1024.pem
ca ca.crt
cert server.crt
key server.key
keepalive 10 60
;user nobody
;group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 4
management localhost 7505 /etc/openvpn/mgmt-pw

/etc/openvpn/mgmt-pw

irgendein gutes passwort

Interessante Optionen (siehe auch die OpenVPN manpage):

client-to-client

sind mehrere Clients mit dem Server verbunden, so können diese auch untereinander Daten austauschen, ohne diese Option kann immer nur mit dem Server kommuniziert werden

ifconfig-pool-persist

Clients bekommen immer die selbe IP-Adresse zugewiesen

status

bei jeder Status-Änderung wird die Datei mit dem aktuellen Zustand gefüllt

management

aktiviert das Admin-Interface

Client(s)

/etc/openvpn/client.conf

client
proto udp
dev tun
remote garfield.prima.de
comp-lzo
verb 4
ca ca.crt
cert cl-sakura.crt
key cl-sakura.key

Das Zertifikat der CA (ca.crt) ist bei allen Teilnehern (Server und Client(s)) identisch.

Links

Software/OpenVPN in VServer (zuletzt geändert am 2014-11-21 07:53:58 durch SvenNeuhaus)