Größe: 878
Kommentar:
|
Größe: 3514
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
Inhaltsverzeichnis
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
http://linux-vserver.org/Frequently_Asked_Questions#Can_I_run_an_OpenVPN_Server_in_a_guest.3F
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://robert.penz.name/21/ovpncncheck-an-openvpn-tls-verify-script/
http://openvpn.net/index.php/open-source/documentation/manuals/65-openvpn-20x-manpage.html