VPN: Shrew und Internet komplett über Fritzbox routen

pfeffer

Mitglied
Mitglied seit
26 Okt 2004
Beiträge
755
Punkte für Reaktionen
0
Punkte
16
Hallo!

Bei mir funktioniert der AVM-VPN-Client nicht (WLAN geht nicht mehr, sobald er installiert ist). Deswegen bin ich froh, dass es mit Shrew nun einen Client gibt, der bei mir funktioniert.
Ich habe alles eingerichtet wie bei AVM beschrieben und kann mich mit Shrew mit der Box verbinden und auf die Rechner zugreifen, die an der Firtzbox angeschlossen sind.

Nun hätte ich gerne eine Sicherung für offene WLans:
Ich würde mich gerne, wenn ich in einem offnen WLAN bin, mittels Shrew mit der Fritzbox verbinden, so dass alle Daten zur Fritzbox getunnelt werden und erst von dort unverschlüsselt ins Internet gelangen. Sinn ist, dass nicht irgendjemand im Wlan z.B. mein Passowrt zu ippf mitschneiden kann.

Nun habe ich das Mini-HowTo ( http://www.ip-phone-forum.de/showthread.php?t=189391 ) als Vorbild genommen, um auch mit Shrew es hinzugekommen, dass der komplette Internetverkehr über den VPN-Tunnel läuft. Leider habe ich das noch nicht ans Laufen bekommen.

Mir scheint der Grund am Folgendem zu liegen:
Shrew scheint für jede policy eine eigene Security Association (SA) aufbauen zu wollen. Meine FritzBox akzeptiert aber keine andere als für 192.168.178.0/24.
Wenn ich beispielsweise 10.0.0.0/24 als include-Policy aufnehme, dann versucht Shrew dafür eine eigene SA aufbauen zu wollen (wenn ich versuche 10.0.0.2 zu pingen, 10.0.0.2 habe ich der FritzBox als zusätzliche Alias-IP verpasst), was aber nicht klappt. Das habe ich daran beobachtet, dass in ShrewSoft VPN Trace unter Security Associations eine (weitere) aufgeführt wird, die allerdings nie den Status "Mature" erreicht, sondern bei "Larval" stehen bleibt und irgendwann per timeout wieder verschwindet.
Dieses Verhalten ändert sich leider auch nicht, wenn ich in die fritzbox.cfg die accesslist-Zeile wie folgt ändere:
Code:
                accesslist = 
                             "permit ip 192.168.178.0 255.255.255.0 192.168.178.207 255.255.255.255",
                             "permit ip 10.0.0.0 255.255.255.0 192.168.178.207 255.255.255.255";
Diese Änderung habe ich gemacht analog zu http://www.avm.de/de/Service/FAQs/FAQ_Sammlung/15136.php3 .

Ich habe es versucht mit Shrew v2.1.4.

Offenbar funktioniert die Umleitung des kompletten Internetverkehrs ja bei anderen Leuten mit dem AVM-Client. Ob man das, was der anders macht, wohl bei Shrew einstellen kann?

Falls ja wie?

Ich habe noch ein bißchen recherchiert: Ob SAs an IPs gebunden sind, kann implementationsabhängig sein ( http://tools.ietf.org/html/rfc4301#page-11 ), jedenfalls entnehme ich das dem letzten Absatz auf S. 12 des verlinkten RFCs. Macht vielleicht genau das der AVM-VPN-Client anders?

Gruß,
Pfeffer.
 
Hallo,

bei Shrew gibts viel einfachere Möglichkeiten, weil es ein virtuelles Interface gibt, da kann man einfach die Default Route umleiten und muss nicht in den Konfigs rumspielen. Details über die Suchfunktion, die Frage wurde schon öfter gestellt (und beantwortet).
 
Wo?
Ich habe einige Threads dazu hier gelesen - vorallem das bereits von mir zitierte MiniHowto. Konnte da aber nur "so müsste es gehen" finden und keine Erfolgsmedlungen :-(

Totrzdem versuche ich es mal so.

EDIT: getestet:
in der Policy in Shrew 10.0.0.0/24 gestrichen und dafür eine Route hinzugefügt:
route add 10.0.0.0 mask 255.255.255.0 192.168.178.1

Ergebnis:
Shrew versucht nicht mehr eine eigene Security Association für 10.0.0.x aufzubauen und meldet keine Fehler. Wireshark zeigt die ping-Pakete auf dem virtuellen-shrew-Interface an. Allerdings antwortet die Fritzbox leider nicht. TCPDUMP auf der Fritzbox ergibt: ping 192.168.178.1 kommt an (und wird auch korrekt beantwortet), ping 10.0.0.2 kommt bei der Fritzbox nicht an :-(

EDIT 2:
in diesem Thread hast Du z.B. schonmal geschrieben, dass es durch einfaches Routen setzen klappen müsste: http://www.ip-phone-forum.de/showthread.php?t=197702&highlight=shrew - aber auch dort: keine Erfolgsmeldung. Funktioniert es bei Dir, den gesamten Internetverkehr über die Firtzbox zu leiten, mit Shrew?

Habe ich irgendwo einen Fehler gemacht?
Noch irgendeine Idee? Oder Link, wo beschrieben ist, wie es geht?

Gruß,
Pfeffer.
 
Zuletzt bearbeitet:
weiter rumprobiert.
Es ist seltsam.
Meine Config auf der FritzBox sieht im Moment so aus:
Code:
vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_user;
                name = "test";
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 192.168.178.207;
                remoteid {
                        user_fqdn = "test";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "geheim";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 10.0.0.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipaddr = 192.168.178.207;
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = 
                             "permit ip 10.0.0.0 255.255.255.0 192.168.178.207 255.255.255.255",
                             "permit ip 192.168.178.0 255.255.255.0 192.168.178.207 255.255.255.255";
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500", 
                            "udp 0.0.0.0:4500 0.0.0.0:4500";
}
Der Eintrag 10.0.0.0 unter phase2localid ermöglicht es, dass ich nach dem Aufbau der VPN-Verbindung die FritzBox auf 10.0.0.2 (habe ihr diese IP als Alias gegeben) pingen kann. Allerdings kann ich sie so nicht mehr über 192.168.178.1 ansprechen. Dies gilt unabhängig davon, was unter "accesslist" eingetragen ist. Wenn ich bei phase2localid 192.168.178.0 eintrage, dann funktioniert der ping auf 192.168.178.1, aber nicht mehr auf 10.0.0.2.

Gibt es irgendjemand, der es geschafft hat, mit Shrew (in Windows) so Datenverkehr durch den Tunnel zu leiten, dass mehr als nur das lokale Netz der FritzBox durch den Tunnel geht?

Gruß,
Pfeffer.
 
Hallo,

du kannst doch mit Shrew schon eine VPN Verbindung aufbauen, oder? Spiele erst mal nicht in irgendwelchen Konfigs oder Policies rum, sondern führe nach einem erfolgreichen Verbindungsaufbau folgende Kommandos in einem DOS Fenster aus:
ipconfig /all
route print
nslookup www.ebay.de
tracert 193.99.144.85
arp -a
 
ja, in das lokale Netz der FirtzBox komme ich rein. Aber nicht weiter. Die Config auf der FritzBox habe ich entsprechend des Mini-Howtos auf
Code:
                accesslist = 
                             "permit ip any 192.168.178.207 255.255.255.255";
gesetzt.
Dann mit Shrew die VPN-Verbindung aufgebaut und dann die Befehle ausgeführt:
Code:
ipconfig /all
Windows-IP-Konfiguration
        Hostname. . . . . . . . . . . . . : leichter
        Primäres DNS-Suffix . . . . . . . : 
        Knotentyp . . . . . . . . . . . . : Peer-Peer
        IP-Routing aktiviert. . . . . . . : Nein
        WINS-Proxy aktiviert. . . . . . . : Nein

Ethernetadapter LAN-Verbindung 2:
        Medienstatus. . . . . . . . . . . : Es besteht keine Verbindung
        Beschreibung. . . . . . . . . . . : Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller
        Physikalische Adresse . . . . . . : 00-13-D4-52-1E-91

Ethernetadapter VirtualBox Host-Only Network:
        Verbindungsspezifisches DNS-Suffix: 
        Beschreibung. . . . . . . . . . . : VirtualBox Host-Only Ethernet Adapter
        Physikalische Adresse . . . . . . : 08-00-27-00-84-A1
        DHCP aktiviert. . . . . . . . . . : Nein
        IP-Adresse. . . . . . . . . . . . : 192.168.56.1
        Subnetzmaske. . . . . . . . . . . : 255.255.255.0
        Standardgateway . . . . . . . . . : 

PPP-Adapter mein 1und1:
        Verbindungsspezifisches DNS-Suffix: 
        Beschreibung. . . . . . . . . . . : WAN (PPP/SLIP) Interface
        Physikalische Adresse . . . . . . : 00-53-45-00-00-00
        DHCP aktiviert. . . . . . . . . . : Nein
        IP-Adresse. . . . . . . . . . . . : 77.188.138.120
        Subnetzmaske. . . . . . . . . . . : 255.255.255.255
        Standardgateway . . . . . . . . . : 
        DNS-Server. . . . . . . . . . . . : 213.20.108.19
                                            193.189.244.205
        NetBIOS über TCP/IP . . . . . . . : Deaktiviert

Ethernetadapter {35FFA40F-6AF4-4789-9B12-8E4A997769C5}:
        Verbindungsspezifisches DNS-Suffix: 
        Beschreibung. . . . . . . . . . . : Shrew Soft Virtual Adapter - Paketplaner-Miniport
        Physikalische Adresse . . . . . . : AA-AA-AA-AA-AA-00
        DHCP aktiviert. . . . . . . . . . : Nein
        IP-Adresse. . . . . . . . . . . . : 192.168.178.207
        Subnetzmaske. . . . . . . . . . . : 255.255.255.0
        Standardgateway . . . . . . . . . : 192.168.178.1
        NetBIOS über TCP/IP . . . . . . . : Deaktiviert
Code:
route print

===========================================================================
Schnittstellenliste
0x1 ........................... MS TCP Loopback interface
0x2 ...00 13 d4 52 1e 91 ...... Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter, Copper RJ-45 - Paketplaner-Miniport
0x3 ...08 00 27 00 84 a1 ...... VirtualBox Host-Only Ethernet Adapter - Paketplaner-Miniport
0x50005 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
0x50006 ...aa aa aa aa aa 00 ...... Shrew Soft Virtual Adapter - Paketplaner-Miniport
===========================================================================
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway   Schnittstelle  Anzahl
          0.0.0.0          0.0.0.0    192.168.178.1  192.168.178.207	  1
       77.188.0.0      255.255.0.0   77.188.138.120  77.188.138.120	  1
   77.188.138.120  255.255.255.255        127.0.0.1       127.0.0.1	  50
   77.255.255.255  255.255.255.255   77.188.138.120  77.188.138.120	  50
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1	  1
      169.254.0.0      255.255.0.0     192.168.56.1    192.168.56.1	  20
     192.168.56.0    255.255.255.0     192.168.56.1    192.168.56.1	  20
     192.168.56.1  255.255.255.255        127.0.0.1       127.0.0.1	  20
   192.168.56.255  255.255.255.255     192.168.56.1    192.168.56.1	  20
    192.168.178.0    255.255.255.0  192.168.178.207  192.168.178.207	  1
  192.168.178.207  255.255.255.255        127.0.0.1       127.0.0.1	  30
  192.168.178.255  255.255.255.255  192.168.178.207  192.168.178.207	  30
  193.189.244.205  255.255.255.255   77.188.138.120  77.188.138.120	  1
    213.20.59.193  255.255.255.255   77.188.138.120  77.188.138.120	  1
    213.20.108.19  255.255.255.255   77.188.138.120  77.188.138.120	  1
        224.0.0.0        240.0.0.0     192.168.56.1    192.168.56.1	  20
        224.0.0.0        240.0.0.0  192.168.178.207  192.168.178.207	  30
        224.0.0.0        240.0.0.0   77.188.138.120  77.188.138.120	  1
  255.255.255.255  255.255.255.255   77.188.138.120  77.188.138.120	  1
  255.255.255.255  255.255.255.255     192.168.56.1    192.168.56.1	  1
  255.255.255.255  255.255.255.255  192.168.178.207               2	  1
  255.255.255.255  255.255.255.255  192.168.178.207  192.168.178.207	  1
Standardgateway:     192.168.178.1
===========================================================================
St„ndige Routen:
  Keine
Code:
nslookup www.ebay.de
Server:  mgr1.brm9.mediaWays.net
Address:  213.20.108.19

Name:    hp-intl-de.ebay.com
Addresses:  66.211.181.20, 66.135.200.28, 66.135.200.146, 66.211.181.12
	  66.211.181.16
Aliases:  www.ebay.de
Code:
tracert 193.99.144.85

Routenverfolgung zu www.heise.de [193.99.144.85]  ber maximal 30 Abschnitte:
  1     *        *        *     Zeitberschreitung der Anforderung.
  2     *        *        *     Zeitberschreitung der Anforderung.
  3     *        *        *     Zeitberschreitung der Anforderung.
  4     *        *        *     Zeitberschreitung der Anforderung.
  5     *        *        *     Zeitberschreitung der Anforderung.
  6     *        *        *     Zeitberschreitung der Anforderung.
(...)
Code:
arp -a

Schnittstelle: 192.168.178.207 --- 0x50006
  Internetadresse       Physikal. Adresse     Typ
  192.168.178.1         bb-bb-bb-bb-bb-00     dynamisch
und dann habe ich mal noch einen ping auf die FritzBox gemacht:
Code:
ping 192.168.178.1

Ping wird ausgefhrt fr 192.168.178.1 mit 32 Bytes Daten:

Antwort von 192.168.178.1: Bytes=32 Zeit=48ms TTL=64
Antwort von 192.168.178.1: Bytes=32 Zeit=50ms TTL=64
Antwort von 192.168.178.1: Bytes=32 Zeit=48ms TTL=64
Antwort von 192.168.178.1: Bytes=32 Zeit=49ms TTL=64

Ping-Statistik fr 192.168.178.1:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 48ms, Maximum = 50ms, Mittelwert = 48ms
Also der Tunnel zum lokalen Netz an der FritzBox funktioniert. Aber die Fritzbox verwirft offenbar alle Pakete, die nicht an 192.168.178.x gehen :-(

Hast Du noch eine Idee? - Habe ich irgendetwas falsch konfiguriert?

Danke,
Pfeffer.
 
Zuletzt bearbeitet:
Hallo,

du baust ne PPP Verbindung direkt in Windows auf? Kein Router dazwischen?

Bei den Screenshots hast du aber schon probiert, die Route zu verändern, richtig? Warum ist die Access List auf einen Host beschränkt?
 
ja, ich baue die PPP-Verbindung ohne Router dazwischen direkt aus XP auf (genaugenommen ist ein AccessPoint zwischen Notebook und DSL-Modem).

Warum die accesslist auf 1 IP beschränkt ist? - Weil auf dieser Seite des Tunnels ja nur 1 PC dran ist. Genau so steht es auch im ersten Posting im Mini-HowTo ( http://www.ip-phone-forum.de/showthread.php?t=189391 ).

Was meinst Du mit "Bei den Screenshots hast du aber schon probiert, die Route zu verändern, richtig?"?
Ich habe die Routen so gesetzt, wie ich meine, dass sie gesetzt sein müssten, damit der gesamte Internetverkehr über den Tunnel läuft. Ist mir dabei ein Fehler unterlaufen? Das habe ich ergänzt. Ansonsten habe ich die Policy in Shrew wie bei AVM empfohlen auf "include 192.168.178.0 mask 255.255.255.0" (und ansonsten auch alles wie empfohlen).

Gruß,
Pfeffer.
 
Zuletzt bearbeitet:
Hallo,

ich bin mir nicht sicher, ob dir dieses Mini Howto in diesem Fall weiterhilft. Der Ansatz von Shrew ist ein anderer, als der von der AVM Software.

Ich hätte einfach die Standard-Konfiguration aus dem Tool von AVM hergenommen. Damit lässt sich eine VPN Verbindung ja schon mal aufbauen, das Netz des VPN Servers ist erreichbar. Danach sind meines Erachtens drei Schritte nötig:
- Löschen des bisherigen Defaultgateways
- Erstellen einer Host Route auf den VPN Server mit dem ehemaligen Defaultgateway als Gateway
- Erstellen einer Default-Route mit dem VPN Server als Defaultgateway

Ich weiß nicht, ob die Access Policies der VPN Konfiguration auch in dem Fall greifen. Dann muss man ggf. noch mal dran an die access_list. Das Ziel der Pakete ist ja erst mal das Gateway und damit innerhalb der existierenden Access-Liste. Von daher geht es.

Ich mache es ganz ähnlich mit vpnc unter Linux und einem Cisco VPN Server (unser Firmen-VPN). vpnc erstellt ebenfalls ein virtuelles Interface, da lege ich ein paar clevere Routen an, und sofort geht auch der Internet-Traffic über VPN.
 
hmm - ich habe es auch ohne Änderung der accesslist versucht: das gleiche Ergebnis. Ich komme in das lokale Netz der Fritzbox, aber die Fritzbox verwirft alle Pakete, die nicht an das lokale Netz gerichtet sind.

Ich habe einen Mitschnitt mit wireshark auf dem virtuellen Interface gemacht: die Pakete gehen wirklich in den Tunnel. Gleichzeitig habe ich mit tcpdump auf der FritzBox die eingehenden Pakete aufgezeichnet. Das Ergebnis: die Pakete, die außerhalb der lokalen FritzBox addressiert sind, werden nicht im Klartext im Paketmitschnitt angezeigt. Die Pakete, die an das lokale Netz addressiert sind, werden hingegen im Klattext angezeigt.

Offenbar verhält sich Shrew unter Windows anders als unter Linux :-(

Noch eine Idee?

Gruß,
Pfeffer.
 
also:
Das Ergebnis ist bei mir fast das gleiche, ob ich Shrew in Windows oder in Linux verwende, um mich mit der FritzBox zu verbinden:
In beiden Fällen kann ich problemlos mit dem lokalen Netz der FritzBox kommunizieren, aber die FritzBox lässt mich nicht weiter.
Unter Linux bekomme ich bei einem ping auf web.de dann immer "Destination Host Unreachable", siehe http://www.ip-phone-forum.de/showpost.php?p=1433535&postcount=123 .

Vielleicht ist es irgendeine Einstellung in der FritzBox?

Bei mir ist bei "Alle Computer befinden sich im selben IP-Netzwerk" ein Häkchen. Ob das vielleicht eine Auswirkugn hat?
sehr seltsam das.

@frank_m24:
Hast Du einen Fehler in meiner Konfig gefunden?
Vielleicht vergleichen wir mal die Einstellungen in der FritzBox? - Ich habe jetzt mal - wie Du vorgeschlagen hattest - in der accesslist die Maske statt .255 mit .0 enden lassen. Ergebnis: die VPN-Verbindung kann ich zwar aufbauen, aber die FritzBox schickt jetzt alle Pakete von VPN-Client ins Nirwana, sprich: ein Ping auf 192.168.178.1 (die Fritzbox) timed out :-(

Gruß,
Pfeffer.
 
Zuletzt bearbeitet:
so, ich habe es endlich geschafft mit dem Windows-Shrew-Client Version 2.1.4 den gesamten Internetverkehr über das VPN zu schicken.

Anleitung:

1.
In shrew eine config anlegen, wie im VPN-Protal von avm angegeben: http://www.avm.de/de/Service/Servic...l/VPN_Interoperabilitaet/15729.php?portal=VPN


2.
die fritzbox.cfg muss an 2 Stellen folgendermaßen angepasst werden:
a)
Code:
                phase2localid {
                        ipnet {
                                ipaddr = [color=red][s]192.168.100.0[/s][/color][color=blue]0.0.0.0[/color];
                                mask = [color=red][s]255.255.255.0[/s][/color][color=blue]0.0.0.0[/color];
                        }
                }
b)
Code:
                accesslist = 
                             "permit ip [color=red][s]192.168.100.0 255.255.255.0[/s][/color][color=blue]any[/color] 192.168.100.201 255.255.255.255";
Wobei das lokale Netz der FritzBox 192.168.100.x ist und der VPN-Client die IP 192.168.100.201 hat. Die Werte müssen evtl. angepasst werden. Wenn man es nicht geändert hat, dann ist das lokale Netz 192.168.178.x. Da in der AVM-Beispiel-Konfiguration aber 192.168.100.x verwendet wird, habe ich es hier auch getan.
Rot durchgestrichen ist der Text, der aus der Beispielkonfiguration von AVM gelöscht und blau der, der an seiner Stelle eingefügt werden muss.

3.
Die angepassten Einstellungen in die FritzBox importieren.

4.
In Shrew muss man unter dem Reiter "Policy" als eine Policy "include, Adress 0.0.0.0, Netmask 0.0.0.0" hinzufügen.
[veraltet:]
In älteren Versionen von Shrew wurde dies in der Grafischen Benutzeroberfläche verhindert (man bekommt die Meldung "The network mask you have specified is invalid"), darum musste man einen anderen Weg finden, 0.0.0.0 dort einzu tragen. Es gab 2 Möglichkeiten:
A)
In Shrew die nach avm-Anleitung angelegte Konfuguration über das Menü /file/export irgendwo abspeichern und mit einem Texteditor die letzte Zeile so ändern:
Code:
s:policy-list-include:[color=red][s]192.168.100.0 / 255.255.255.0[/s][/color][color=blue]0.0.0.0 / 0.0.0.0[/color]
Diese Datei über das Menü /file/import wieder importieren, dabei muss man der Konfiguration einen neuen Namen geben. Dann hat man 2. Nur über die 2. wird der gesamte Internetverkehr über den Tunnel geroutet. Die erste Konfig kann gelöscht werden.
B)
Anstelle dieses Weges über Export/Texteditor/Import kann man auch die VPN-Konfiguration direkt mit dem regeditor bearbeiten. Dazu müssen die beiden entsprechenden Schlüssel unter HKEY_CURRENT_USER\Software\ShrewSoft\vpn\site auf 0.0.0.0 gesetzt werden.

[Ende des veralteten Teils]
5.
Dann muss man noch eine Host-Route setzen, damit der IPSec-Verkehr nicht auch durch den Tunnel läuft. Dazu muss man die IP der FritzBox herausfinden:
Code:
ping <fritzbox>.dyndns.org
liefert die ip, z.B. 1.2.3.4. Dabei ist <fritzbox>.dyndns.org die web-Adresse, über die die FritzBox im Internet zu erreichen ist.
Dann brauchen wir noch die IP, über die die FritzBox geroutet werden soll.
Code:
route print
liefert (vor dem VPN-Verbindungsaufbau!) unter Standard-Gateway die gesuchte Information, z.B. 2.2.2.2
dann die Host-Route hinzufügen:
Code:
route add 1.2.3.4 mask 255.255.255.255 2.2.2.2

6.
Die Verbindung herstellen :)

EDIT: Schritte 5 und 6 können durch die neu angehängte Batch-Datei automatisch erledigt werden. Die angehängte Datei entpacken und in das Verzeichnis von shrew speichern, dorthin, wo auch die ipsecc.exe liegt. Das ist in der Regel <C:\Programme\ShrewSoft\VPN Client>.
Durch Doppelklick im Datei-Explorer kann setroutes.bat gestartet werden. Die setroutes.bat fragt nach der VPN-Konfig (wenn mehr als 1 in Shrew angelegt ist), setzt automatisch die Host-Route zu dem vpn-Server und startet den VPN-Client von Shrew. Nach Beenden des VPN-Clients wird die Host-Route wieder gelöscht.
Wenn man nicht immer die Konfig auswählen möchte, kann man den Namen der VPN-Konfig der setroutes.bat auch als Parameter übergeben. Wenn der Name Leerzeichen enthält, muss er in " eingeschlossen werden.

Gruß,
Pfeffer.
 

Anhänge

  • setroutes.zip
    1 KB · Aufrufe: 467
Zuletzt bearbeitet:
Danke für die Info. Also gut zu wissen das es prinzipiell geht.
Und wie gehts unter Linux?
 
frank_m24 behauptet ja immer, unter Linux müsste man nur die Routen setzen. Bei meinen Versuchen hat es mit "nur Routen setzen" auch unter Knoppix nicht funktioniert.

Ich würde erwarten, dass es genauso funktioniert, wie unter Windows. Es ist etwas leichter, weil unter Linux die grafische Benutzeroberfläche von Shrew (ikea) das Setzen der Policy "include 0.0.0.0 / 0.0.0.0" nicht verhindert, sondern direkt möglich ist.
Es ist dabei zu beachten, dass shrew die Routen für die unter Policy eingetragenen Netze automatisch setzt. Das bedeutet, dass die Hostroute zum VPN-Server unbedingt vor dem Verbinungsaufbau gesetzt werden muss.

Gruß,
Pfeffer.
 
so, ich habe es endlich geschafft mit dem Windows-Shrew-Client Version 2.1.4 den gesamten Internetverkehr über das VPN zu schicken.

...
die fritzbox.cfg muss an 2 Stellen folgendermaßen angepasst werden:
a)
Code:
                phase2localid {
                        ipnet {
                                ipaddr = [color=red][s]192.168.100.0[/s][/color][color=blue]0.0.0.0[/color];
                                mask = [color=red][s]255.255.255.0[/s][/color][color=blue]0.0.0.0[/color];
                        }
                }
b)
Code:
                accesslist = 
                             "permit ip [color=red][s]192.168.100.0 255.255.255.0[/s][/color][color=blue]any[/color] 192.168.100.201 255.255.255.255";
Wobei das lokale Netz der FritzBox 192.168.100.x ist und der VPN-Client die IP 192.168.100.201 hat.
...
Gruß,
Pfeffer.

Zunächst mal vielen Dank an Pepper, ich habs mit seiner Hilfe nun auch unter Linux geschafft.

Ich hab hier noch eine Anleitung der c't (Heft 21/2009) vor mir, die das Problem den ganzen Internetverkehr durch das VPN zu schicken auch angeht. Dabei wird beschrieben, wie der VPN Client Fernzugang angepasst wird.

Die Modifizierung in der Fritzbox ist aber eine andere:
Dabei wird die accesslist ergänzt, so dass dann ein zweiter permit Eintrag dazukommt.
Code:
accesslist = "permit ip 192.168.100.0 255.255.255.0 192.168.100.201 255.255.255.255",
             "permit ip any 192.168.100.201 255.255.255.255";

Mir stellt sich die Frage, ob man nicht Shrew so einstellen kann, dass es auch mit einem wie oben beschrieben geänderten Router betrieben werden kann. Dann hat man die Wahl, sowohl Fritzfernzugang als auch Shrew als Client zu betreiben.

Der Fritzfernzugang wird wie folgt angepasst: Die erste Zeile bleibt, die anderen 4 kommen dazu.
Code:
accesslist = "permit ip 192.168.100.0 255.255.255.0",
             "reject udp any any 53",
             "reject udp any any 500",
             "reject udp any any 4500",
             "permit ip any any";
 
Zuletzt bearbeitet:
Erstmal noch eine Rückfrage: Habe ich das richtig verstanden, dass auch bei Dir, mit Shrew nicht ging, ohne bei phase2localid 0.0.0.0 einzutragen? oder besser formuliert (mit etwas weniger "nicht" im Satz): Damit es ging, musstest Du 0.0.0.0 bei phase2localid eintragen?

Die reject-Zeilen in der Konfig für den FritzFernzugang erfüllen die gleichen Funktionen wie das (manuelle) Setzen der Routen bei Shrew.

Ansonsten probiere doch mal folgendes:
Mach es auf der FritzBox genauso wie für den Fritz!Fernzugang und trage in Shrew folgene Policies ein:
"include 192.168.100.0 / 255.255.255.0"
"include 0.0.0.0 / 0.0.0.0"

Funktioniert es damit?

Gruß,
Pfeffer.
 
Noch ein Hinweis zu Shrew unter Windows XP:
Es scheint auf den gebundenen Interfaces manchmal Pakete "wegzusaugen". In einer Virtuellen Maschine (wie z.B. Virtual Box), die auf einem Host läuft, auf dem Shrew installiert ist, funktionierten DNS-Anfragen nicht mehr. Offenbar "klaut" Shrew die Anfragen oder die Antworten vom DNS-Server. Ich habe das probierrt auf einer virtuell gebridgtem Netzwerkkarte. Wenn man im Windows Host-System die Bindung der Netzwerkkarte an den Shrew MiniPort-Treiber raus nimmt, dann funktionieren die DNS-Anfragen im Gast-System in der Virtuellen Maschine wieder.

Gruß,
Pfeffer.
 
Zuletzt bearbeitet:
Zu deinem Post heut nachmittag:
Ich hab mal das von c't empfohlene Setup für die Fritzbox gemacht (erzeugt mit Fritzbox Tool, ohne phase usw, wie oben beschrieben nur die eine Zeile ergänzt).
Wenn ich dann dein script aufrufe und in Shrew die Policies wie in deinem letzte Post setze, omme ich nicht mehr ins Internet, nur noch in mein entferntes Netz. Ich glaube, das ist sie Stelle an der du auch steckengeblieben bist, wenn ich die älteren Posts sehen um dann erfolgreich einen anderen Weg zu gehen.
 
Zuletzt bearbeitet:
ja, so ist es. Deswegen hat es so lange gedauert, bis ich eine Lösung hatte. Aber ich dachte, vielleicht probiert es jemand anders nochmal - vielleicht habe ich beim Testen ja immer den gleichen Fehler gemacht.
Jetzt die Ursache zu finden, ist noch man nen ganzes Stück Arbeit. Man müsste die Pakete analysieren und herausfinden, was da hakt. Das interessiert mich schon, aber da wir eine Lösung haben... weiß ich nicht, ob sich der Aufwand lohnt. Man müsste schließlich
a) herausfinden, wie sich die FritzBox genau verhält
b) herausfinden, wie sich Shrew genau verhält
c) nachschauen, was in den Spezifikationen steht, wie sich beide verhalten sollten.

Einfacher wäre das ganze, wenn man ein laufendes Fritz!Fernzugang hätte, mit dem man die Pakete vergleichen könnte. Bei mir läuft das aber nicht.

Gruß,
Pfeffer.
 
Also der Fritzfernzugang funktioniert bei mir schon (mit der beschriebenen Modifikation geht auch alles durch den Tunnel). Nur eben entweder der oder Shrew. Und FFZ gibts nicht für Linux.
Und hast auch rech, mit einer bereits vorhandenen Lösung -nochmal danke!- sinkt klar die Motivation. Gute Woche!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.