• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

[ATV 3] Apple TV3 VPN möglich? Auf die Mediathek

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Hab es nicht vergessen... Habe auf die aktuelle Version aktualisiert und mit einer Anleitung begonnen. Aktuell klappt damit eine VPN Verbindung auf Routing Ebene. Ethernet Bridging hat noch ein paar Hürden... Bin dran. Die alte Version sollte aus Sicherheitsgründen nicht genommen werden. Deshalb muss ich jetzt selbst da ran.

Joachim

PS: Den ersten Teil kann ich die Tage schon mal posten
 

Viper87

Braeburn
Registriert
21.02.16
Beiträge
44
Das wäre super habe mir die Tunnelblick auch schon installiert
 

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Update: Auf der "Server"-Seite läuft bei mir wieder Bridging... Fehlt noch der Client. Frage zu Deiner Konfiguration: MacBook -> Public WLAN -> Internet -> FritzBox -> Mac Ethernet - sieht das bei dir ungefähr so aus?
 

Viper87

Braeburn
Registriert
21.02.16
Beiträge
44
MacBook - iPhone Kopplung - Internet - Fritzbox - Mac Ethernet!
 

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Danke. Update: VPN tunnel steht wieder. Aber einige Routen und Interface Konfigurationen muss ich noch manuell machen... Nicht schön. Also muss ich mein Script anpassen...
 

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Nun läuft es wieder mit der neusten Version und unter El Capitan
 

deloco

Weißer Winterkalvill
Registriert
14.11.07
Beiträge
3.505
Mir stellt sich dabei immer noch die Frage der praktikabilität. Das AppleTV bietet keinerlei VPN-Möglichkeiten, so weit ich weiß. Das würde die eingängliche Frage schon mal beantworten (Wurde auch gleich im 2. Post).

Es würde also eine VPN-Verbindung im Router wo man sich eben aufhält eingerichtet werden müssen.
Wenn dieses für sinnvoll erachtet wird, wünsche ich viel Spaß mit der Lösung, ich habe ja eine Alternative aufgezählt.

Gruß,
deLoco
 

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Moin,

Mir ging es darum, dass ich eine VPN Verbindung haben wollte, die so tut, als ob ich mich zu Hause im selben Netz befinde. Vorteil ist, dass nicht nur IP gesprochen werden kann (weil Layer 2), auch Broadcasts, mDNS kann verarbeitet werden... Aber egal - jeder hat seine Lösung...

jvc
 

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 1 - Allgemein

Ich gehe mal davon aus, dass man sich mit den Themen

1. Netzwerkkonfiguration
2. Terminal Applikation
3. Den Kommandos vi, ifconfig, etc.

Ein wenig auskennt - ansonsten Google...

Was brauche ich:

1. Tunnelblick - http://www.tunnelblick.net
2. Einen Mac im Heimnetz, welcher per Ethernet mit dem Router verbunden ist
3. Bei Bedarf einen Bonjour Browser - http://www.tildesoft.com
4. Einen Router der Port Forwarding versteht (z. B. FritzBox)

Mehr sollte es nicht sein - außer viel Geduld...

Auf dem Server:

Da wir auf Layer 2 aufsetzten, müssen wir erreichen, dass OpenVPN sämtlichen Datenverkehr auf unserem Ethernet abfängt und dies an den entfernten Client senden kann. Dies geht mittels einer Bridge und einem virtuellem Ethernet Adapter. Die Bridge empfängt vom einem Adapter und sendet alles an den zweiten und umgekehrt. Alles was auf dem virtuellen Ethernet Adapter landet, wird direkt zum Client und umgekehrt gesendet. Geht ganz einfach:

Systemeinstellungen -> Netzwerk

Die IP Konfiguration des Dienstes "Ethernet" ansehen und notieren (IP, Netmask, Subnet, DNS, Domain etc.) - am besten notieren...

Weiter geht's:

Unten links auf das Zahnrad -> Virtuelle Anschlüsse verwalten -> + -> Neue Bridge

Bridge-Name: Ethernet Bridge
Schnittstelle: Ethernet auswählen und "Fertig"

BSD Name merken - meist "bridge1" und "Fertig"

Was nun passiert, ist, dass der originale Dienst "Ethernet" aus der Liste verschwindet und ein neuer Dienst "Ethernet Bridge" angezeigt wird.

die Ethernet Bridge ist noch nicht konfiguriert. Bitte so konfigurieren, wie oben notiert.

Fast fertig...

Vom Haus aus leitet ein Mac keine Daten von einem Interface auf ein anderes Interface (Forwarding genannt). Also müssen wir das einschalten:

Terminal.app starten und folgendes Kommando eingeben:

echo 'net.inet.ip.forwarding=1' | sudo tee -a /etc/sysctl.conf

Es wird nach einem Passwort gefragt. Das ist das Passwort vom Hauptbenutzer mit Admin Rechten. Einfach eingeben. Danach die Terminal Applikation beenden. Bevor wir nun den Server neu starten, einmal ausprobieren, ob der Mac noch mit dem Internet verbunden ist und alles so läuft wie bisher - sollte eigentlich so sein...

Wenn ja, den Rechner neu starten und weiter geht es mit Teil 2.
 
Zuletzt bearbeitet:

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 2 - Zertifikate

Als erstes auf dem Server TunnelBlick installieren gemäß Anleitung. TunnelBlick bringt alles mit, was benötigt wird.

Nach der Installation sollte oben rechts auf dem Bildschirm das Icon für TunnelBlick erscheinen.

Dort den Menüpunkt "VPN-Details" auswählen.

Der Reiter "Konfigurationen" sollte bei einer frischen Installation leer sein. Für den Anfang alle Einstellungen belassen...

Auf dem Reiter "Dienstprogramme" den letzten Punkt "easy-rsa" im Terminal öffnen" auswählen.

Es sollte sich die Terminal Applikation öffnen. Nun müssen für die VPN Verbindungen Zertifikate erstellt werden.

Als erstes mal ein paar Grundeinstellungen vornehmen. Dazu folgenden Befehl eintippen:

vi vars

Danach Enter. Der vi Editor wird geöffnet und zeigt die Konfigurationsdatei für die Zertifikate an.

Die Taste "G" (mit Shift, weil großes "G" für "Goto") drücken und die letzte Zeile ("export PKSC...") wird markiert. Mit dem Cursor bis zur Zeile "export KEY_SIZE=1024" wandern. Den Buchstaben "i" (ohne Shift, weil kleines "i" für "insert"). Mit dem Cursor nach rechts wandern und die 1024 durch 4096 ersetzten. Eigentlich ganz einfach...

Da wir noch im "insert" Modus sind können wir noch weitere Einstellungen ändern. Am Ende sollten die Zeilen dann wie folgt aussehen:

# Increase this to 2048 if you
# are paranoid. This will slow
# down TLS negotiation performance
# as well as the one-time DH parms
# generation process.
export KEY_SIZE=4096

# In how many days should the root CA key expire?
export CA_EXPIRE=3650

# In how many days should certificates expire?
export KEY_EXPIRE=3650

# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="DE"
export KEY_PROVINCE="HH"
export KEY_CITY="Hamburg"
export KEY_ORG="abcdefgh.de CA"
export KEY_EMAIL="[email protected]"
export KEY_EMAIL=[email protected]
export KEY_CN=server.domain.de
export KEY_NAME="Max Mustermann"
export KEY_OU="OpenVPN"
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234

Natürlich solltest Du ein paar Parameter an Deine Gegebenheit anpassen:

COUNTRY = Abkürzung für Dein Staat
PROVINCE = z. B. vom Nummernschild die Abkürzung
City = Deine Stadt
ORG = wie auch immer Deine Organisation heißen soll
EMAIL = Deine Email Adresse (die Zeile gibt es zweimal, warum auch immer)
CN = hier den Namen von dem Server eintragen
NAME = Dein Name
OU = Welche Abteilung Du auch immer sein möchtest

Alles anderen Einstellungen können bleiben. Ach ja, die Zertifikate sind 10 Jahre (3650 Tage) gültig. Danach klappt es mit der VPN Verbindung nicht mehr. Sollte wohl erst einmal reichen...

Nun einmal Escape betätigen und den "insert" Modus verlassen. Wenn Du die doppelte "EMAIL" Zeile löschen möchtest, dann wandere mit dem Cursor zu der Zeile und drücke "dd" (zweimal das kleine "d"). Dann ist diese weg und danach die Tasten

:wq

mit Enter bestätigen und alles wird abgespeichert. Prima soweit.

Nun geht es weiter mit einem etwas merkwürdig aussehenden Befehl, aber funktioniert

. ./vars

Das ganze mit Enter bestätigen (Achtung zwischen den beiden Punkten ist ein Leerzeichen). Es sollte eine "NOTE" erscheinen.

Nun kommen ein paar Befehle zur Erstellung der Zertifikate immer mit Enter bestätigen:

./clean-all
./build-ca


Jetzt kommen ein paar Fragen. alle mittels Enter bestätigen. Wird alles aus der Konfiguration übernommen.

./build-key-server server

Auch hier wieder alles mit Enter bestätigen und ganz wichtig, kein Passwort vergeben einfach mit Enter bestätigen. Am Ende kommen zwei Fragen, welche mittels "y" und Enter bestätigt werden.

./build-key client

Auch hier wieder alles mit Enter bestätigen und ganz wichtig, kein Passwort vergeben einfach mit Enter bestätigen. Am Ende kommen zwei Fragen, welche mittels "y" und Enter bestätigt werden.

./build-dh

Mit Enter bestätigen und Geduld haben - kann schon etwas dauern.

Danach zur Überprüfung mal ein

ls keys

starten und es sollten dann mindestens folgende wichtige Dateien angezeigt werden:

ca.crt
ca.ley
dh4096.pem
server.crt
server.csr
server.key
client.crt
client.csr
client.key

Wenn dem so ist. Dann hat es geklappt. Alle Zertifikate wurden erstellt.

Die Terminal Applikation noch nicht verlassen.

Weiter geht es mit Teil 3.
 
Zuletzt bearbeitet:

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 3 - OpenVPN Server

Die Terminal Applikation sollte ja noch offen sein - ansonsten über TunnelBlick neu starten (siehe Teil 2).

Folgende Befehle mittels Enter eingeben:

vi ../Configurations/server.ovpn

Danach folgende Tastenkombination nacheinander eintippen:

i
#
Escape - Taste
:wq
Enter - Taste


Entweder meldet sich sofort TunnelBlick mit der Aufforderung die neue Konfiguration zu ändern oder starte einfach TunnelBlick einmal neu. Spätestens dann kommt die Aufforderung und natürlich umwandeln lassen.

Nun hat TunnelBlick eine leere Konfiguration.

Zurück zur Terminal App - die sollte ja noch offen sein. Folgende Befehle jeweils mit Enter bestätigen:

cp keys/ca.crt ../Configurations/server.tblk/Contents/Resources
cp keys/server.crt ../Configurations/server.tblk/Contents/Resources
cp keys/server.key ../Configurations/server.tblk/Contents/Resources
cp keys/dh4096.pem ../Configurations/server.tblk/Contents/Resources


Für den Client kopieren wir uns noch die Zertifikate auf den Desktop

cp keys/ca.crt ~/Desktop
cp keys/client.crt ~/Desktop
cp keys/client.key ~/Desktop


Nun benötigen wir nur noch eine Start Script für die OpenVPN Verbindung:

vi ../Configurations/server.tblk/Contents/Resources/up.sh

Jetzt folgendes jeweils eintippen - für "bridge1" den Wert einsetzten, welchen wir uns unter Teil 1 gemerkt haben:

i
#!/bin/sh
/sbin/ifconfig bridge1 addm tap0
Escape - Taste
:wq
Enter - Taste

chmod 740 ../Configurations/server.tblk/Contents/Resources/up.sh


Danach die Terminal Applikation beenden.

In der TunnelBlick Applikation sollte unter dem Reiter Konfiguration nun eine "server" Konfiguration sein.

Klicke auf das Zahnrad und wähle

"OpenVPN-Konfigurationsdatei bearbeiten"

aus. Textedit sollte sich öffnen und die Datei enthält nur ein "#". Dann haben wir alles richtig gemacht.

Da Textedit im Standard die Anführungszeichen intelligent behandelt, müssen wir dies ausschalten, da sonst in der Konfiguration Fehler sind.

Menü -> Bearbeiten -> Ersetzungen -> Intelligente Anführungszeichen

deaktivieren. Dann kommt es auch nicht zu Fehlermeldungen.

Folgendes in die Datei einfügen und danach an die eigenen Gegebenheiten anpassen:

local 192.168.142.242
up "up.sh"
port 1194
proto udp
dev tap0
lladdr ab:cd:ef:12:34:56
ca ca.crt
cert server.crt
key server.key
dh dh4096.pem
server-bridge 192.168.142.1 255.255.255.0 192.168.142.51 192.168.142.59
push "route-gateway 192.168.142.1"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 192.168.142.240"
push "dhcp-option DOMAIN domain.de"
client-to-client
keepalive 10 120
comp-lzo
max-clients 10
persist-key
persist-tun
status openvpn-status.log
verb 3

Die rot markierten Punkte müssen auf jeden Fall angepasst werden:

local = IP Adresse Deines Servers
lladdr = Beliebige MAC Adresse (z. B. ab:cd:ef:12:34:56)
server-bridge "Gateway IP" "Netzmaske" "Client IP Range von bis"

push route-gateway = Dein Gateway im Netz (z. B. IP der FritzBox)
push dhcp-option DNS = Dein Nameserver (z. B. IP der FritzBox)
push dhcp-option DOMAIN = Deine interne Domain (z. B. meins.de)

Das Thema server-bridge hat immer vier IP Adressen:
  1. Ist die IP Adresse Deines Gateways im Netz. Meist z. B. die FritzBox
  2. Ist die Netzmaske. Hier haben die meisten 255 z. B. 255.255.255.0
  3. Die beiden letzten IPs mokieren einen freien Bereich, welcher für die Clients reserviert wird
Hoffe, das ist verständlich.

Danach in TunnelBlick für diese Konfiguration "server" noch folgende Einstellungen machen:

Verbinden = manuell (oder was man möchte)
DNS/WINS = Nameserver nicht festlegen
OpenVPN Version = Standard belassen (aktuell 2.3.10)
Alle 5 Kästchen deaktiviert lassen (gehen sowieso nur zwei)
Unter "Erweitert" nichts ändern

Das sollte es auf der Server Seite gewesen sein.

Den Button "Verbinden" auswählen und wenn alles richtig ist, sollte keine Fehlermeldung erscheinen und der Server bereit sein.

Die Serverkonfiguration ist erstellt. Weiter mit Teil 4.
 
Zuletzt bearbeitet:

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 4 - OpenVPN Client

Zunächst vom Desktop des Servers die drei Zertifikatsdateien auf den Desktop vom Client kopieren.

Wie üblich sollte man mit diesen Dateien Sorgfältig umgehen,

Auf dem Client TunnelBlick installieren und wie beim Server "easy-rsa Terminal öffnen".

Folgende Befehle eingeben:

vi ../Configurations/client.ovpn

Danach folgende Tastenkombination nacheinander eintippen:

i
#
Escape - Taste
:wq
Enter - Taste


Entweder meldet sich sofort TunnelBlick mit der Aufforderung die neue Konfiguration zu ändern oder starte einfach TunnelBlick einmal neu. Spätestens dann kommt die Aufforderung und natürlich umwandeln lassen.

Nun hat TunnelBlick eine leere Konfiguration.

Zurück zur Terminal App - die sollte ja noch offen sein. Folgende Befehle jeweils mit Enter bestätigen:

cp ~/Desktop/ca.crt ../Configurations/client.tblk/Contents/Resources
cp ~/Desktop/client.crt ../Configurations/client.tblk/Contents/Resources
cp ~/Desktop/client.key ../Configurations/client.tblk/Contents/Resources


Danach die Terminal Applikation beenden.

In der TunnelBlick Applikation sollte unter dem Reiter Konfiguration nun eine "client" Konfiguration sein.

Klicke auf das Zahnrad und wähle

"OpenVPN-Konfigurationsdatei bearbeiten"

aus. Textedit sollte sich öffnen und die Datei enthält nur ein "#". Dann haben wir alles richtig gemacht.

Da Textedit im Standard die Anführungszeichen intelligent behandelt, müssen wir dies ausschalten, da sonst in der Konfiguration Fehler sind.

Menü -> Bearbeiten -> Ersetzungen -> Intelligente Anführungszeichen

deaktivieren. Dann kommt es auch nicht zu Fehlermeldungen.

Folgendes in die Datei einfügen und danach an die eigenen Gegebenheiten anpassen:

client
dev tap
lladdr 12:34:56:ab:cd:ef
proto udp
remote server.dyndns.net 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3

Die rot markierten Punkte müssen auf jeden Fall angepasst werden:

remote server.dyndns.net 1194 - Öffentliche IP des Routers - nicht vom Server
lladdr = Beliebige MAC Adresse (z. B. 12:34:56:ab:cd:ef)

Danach in TunnelBlick für diese Konfiguration "client" noch folgende Einstellungen machen:

Verbinden = manuell (oder was man möchte)
DNS/WINS = Nameserver festlegen
OpenVPN Version = Standard belassen (aktuell 2.3.10)
Sämtlichen IPv4-Datenverkehr durch das VPN leiten aktivieren
Alle anderen Kästchen deaktivieren
Unter "Erweitert" nichts ändern

Das sollte es auf der Client Seite gewesen sein.

Die Clientkonfiguration ist erstellt. Weiter mit Teil 6.
 
Zuletzt bearbeitet:

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 5 - Router

Damit die VPN Verbindung aus dem Internet aufgebaut werden kann, muss im Router ein Port Forwarding auf den Server eingerichtet werden. Bei der FritzBox geht das wie folgt:
  • Bei der FritzBox Web Oberfläche anmelden
  • Erweiterte Ansicht aktivieren
  • Internet -> Freigaben -> Reiter Portfreigaben
  • Neue Portfreigabe
  • Postfreigabe aktiv für andere Anwendungen
  • Bezeichnung "OpenVPN Server"
  • Protokoll "UDP"
  • Vom Port 1194 bis Port 1194
  • An Computer "manuelle Angabe der IP Adresse"
  • An IP-Adresse x.x.x.x vom Server
  • An Port 1194
Das ganze natürlich aktivieren. Andere Router haben bestimmt Ähnliche Möglichkeiten.

Verner solltet Ihr DynDNS oder ähnliche Dienste aktivieren. Auch das geht leicht über die Fritzbox. Der Name wird für den Client benötigt. Das ganze wird unter folgendem Punkt eingestellt:
  • Internet -> Freigaben -> Dynamic DNS
Nun sollte alles funktionieren.

Weiter mit Teil 6.
 
Zuletzt bearbeitet:

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 6 - Testen

Der Client sollte sich in einem anderen Netzwerk befinden (Tethering mit dem iPhone oder Gast WLAN der FritzBox).

Einfach mittels TunnelBlick nun den Client mit dem Server verbinden.

Mit einem Bonjour Browser überprüfen, ob man unter "local" Einträge findet.

Dann sollte es auch mit der Privatfreigabe von iTunes klappen.

Anmerkung: Durch die Level 2 Verbindung werden erheblich mehr Daten übertragen. Bei Tethering sollte man sein Datenvolumen im Auge behalten.
 
Zuletzt bearbeitet:

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 7 - Probleme/Lösungen

  1. Bonjour Browser zeigt auf dem Client nichts an - Meist liegt die Ursache daran, dass man eine Firewall auf dem Client installiert hat, die den VPN Tunnel blockiert. Temporär einfach mal die Firewall deaktivieren und die Verbindung neu testen.
  2. Kein kein VPN aus dem Gast WLAN der FritzBox aufbauen - "Internetanwendungen beschränken: Nur Surfen und Mailen erlaubt" sollte beim Gast WLAN zum Testen temporär ausgeschaltet werden.
 
Zuletzt bearbeitet:

jcaron

Empire
Registriert
04.07.10
Beiträge
87
Teil 8 - Updates

Reserviert für Updates. Aktuell sollte die Anleitung funktionieren. Mal abwarten. Viel Spaß damit.

#31 - Allgemein

#32 - Zertifikate
  • Korrektur :wg in :wq
#33 - OpenVPN Server

#34 - OpenVPN Client

#35 - Router

#36 - Testen

#37 - Probleme/Lösungen
 
Zuletzt bearbeitet:

Viper87

Braeburn
Registriert
21.02.16
Beiträge
44
:wg geht nicht... Kommt immer der Fehler E492 : Not an editor Command : wg