[[Vorlage(Getestet, trusty, lucid, precise)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten:] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Packprogramme: Archive entpacken] [:Rechte: Rechte für Dateien und Ordner ändern] [:sudo:Root-Rechte] }}} [[Inhaltsverzeichnis(2)]] [[Bild(openvpn-logo.png, align=left)]] [http://www.openvpn.net OpenVPN] {en} ist eine [wikipedia:Virtual_Private_Network:Virtual-Private-Network-Software], die auf dem bewährten Verschlüsselungsprotokoll [wikipedia:Transport_Layer_Security: SSL/TLS] aufbaut, welches auch für die Verschlüsselung von Webbrowser-Sitzungen im E-Commerce eingesetzt wird. Die Vorteile von OpenVPN gegenüber anderen Lösungen liegen in der (relativ) einfachen Konfiguration und der Verfügbarkeit für zahlreiche Plattformen (u.a. Linux, Solaris, versch. BSDs, Android, Mac OS X und Microsoft Windows) bei gleichzeitig sehr guter Sicherheit. = Installation = Folgendes Paket wird benötigt [1]: {{{#!vorlage Paketinstallation openvpn, universe [2] }}} und ab Ubuntu 13.04 auch noch das Paket {{{#!vorlage Paketinstallation easy-rsa, universe [2] }}} Als erstes sollte man die Beispielkonfiguration und das Verzeichnis zur Schlüsselerzeugung an einen geeigneten Ort entpacken [3]: {{{#!vorlage Befehl sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gunzip /etc/openvpn/server.conf.gz sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa2 }}} bzw. ab Ubuntu 13.04: {{{#!vorlage Befehl sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gunzip /etc/openvpn/server.conf.gz sudo cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa2 }}} = Server = Nachdem man die oben beschriebenen Schritte durchgeführt hat, kann man für die Server-Konfiguration hier fortfahren. == Schlüssel und Zertifikate generieren == {{{#!vorlage Hinweis Im folgenden Abschnitt wird beschrieben, wie man die Zertifikate auf dem Server als Root im Verzeichnis '''/etc/openvpn/easy-rsa2''' erstellt. Man sollte diese ''Certificate Authority'' (CA) aber aus Sicherheitsgründen möglichst auf einem anderen (offline) Rechner erstellen. Man benötigt dazu dann auch keine Root-Rechte, wenn man als normaler Benutzer Schreibrechte besitzt. Weiterhin sind die Schlüssel vor unberechtigtem Zugriff besser geschützt - insbesondere der '''ca.key''' sollte besonders behandelt werden, da ein Angreifer mit diesem Schlüssel beliebige eigene Schlüssel signieren könnte und ungehinderten Zugriff auf den OpenVPN Server erlangen würde. Nach dem Erzeugen muss man dann nur noch die jeweiligen Schlüssel und Zertifikate auf die entsprechenden Rechner kopieren, und zwar auf jeden Rechner (Server und Clients) seine eigene '''.key'''- und '''.crt'''-Datei sowie die globale '''ca.crt'''. Der Server benötigt auch noch die [wikipedia:Diffie-Hellman-Schlüsselaustausch:Diffie-Hellman-Datei] '''dh1024.key'''. Der CA-Schlüssel '''ca.key''' wird dagegen nur innerhalb der CA benötigt und muss nicht transferiert werden. }}} Die gegenseitige Authentifizierung zwischen Server und Client findet bei OpenVPN über kryptografische Schlüssel und Zertifikate statt, die als erstes erstellt werden müssen. Dazu wechselt man zuerst in das Verzeichnis '''/etc/openvpn/easy-rsa2/''' und editiert[4] dort die Datei '''vars''' mit Root-Rechten[7]. In der '''vars''' findet man am Ende folgende Einträge: {{{ export KEY_COUNTRY="DE" export KEY_PROVINCE="Nordrhein-Westfalen" export KEY_CITY="Duesseldorf" export KEY_ORG="Internet Ltd." export KEY_EMAIL="info@webmaster" export KEY_EMAIL=info@webmaster export KEY_CN=changeme export KEY_NAME=changeme export KEY_OU=changeme export PKCS11_MODULE_PATH=changeme export PKCS11_PIN=1234 }}} Diese Einträge müssen ggf. auf die eigenen Verhältnisse angepasst werden. Ab 14.04 muss noch der Eintrag: {{{ export KEY_ALTNAMES="Irgendwas" }}} eingfügt werden. {{{#!vorlage Hinweis Aufgrund eines Fehlers wird manchmal das Unterverzeichnis für die Keys nicht erstellt. Man sollte dies darum von Hand nachholen (weiterhin in '''/etc/openvpn/easy-rsa2/'''): {{{#!vorlage Befehl sudo mkdir keys \}}} }}} {{{#!vorlage Experten Durch das erhöhen von export KEY_SIZE=1024 auf 2048 in der vars-Datei kann die Sicherheit erhöht werden! Dann muss der pfad zur dh1024.pem natürlich im späteren Verlauf auf dh2048.pem geändert werden. }}} Als nächstes muss unbedingt die neueste openssl-x.x.x.cnf umbenannt werden in openssl.cnf {{{#!vorlage Befehl sudo cp openssl-x.x.x.cnf openssl.cnf }}} Danach muss die oben angepasste Datei '''vars''' in die Umgebungsvariablen aufgenommen werden [3] (dabei aufpassen, dass man sich auch wirklich im Verzeichnis ''/etc/openvpn/easy-rsa2/'' befindet): {{{#!vorlage Befehl source ./vars }}} Es erscheint eine Warnmeldung, worauf mit den folgenden Skript-Aufrufen das Master-Zertifikat und der Master-Schlüssel erstellt werden: {{{#!vorlage Befehl sudo -E ./clean-all sudo -E ./build-ca }}} {{{#!vorlage Hinweis Falls es hierbei zu Fehlern kommt, diesen [post:4330397:Foreneintrag] berücksichtigen. }}} Jetzt muss noch das Zertifikat und der Schlüssel für den Server erstellt werden: {{{#!vorlage Befehl sudo -E ./build-key-server server }}} Wichtig dabei ist, dass bei "''Common Name''" der Name eingegeben werden sollte, mit dem auf den Server später zugegriffen wird. Das kann z.B. auch der DynDNS-Name sein. Das "''Challenge Password''" sollte leer gelassen werden, sonst wäre es möglich sich mit diesem Passwort anzumelden. Um die Datenbank zu aktualisieren, muss danach zweimal mit [[Vorlage(Tasten, y)]] bestätigt werden. Anschließend müssen nun die Schlüssel für die Benutzer angelegt werden: {{{#!vorlage Befehl sudo -E ./build-key ersterclient sudo -E ./build-key zweiterclient sudo -E ./build-key dritterclient }}} Bzw. wenn die Schlüssel mit einem Passwort geschützt werden sollen (welches bei jedem Anmelden eingegeben werden muss): {{{#!vorlage Befehl sudo -E ./build-key-pass ersterclient sudo -E ./build-key-pass zweiterclient sudo -E ./build-key-pass dritterclient }}} Das geschieht nach dem gleichen Prinzip wie gerade eben beim Server, jedoch muss nun bei "''Common Name''" jeweils der Name des Clients eingetragen werden. {{{#!vorlage Hinweis Benötigt man zu einem späteren Zeitpunkt weitere Zertifikate, muss zuerst die vars als root (sudo -s) erneut gesourcet werden. Danach können wie gewohnt neue Zertifikate mittels ./build-key erstellt werden. }}} Jetzt müssen noch die Diffie-Hellman-Parameter generiert werden. Diese sind nötig, um kryptografische Schlüssel sicher über unsichere Kanäle auszuhandeln. Das geschieht mit {{{#!vorlage Befehl sudo -E ./build-dh }}} Die Erstellung kann je nach System einige Zeit dauern. [[Bild(openvpn-key-overview.png, align=right, 300, title="Keys und deren Speicherorte")]] Wenn die Erstellung erfolgreich gewesen ist, liegen nun alle benötigten Dateien im Verzeichnis '''/etc/openvpn/easy-rsa2/keys/'''. Die Dateien mit der Endung '''.key''' sind die geheimen Schlüssel, die nur auf dem entsprechenden Rechner, zu dem sie gehören, gespeichert werden sollten. Die '''.crt'''-Dateien sind die Zertifikate, die nicht geheim gehalten werden müssen. Die Client-Schlüssel und -Zertifikate müssen nun auf die Clients transferiert werden, '''server.key''' bleibt wo sie ist. Die '''ca.key''' Datei sollte aus Sicherheitsgründen vom Server entfernt werden (bspw. auf einem USB Stick offline gespeichert), da sie nur für die Erstellung weiterer Schlüssel benötigt wird und im laufenden Server-Betrieb keinen Nutzen hat. Außerdem muss jeder Client noch die Datei '''ca.crt''' erhalten, damit er den Server einwandfrei identifizieren kann. Zusätzlich muss noch darauf geachtet werden, dass die Dateien nie im ASCII-Modus übertragen werden. Dies kann dazu führen, dass die Datei nicht mehr entschlüsselt werden kann und somit ein Verbinden mit dem openVPN-Server nicht möglich ist. Fehlermeldung: "`Error: private key password verification failed`". Man umgeht das Problem, indem man alle zu übertragenden Dateien in ein '''.tar'''- oder '''.rar'''-Archiv packt. Bei der Übertragung übers Internet sollten die Dateien zusätzlich verschlüsselt werden, z.B. mit [:GnuPG:]. == Konfiguration == Nun muss noch die Server-Konfigurationsdatei '''/etc/openvpn/server.conf''' angepasst werden. Wichtig ist, dass die Pfade zu den Schlüsseln angepasst werden. Alle anderen Voreinstellungen sind in Ordnung. {{{ ca ./easy-rsa2/keys/ca.crt cert ./easy-rsa2/keys/server.crt key ./easy-rsa2/keys/server.key # Diese Datei geheim halten. dh ./easy-rsa2/keys/dh1024.pem # Diffie-Hellman-Parameter }}} Wichtig ist hier, es kann sein, dass weiter unten in der Datei ein weiterer Verweis auf die Quelle für die Diffie-Hellman-Parameter ist, welcher somit die hier getätigte Vorgabe überschreibt. Sollte der spätere Serverstart mit dem Fehler "Cannot open dh1024.pem for DH parameters - No such file or directory" abbrechen, so sollte die zweite Diffie-Hellman-Angabe weiter unten auskommentiert werden. Zur Verbesserung der Sicherheit sollte man den Daemon unter einer unprivilegierten Benutzerkennung laufen lassen, indem man folgende Zeilen aktiviert: {{{ # Downgrade privileges after initialization (non-Windows only) user nobody group nogroup }}} Noch besser ist es, hier nicht auf die Kennung ''nobody/nogroup'' zurückzugreifen, sondern eine eigene spezialisierte ''openvpn/openvpn''-Identität zu schaffen, wobei man die Shell auf "`/bin/false`" setzen kann. {{{#!vorlage Befehl sudo addgroup --system --no-create-home --disabled-login --group openvpn sudo adduser --system --no-create-home --disabled-login --ingroup openvpn openvpn }}} Wer den Server in einem privaten LAN stehen hat, muss noch "Port-Forwarding" auf seinem Router aktivieren. OpenVPN nutzt standardmäßig den Port 1194 (UDP), der auf die interne IP-Adresse des VPN-Servers weitergeleitet werden muss. Wer einen Linux-[:Router:] betreibt, kann dafür das [:Skripte/nathelper: nathelper-Skript] verwenden. Besitzer eines Hardware-Routers sollten bei Bedarf dessen Betriebsanleitung oder die Webseiten des Router-Herstellers zu Rate ziehen. Jetzt kann der Server folgendermaßen gestartet werden: {{{#!vorlage Befehl sudo /etc/init.d/openvpn restart }}} Ab Ubuntu 10.10 wird OpenVPN durch [:Upstart:] gestartet. Daher geht auch folgender Befehl: {{{#!vorlage Befehl sudo service openvpn restart }}} Falls das nicht erfolgreich ist und folgender Fehler in '''/var/log/daemon.log''' bzw. '''/var/log/syslog''' steht (häufig bei virtualisierten Systemen der Fall): {{{ openvpn[...]: Note: Cannot open TUN/TAP dev /dev/net/tun: Permission denied (errno=13) openvpn[...]: Note: Attempting fallback to kernel 2.2 TUN/TAP interface openvpn[...]: Cannot allocate TUN/TAP dev dynamically }}} hilft eventuell der Abschnitt [#Probleme Probleme] weiter. == LAN einbeziehen == Um dem Client nicht nur den Server selber, sondern auch das LAN über das VPN zugänglich zu machen, muss nochmal die '''server.conf''' bearbeitet werden. Dort wird im betreffenden Bereich folgendes eingetragen: {{{ push "route 192.168.2.0 255.255.255.0" }}} Der hier genannte IP-Bereich muss natürlich durch den des serverseitigen LANs ersetzt werden. Dabei ist 255.255.255.0 die Subnetzmaske, nicht die höchste noch weiterzuleitende IP. Insgesamt wird also das Netz 192.168.2.0/24 über das VPN zugreifbar. Außerdem muss noch das IP-Forwarding am Server aktiviert werden: {{{#!vorlage Befehl sudo sysctl -w net/ipv4/ip_forward=1 }}} Um diese Änderung permanent zu machen, kann man sie in die Datei '''/etc/sysctl.conf''' eintragen: {{{ net.ipv4.ip_forward=1 }}} Wenn der OpenVPN-Daemon nicht auf dem "Default-Gateway" des lokalen Netzes läuft, so muss auf letzterem (dem Default-Gateway/Router) noch eine Route erstellt werden, die den OpenVPN-Server als Gateway für das VPN festlegt. Handelt es sich dabei um einen Linux-Rechner, so lautet der Befehl wie folgt und kann bei Bedarf (ohne "`sudo`") in die Datei '''/etc/rc.local''' eingetragen werden: {{{#!vorlage Befehl sudo route add -net 10.8.0.0 netmask 255.255.255.0 gw vpn.server.i.p }}} Bei besseren "Consumer-Routern" wie z.B. einer FritzBox gibt es häufig auch in den Netzwerkeinstellungen die Option "IP-Routen" oder "statische Routen". Besagte FritzBoxen erwarten dort die Eingabe von IP-Adresse, Subnetzmaske und Gateway. Dabei ist mit IP-Adresse die Adresse des IP-Netzwerkes (hier 10.8.0.0) gemeint. Es ergibt sich für typische Privat-Netzwerke also folgende Einstellung, wenn z.B. der lokale Adressbereich 192.168.1.0 ist und der Openvpn-Server auf einem Rechner mit der IP 192.168.1.66 läuft. {{{ IP-Adresse 10.8.0.0 Subnetzmaske 255.255.255.0 Gateway 192.168.1.66 }}} Weiterhin müssen bei einer evtl. vorhandenen Firewall Regeln (bei Iptables in der "Forward-chain") eingerichtet werden, die die Kommunikation erlauben. == OpenVPN als Default-Gateway == In manchen Situationen möchte man vielleicht jede Verbindung vom Client über den Server leiten, z.B. um ein unverschlüsseltes Wlan abzusichern oder Zensur zu umgehen. Dafür wird der OpenVPN-Server wie ein Router konfiguriert, siehe [:Router#Portweiterleitung:]. Für den Parameter `-s` gibt man das OpenVPN-Subnetz an, nach der Voreinstellung `10.8.0.0\24`. Der Parameter `-i` zeigt auf die TUN/TAP Netzwerkschnittstelle von OpenVPN, also z.B. `tun0`. Dann muss in der Server-Konfigurationsdatei '''/etc/openvpn/server.conf''' nur ein Kommentarzeichen entfernt werden: {{{ push "redirect-gateway def1 bypass-dhcp" }}} Anschließend noch den OpenVPN-Server neu starten bzw. die Konfiguration neu einlesen. == Weiterleitung ins Internet ohne Default-Gateway == Wenn der Server nicht das Default-Gateway zum Internet ist und man trotzdem seinen Internet-Traffic darüber leiten möchte, kann man auch einen Proxy-Server erstellen, der den Verkehr weiterleitet. Weiteres darüber ist [:Proxyserver: hier] zu finden. Zu empfehlen ist [:Tinyproxy:] wegen seiner einfachen Konfiguration. = Client-Konfiguration = Zuerst muss auch auf den Clients das '''openvpn'''-Paket installiert werden, wie weiter oben beschrieben. Statt der Datei '''server.conf''' wird hier aber logischerweise die '''/etc/openvpn/client.conf''' editiert [4], die vorher mit {{{#!vorlage Befehl sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/ }}} in das entsprechende Verzeichnis kopiert wurde. Dort ändert man die IP-Adresse, unter der der Server erreichbar ist. Wer keine statische IP zur Verfügung hat, kann dort auch seine dyndns-Adresse angeben. {{{ remote ich.dyndns.org }}} Die Pfade der einzelnen '''ca''', '''cert''', usw. müssen hier nicht unbedingt angepasst werden, wenn die einzelnen Dateien auf dem Client im gleichen Ordner liegen wie die '''client.conf''' und die voreingestellten Dateinamen besitzen. Natürlich müssen sie erstmal vom Server herüberkopiert worden sein. Die Authentifizierung des OpenVPN-Servers ist für einen ersten Test nicht notwendig, für die spätere Benutzung aus Sicherheitsgründen aber empfohlen. Dazu wird eine der Methoden, die auf der Seite [http://openvpn.net/howto.html#mitm] {en} beschrieben ist, verwendet . {{{ remote-cert-tls server }}} Andernfalls bekommt man bei jeder Verbindung eine Warnung ("WARNING: No server certificate verification method has been enabled. See [http://openvpn.net/howto.html#mitm] for more info.") == Ubuntu == {{{#!vorlage Hinweis Es bietet sich die komfortable Nutzung der [:NetworkManager/VPN Plugins:] an. }}} Auch hier muss das VPN jetzt neu gestartet werden [3]: {{{#!vorlage Befehl sudo /etc/init.d/openvpn restart }}} Wer die Verbindung nicht bei jedem Systemstart automatisch aufbauen lassen will, muss folgende Zeile in der Datei '''/etc/default/openvpn''' aktivieren: {{{ AUTOSTART="none" }}} In diesem Fall empfiehlt es sich, die Konfiguration im eigenen Homeverzeichnis anzulegen. Dann kann man die Verbindung bei Bedarf auch mit einfachen Benutzerrechten über folgenden Befehl starten: {{{#!vorlage Befehl openvpn ~/pfad/zu/client.conf }}} == Microsoft Windows == OpenVPN-Pakete für Windows sind über die folgende URL erhältlich: [http://openvpn.net/index.php/download/community-downloads.html http://openvpn.net/] {en} . Nach der Installation müssen dann folgende Dateien, die vorhin erstellt wurden, in den Ordner '''C:\Programme\OpenVPN\config\ ''' kopiert werden: {{{ client.ovpn clientX.crt clientX.key ca.crt }}} Wie zu erkennen ist, muss die '''client.conf'''-Datei zur Verwendung mit der Windows-GUI die Endung '''.ovpn''' haben. Nun mit der rechten Maustaste [[Vorlage(Tasten, rmt)]] auf das Icon von OpenVPN klicken und ''"Connect"'' auswählen. Wenn alles richtig gemacht wurde, sollte die Verbindung nun funktionieren. Wer die VPN-Verbindung/en bereits beim Start von Windows aktivieren möchte, kann über ''"Start -> Ausführen -> services.msc"'' den Dienst openVPN auf automatisch starten setzen. Damit werden alle konfigurierten Verbindungen aus dem Ordner ''"C:\Programme\OpenVPN\config\"'' beim Systemstart automatisch aufgebaut. == OpenVPN über HTTP-Proxy == Sitzt man nicht direkt an einem Internetzugang (z.b. im Büro oder beim Kunden), so hat man oft keine Möglichkeit über Port 1194 ins Internet zu kommen. Üblicherweise ist aber der Port 443 (HTTPS) über einen HTTPS-Proxy im Netz nutzbar. Theoretisch würden auch andere Ports funktionieren, praktisch limitieren aber Proxys in Firewall-Umgebungen die Benutzung von HTTP CONNECT, welche zur Tunnelung von SSL notwendig ist, nahezu immer auf den Port 443. Um vom Client über den HTTPS-Proxy ins Internet und zum heimischen OpenVPN-Server zu gelangen, müssen folgende Konfigurationen gemacht werden: === server.conf === {{{ # Which TCP/UDP port should OpenVPN listen on? # If you want to run multiple OpenVPN instances # on the same machine, use a different port # number for each one. You will need to # open up this port on your firewall. port 443 ;port 1194 # TCP or UDP server? proto tcp ;proto udp }}} Auf dem Server wird in der '''server.conf''' auf den Port 443 umgeschaltet. Zudem wird hier auf das Protokoll TCP umgeschaltet, was in diesem Fall auch zwingend ist, da HTTP(S) Verkehr generell über TCP transportiert wird. === client.conf === {{{ # Are we connecting to a TCP or # UDP server? Use the same setting as # on the server. proto tcp ;proto udp [...] # If you are connecting through an # HTTP proxy to reach the actual OpenVPN # server, put the proxy server/IP and # port number here. See the man page # if your proxy server requires # authentication. http-proxy 192.168.4.1 1080 ;http-proxy-retry # retry on connection failures ;http-proxy [proxy server] [proxy port #] }}} Auf dem Client wird in der '''client.conf''' die Zeile "`http-proxy 192.168.4.1 1080`" hinzugefügt. Wobei die Addresse des Proxy "`192.168.4.1`" und der Port "`1080`" mit den effektiven Angaben ersetzt werden müssen. Weitere Informationen zur Konfiguration von HTTP-Proxys sind unter [http://openvpn.net/howto.html#http http://openvpn.net/howto.html#http] {en} verfügbar. Auch auf dem Client muss darauf geachtet werden, TCP als Transportprotokoll auszuwählen. [[Anker(Konfiguration)]] = Probleme = == Zertifikate sperren == Sind Client-Zertifikate in die Hände von Fremden gelangt, können diese sich mit dem OpenVPN-Server verbinden. Um kompromittierte Zertifikate für die weitere Nutzung unbrauchbar zu machen, widerruft man diese. Dafür muss man sich ebenfalls im Ordner '''/etc/openvpn/easy-rsa2/''' befinden und die Datei '''vars''' gesourcet haben. Zuerst wird die Server-Konfigurationsdatei '''/etc/openvpn/server.conf''' um einen Eintrag zur Widerrufsliste erweitert: {{{ crl-verify ./easy-rsa2/keys/crl.pem }}} Danach soll OpenVPN die Konfiguration neu einlesen und guckt dann bei neuen oder laufenden Verbindungen nach, ob das Zertifikat des Clients noch gültig ist. {{{#!vorlage Befehl sudo -E service openvpn reload }}} Die Zertifikate werden dann mit derselben Bezeichnung wie bei der Erstellung gesperrt: {{{#!vorlage Befehl sudo -E ./revoke-full ersterclient }}} == Virtualisierte Systeme == Viele Provider bieten mittlerweile günstige virtualisierte Server an (auch VPS oder VServer). Bestimmte Funktionen lassen sich auf solchen Servern nur nutzen, wenn die entsprechenden Fähigkeiten auch in den Kernel des Host-Systems kompiliert wurden, auf dem die VPS läuft. Das gilt insbesondere für TUN/TAP und iptables. Bei vielen Providern genügt es, wenn man in einem Support-Ticket kurz erklärt, dass man TUN/TAP oder iptables nutzen möchte und sie wechseln den Kernel aus. Funktioniert TUN/TAP dann immer noch nicht, muss man das Gerät noch selbst erstellen: {{{#!vorlage Befehl sudo mkdir -p /dev/net sudo mknod /dev/net/tun c 10 200 sudo chmod 600 /dev/net/tun }}} Wenn man den Vserver als Gateway nutzen möchte muss man in der In der /etc/rc.local noch folgendes eintragen, wobei EXT_IP die öffentliche IP des servers ist {{{#!vorlage Befehl iptables -t nat -F POSTROUTING echo 1 > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE # das geht nur wenn das Interface nicht venet0:0 (also keine Map ist) iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source EXT_IP }}} == Mediatomb == Unter Umständen kann es zu Problemen kommen, wenn Mediatomb und OpenVPN gleichzeitig installiert sind. Das Problem äußert sich darin, dass die Weboberfläche von Mediatomb zwar erreichbar ist, der eigentliche UPNP Service aber nicht. Die Ursache ist hierfür, dass Mediatomb den UPNP Service scheinbar an die TUN Netzwerkschnittstelle, welches von OpenVPN angelegt wird, bindet. Stattdessen soll Mediatomb sich an die übliche Netzwerkschnittstelle binden, normalerweise also eth0 oder wlan0. Ein einfacher Eingriff in die config.xml des Mediatomb löst das Problem: {{{ ... eth0 ... }}} = Links = * [http://www.openvpn.eu OpenVPN e.V] {de} {en} - Verein zur Stärkung der Community mit Wiki und Forum * offizieller [https://play.google.com/store/apps/details?id=net.openvpn.openvpn OpenVPN Client] für Android * Von [http://www.savecall.de/standortvernetzung/ Savecall] wird beschrieben, wie VPN im Internet, per Ethernet oder mit einer MPLS-Verbindung genutzt werden kann. * [:Serverdienste#VPN: VPN] {Übersicht} Artikelübersicht # tag: Netzwerk, Sicherheit, Server, VPN