Wie VPN zur Fritzbox, aber weiter surfen über Client?

C

Clemens1

Mitglied
Thread Starter
Dabei seit
01.07.2009
Beiträge
80
Reaktionspunkte
5
Moin,

ich muss noch einmal dieses leidige Thema anreißen.
Ich möchte gerne eine VPN Verbindung zu meiner Fritzbox aufbauen und weiterhin über den Client im Internet surfen. Also explizit NICHT über die Fritzbox online gehen.
Ich habe jetzt schon tagelang danach gesucht und gegoogelt, aber keine richtige Aussage bekommen, ob es geht, ob es an der Fritzbox eingestellt werden kann und wenn ja, wie?
Ich habe eine Fritzbox 7312 mit Fritz!OS 06.03. Dyndns ist erfolgreich eingerichtet. Auch der VPN Zugang von außen funktioniert mit MBP (10.9.1) und iPhone 4S (6.1.3).
Ich habe es auch geschafft, die acccesslist soweit anzupassen, dass ich über die Fritzbox im Internet surfen kann (permit any usw.)

Daher meine Frage: Wie muss ich die cfg-Datei anpassen, um weiterhin parallel zum VPN-Tunnel über den Client im Internet surfen zu können?

Viele Grüße
Clemens
 
Wenn du die cfg-Datei mit dem AVM-Tool erstellst, wirst du gefragt, ob du allen Traffic übers VPN senden willst ... und genau das musst du abschalten.
 
Vielen Dank für die schnelle Antwort.
Ich habe mit dem AVM-Tool diverse Konfigurationen erstellt. Für PC, für iPhone, mit Traffic und ohne...
Das Problem ist, wenn ich den Traffic nicht über den VPN schicke, komme ich gar nicht ins Internet. Es besteht dann eine isolierte Verbindung zwischen Client (iPhone) und Fritzbox. Auf die dahinter geschalteten Geräte (z.B. Time Capsule) kann ich zugreifen, aber alles andere Internet, Mail etc. geht dann nicht mehr.
 
Guten Morgen,

ich habe zu diesem Thema noch etwas recherchiert und herausgefunden, dass es in erster Linie nicht an der FritzBox liegt, sondern an Mac OS X. Beim Aufbau eines VPN Tunnels (zumindest hier IPSec) wird in OS X der Standardgateway geändert. Ich kann mir gut vorstellen, dass das auch so gewollt ist (evtl. wegen der Sicherheit). Somit wird der gesamte Traffic über den VPN geschickt.
Jetzt muss also bei jedem Verbindungsaufbau des VPN dies wieder rückgängig gemacht werden, oder besser:
1. Geänderten Standardgateway löschen
2. Vorherigen Standardgateway wieder als "default" setzen
3. Der VPN Verbindung nur das entfernte Netzwerk zu ordnen.

Wie das geht, steht hier:
https://discussions.apple.com/thread/3807633

Zum Beispiel so:
sudo route delete default
sudo route add -net default 192.168.2.1
sudo route add -net 192.168.178.0 192.168.178.201

Und wenn man das öfters braucht, packt man das in ein AppleSkript. Und das steht hier:
http://phaq.phunsites.net/2011/12/2...rride-and-restore-default-vpn-routes-on-os-x/

Ich habe dieses Skript etwas verändert:
1. Für das ursprüngliche "Gateway" (Router) lasse ich, wie in den Kommentaren beschrieben, das shell script die Variable belegen.
2. So wie es aussieht benötigt man in OS X 10.9 keinen Support für assistive devices. Daher habe ich den ersten Teil im Code mit "#" herausgenommen.
3. Im Teil, wo die routing-tabels bearbeitet werden scheint der Befehl für "inject custom routes via VPN" nicht so recht zu funktionieren, daher habe ich es fix, mit dem oben genannten dritten Eintrag "sudo route add -net 192.168.178.0 192.168.178.201" gemacht. Das Skript bedient eh nur eine VPN Konfiguration, daher muss es mein entferntes Netzwerk nicht automatisch "herausfinden".
Das Skript kann man dann irgendwo auf dem Mac speichern und per Doppelklick aufrufen.

Da ich mir das alles angelesen habe, ist es nur gefährliches Halbwissen. Die entsprechenden Experten mögen das hier bitte korrigieren oder bestätigen.

Hier noch einmal meine Konfiguration: MBP OS X 10.9.2, Fritzbox 7312 06.03.
Der VPN Zugang zur Fritzbox wurde mit dem "Fernzugang einrichten" Programm von AVM erstellt und in die FB eingelesen. Im MBP nutze ich den hauseigenen VPN Client.

Viel Spaß beim Probieren.
Clemens
 
Hallo Clemens,

vielen Dank für diesen Lösungsweg, ich würde ihn gern anwenden, aber leider bin ich nicht fit genug, das Skript anzupassen...
Könntest Du die von Dir beschriebenen Modifikationen hier mal rein posten?
Wenn ich das richtig verstehe, hast Du den Punkt 2. also so ausgeklammert?

Code:
# kindly borrowed from
# http://www.macosxautomation.com/applescript/uiscripting/index.html
# make sure that support for assistive devices is enabled
#
#tell application "System Events"
#	if UI elements enabled is false then
#		tell application "System Preferences"
#			activate
#			set current pane to pane id "com.apple.preference.universalaccess"
#			display dialog "This script requires access for assistive devices be enabled." & return &
# 			return & "To continue, click the OK button and enter an administrative password in the 
#			forthcoming security dialog." with icon 1
#		end tell
#		set UI elements enabled to true
#		if UI elements enabled is false then
#			display dialog "This script cannot run while access for assistive devices is disabled." &
#			 return & "Exiting now." buttons {"OK"} with icon 2
#			return "user cancelled"
#		end if
#	end if
#end tell

Und unter Punkt 3, hast Du diesen Teil:
Code:
# now go to post processing and to the following:
			# - delete default route via vpn
			# - restore original default route
			# - add specific routes to vpn
			#
			if current configuration of service _vpn_name is connected then
				# restore local default route
				#
				do shell script "route delete default" password _sudo_password with administrator privileges
				do shell script "route add default " & _default_gw password _sudo_password with administrator privileges
				
				# inject custom routes via VPN
				#
				repeat with _network in _networks
					do shell script "route add -interface " & _network & " utun0" password _sudo_password with administrator privileges
				end repeat
			end if
		else
			# bail out if the VPN service does not exist
			#
			display dialog "Given VPN '" & _vpn_name & "' does not exist. Please check the name"

ersetzt, aber wie, im Detail?
Auch, kann ich hier:
Code:
# the name of your vpn connection
#
set _vpn_name to "VPN-HB"
einen beligebigen VPN-Namen einsetzen?

Und was sind die Punkte nach den /, die Ports?
Code:
set _networks to {"192.168.0.1/24", "192.168.0.200/24"}

Kann ich da nciht einfach den kompletten Adressbereich übers VPN schicken?

Danke & Grüße,

David
 
Hallo David,

das ist schon eine Weile her und ich war selbst erstaunt, was ich da für eine Anleitung geschrieben habe.
Punkt 2: Ja genau, so habe ich ihn "auskommentiert"
Punkt 3: Sieht bei mir so aus
Code:
# now go to post processing and to the following:
			# - delete default route via vpn
			# - restore original default route
			# - add specific routes to vpn
			#
			if current configuration of service _vpn_name is connected then
				# restore local default route
				#
				do shell script "route delete default" password _sudo_password with administrator privileges
				do shell script "route add default " & _default_gw password _sudo_password with administrator privileges
				do shell script "route add 192.168.178.0 192.168.178.201" password _sudo_password with administrator privileges
				
				# inject custom routes via VPN
				#
				repeat with _network in _networks
					do shell script "route add -interface " & _network & " utun0" password _sudo_password with administrator privileges
				end repeat
			end if
		else
			# bail out if the VPN service does not exist
			#
			display dialog "Given VPN '" & _vpn_name & "' does not exist. Please check the name"
VPN-Name: Ja, da sollte der Name Deiner VPN-Verbindung rein. Bei mir steht da
Code:
# the name of your vpn connection
#
set _vpn_name to "VPN (Cisco IPSec)"
Ich glaube, das ist der Standard-Name, den OS X vergibt.
Beim letzten Punkt kann ich Dir nicht wirklich helfen. Das habe ich selbst damals gegoogelt und irgendwo bei wikipedia nachgelesen. Bei mir steht da:
Code:
# your remote networks to pass via VPN, separate multiple with comma
# like so: {"1.2.3.4/30", "5.6.7.8/30"}
#
set _networks to {"192.168.178.0/24"}

HTH
Clemens
 
Danke, damit probiere ich mal.
Für zu Hause habe ich die beiden Fritz!Boxen untereinander mal per VPN dauerhaft verbunden, das klappt 1a. Wenn man zwei Fritz!Boxen hat jedenfalls.
 
Zurück
Oben Unten